GCC = gcc -Iinclude
LIBS = lib/libbits.a lib/libenv.a lib/libparse.a lib/libio.a lib/libptr.a \
       lib/libmemory.a
KEYLIBS = lib/libio.a lib/libbits.a lib/libmemory.a

all: bin/termlock

makekey: makekey.c $(KEYLIBS)
	$(GCC) -o makekey makekey.c -Llib -lio -lbits -lmemory
	
bin/termlock: termlock.o $(LIBS)
	$(GCC) -static -o termlock.tmp termlock.o \
		-Llib -lbits -lenv -lparse -lio -lptr -lmemory
	install -s -m 0711 termlock.tmp bin/termlock	
	
termlock.o: termlock.c
	$(GCC) -static -DTEMPKEY="$(TEMPKEY)" -c termlock.c

lib/libbits.a:
	make -C lib.bits

lib/libio.a:
	make -C lib.io

lib/libparse.a:
	make -C lib.parse

lib/libptr.a:
	make -C lib.ptr

lib/libenv.a:
	make -C lib.env

lib/libmemory.a:
	make -C lib.memory

allclean:
	for TEMP in io bits parse ptr env memory; do rm -f lib.$$TEMP/*.o; done	
	rm -f *.o makekey termlock.tmp bin/* lib/*
