# set this to enable debugging
DEBUG = n

ifeq ($(DEBUG),y)
	DEBFLAGS = -O -g -DPICPROG_DEBUG
	CPPFLAGS = -O -Wall -g
else
	DEBFLAGS = -O2
	CPPFLAGS = -O2 -Wall
endif

.SUFFIXES:
.SUFFIXES: .cpp .o

CFLAGS = -D__KERNEL__ -DMODULE -Wall $(DEBFLAGS)
CC=gcc

CPP=g++

OBJS = binfile.o datafile.o fileloader.o mainclass.o programmer.o progutil.o

SRC = binfile.cpp datafile.cpp fileloader.cpp mainclass.cpp programmer.cpp \
	progutil.cpp

HDRS = binfile.h datafile.h fileloader.h mainclass.h programmer.h progutil.h

all:	picprog.o progutil

picprog.o: picprog.c picprog.h
	$(CC) $(CFLAGS) -c picprog.c 

progutil: $(OBJS)
	$(CPP) -o progutil $(OBJS)

.cpp.o: $(SRC) $(HDRS)
	$(CPP) $(CPPFLAGS) -c $<

install: picprog.o progutil
	install -m 644 -o root -g root picprog.o /lib/modules/`uname -r`/misc
	install -m 755 -o root -g root progutil /usr/local/bin
	install -m 644 -o root -g root progutil.1 /usr/local/man/man1
	depmod -a
	-mknod /dev/picp0 -m 666 c 120 0
	-mknod /dev/picp1 -m 666 c 120 1
	-mknod /dev/picp2 -m 666 c 120 2
	-mknod /dev/picp3 -m 666 c 120 3
clean:
	-rm *.o progutil *~

DISTDIR = picprog-0.2

dist:
	mkdir $(DISTDIR)
	ln $(SRC) $(HDRS) $(DISTDIR)
	ln picprog.c picprog.h progutil.1 CHANGES COPYING $(DISTDIR)
	ln AUTHORS README Makefile picprog.lsm $(DISTDIR)
	tar cvzf $(DISTDIR).tar.gz $(DISTDIR)
	rm -r $(DISTDIR)
