######################################
#
# Makefile for allin1
#
# 2004 aug 2 - Mario Pascucci
#
######################################


# General vars

CC = gcc
FLEX = flex
LIBFLAGS = -ggdb -Wall -O2 -fPIC
CFLAGS = -ggdb -Wall -O2
GENERATED = allin1 confparse.c
LIBRARIES = -L/usr/X11R6/lib -lXext -lX11 -lXpm -lm
MODULES = allin1.o dockhelper.o memory.o battery.o cpu.o \
	  network.o filesys.o confparse.o seti.o
INCLUDES = dockhelper.h memory.h battery.h cpu.h network.h filesys.h seti.h \
	    confparse.h

DEST_PATH = /usr/local

default: all

all: allin1

confparse.c: confparse.l
	$(FLEX) -o$@ -i -s $<

confparse.o: confparse.c confparse.h
	$(CC) $(CFLAGS) -c $<

dockhelper.o: dockhelper.c dockhelper.h
	$(CC) $(CFLAGS) -c $<

cpu.o: cpu.c dockhelper.h cpu.h
	$(CC) $(CFLAGS) -c $<

memory.o: memory.c memory.h dockhelper.h
	$(CC) $(CFLAGS) -c $<

seti.o: seti.c seti.h dockhelper.h
	$(CC) $(CFLAGS) -c $<

battery.o: battery.c battery.h batt.xpm dockhelper.h
	$(CC) $(CFLAGS) -c $<

network.o: network.c network.h net.xpm dockhelper.h
	$(CC) $(CFLAGS) -c $<

filesys.o: filesys.c filesys.h dockhelper.h
	$(CC) $(CFLAGS) -c $<

allin1.o: allin1.c $(INCLUDES)
	$(CC) $(CFLAGS) -c $<


allin1: $(MODULES)
	$(CC) $(CFLAGS) -o $@ $(MODULES) -DDEBUG $(LIBRARIES)


install: allin1
	mkdir -p $(DEST_PATH)/share/allin1 $(DEST_PATH)/bin $(DEST_PATH)/share/doc/allin1
	/usr/bin/install allin1 $(DEST_PATH)/bin
	/usr/bin/install -m 644 allin1.conf.example $(DEST_PATH)/share/allin1/allin1.conf

uninstall:
	rm -f $(DEST_PATH)/share/allin1/allin1.conf
	rm -f $(DEST_PATH)/bin/allin1

# clean up
clean:
	rm -f core core.* *~ $(GENERATED) *.o


.PHONY: all clean install uninstall

