all: hash_tester_eim trng_tester_eim hash_eim trng_extractor_eim

.c.o:
	gcc -c -Wall -o $@ $<

hash_tester_eim: hash_tester_eim.o novena-eim.o tc_eim.o
	gcc -o $@ $^

hash_tester_eim.o: hash_tester_eim.c tc_eim.h cryptech_memory_map.h

trng_tester_eim: trng_tester_eim.o novena-eim.o tc_eim.o
	gcc -o $@ $^

trng_tester_eim.o: trng_tester_eim.c tc_eim.h cryptech_memory_map.h

hash_eim: hash_eim.o novena-eim.o tc_eim.o
	gcc -o $@ $^

hash_eim.o: hash_eim.c tc_eim.h

trng_extractor_eim: trng_extractor_eim.o novena-eim.o tc_eim.o
	gcc -o $@ $^

trng_extractor_eim.o: trng_extractor_eim.c tc_eim.h cryptech_memory_map.h

novena-eim.o: novena-eim.c novena-eim.h

tc_eim.o: tc_eim.c tc_eim.h novena-eim.h

clean:
	rm -f *.o hash_tester_eim trng_tester_eim hash_eim trng_extractor_eim