# Makefile - Don Yang (uguu.org)
#
# 01/03/05


key = key.bin
immediate_bin = nanoka
generator_bin = nanoca
encoder_bin = enc
decoder_bin = dec
test_bin = test_enc
encoder_src = enc.c
decoder_src = dec.c
test_src = test_enc.c

.SUFFIXES: .c .o

.c.o:
	gcc -c -O3 -Wall -DNDEBUG -ansi -pedantic $< -o $@


all: $(immediate_bin) $(generator_bin)

test: $(encoder_bin) $(decoder_bin) $(test_bin)

$(encoder_bin): $(encoder_src)
	gcc -O3 -Wall -ansi -pedantic $< -o $@

$(decoder_bin): $(decoder_src)
	gcc -O3 -Wall -ansi -pedantic $< -o $@

$(test_bin): $(test_src)
	gcc -O3 -Wall -lpthread -lm $< -o $@

$(encoder_src) $(decoder_src) $(test_src): $(generator_bin)
	./$(generator_bin) $(key) -e $(encoder_src) -d $(decoder_src) -t $(test_src)

$(immediate_bin): nanoka-imm.o nanoka-core.o
	gcc $^ -o $@

$(generator_bin): nanoka-gen.o nanoka-core.o
	gcc $^ -o $@

nanoka-imm.o: nanoka-imm.c nanoka-core.h

nanoka-gen.o: nanoka-gen.c nanoka-core.h

nanoka-core.o: nanoka-core.c nanoka-core.h


clean:
	-rm -f *.o $(encoder_bin) $(decoder_bin) $(test_bin) $(immediate_bin) $(generator_bin)
	-rm -f $(encoder_src) $(decoder_src) $(test_src)

backup:
	-rm -f backup.tar.gz
	tar cf backup.tar *.c *.h *.pl *.txt *.bin Makefile makefile.w32
	gzip -9 backup.tar
