PROJECT_NAME = "galep-lpt"
OBJECTS =  src/o/galep-dev.o src/o/glp_devhw.o src/o/glp_dev_ioctl.o src/o/glp_basicio.o src/o/glp_hdwComm.o src/o/glp_cmdExecute.o src/o/glp_rtlstuff.o
ALLDEP_H = src/h/glp_devcfg.h src/h/glp_private.h src/h/glp_types.h
MAIN_SOURCE = src/cpp/galep-dev.c
MAIN_BINARY = $(PROJECT_NAME)
KERNELDIR = /usr/src/linux

CC = g++
MOC = moc
LIBS = 
INCLUDES = 
CPPFLAGS = -O1 -I$(INCLUDES)
DO = $(CC) -O2 -c -g -o $*.o
DO_ = gcc -c -g -o src/o/$*.o

all:    prepare\
        mainSource\
        bc\
        device\
        party



src/o/main.o: src/cpp/main.cpp src/h/main.h
	$(DO) src/cpp/main.cpp

src/o/%.o: src/cpp/%.cpp src/h/%.h $(ALLDEP_H)
	$(DO_) -D__KERNEL -O -Wall -I$(KERNELDIR)/include $<

src/o/%.o: src/cpp/%.c src/h/%.h $(ALLDEP_H)
	$(DO_) -D__KERNEL -O -Wall -I$(KERNELDIR)/include $<


upload: clean \
        tar \
        uploadNOW

release: clean \
         tar

device:
	if [ ! -e /dev/galep-lpt ]; then mknod /dev/galep-lpt c 42 0; fi

u:
	rmmod galep-lpt

l:
	insmod galep-lpt.o

bc:
	@make -s -C src/_scripts/ bc


mainSource: $(OBJECTS)
	ld -r $(OBJECTS) -o $(PROJECT_NAME).o

prepare: src/h/glp_device.h
	@make -s -C src/_scripts/ interface

party: mainSource
	@echo -e "\n\nDone!...\n"
	@make -s -C src/_scripts/ count-up

strip: mainSource
	@strip $(MAIN_BINARY)

install:
	echo "fertig."

tar:
	@make -s -C src/_scripts/ tar

clean:
	@make -s -C src/_scripts/ clean
	rm -f *.o
	rm -f src/o/* 
	rm -f $(PROJECT_NAME)

