From dded798f1a038c8482fcc5d41824a9161d0a60c2 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Tue, 4 Dec 2018 08:15:59 +0100 Subject: [WIP] screw with folders organization --- test/common.mk | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 test/common.mk (limited to 'test/common.mk') diff --git a/test/common.mk b/test/common.mk new file mode 100644 index 0000000..6d4cb28 --- /dev/null +++ b/test/common.mk @@ -0,0 +1,66 @@ +# use "make VERBOSE=1" to have full commands printed out. +VERBOSE = 0 +ifeq ($(VERBOSE),1) +Q = +else +Q = @ +endif + + +test_dir = $(dir $(lastword $(MAKEFILE_LIST))) +root_dir = $(test_dir)/.. +results_dir = $(root_dir)/results +src_dir = $(root_dir)/src + + +nist_flags = -std=c99 -Wall -Wextra -Wshadow -fsanitize=address,undefined -O2 +CFLAGS += -I$(src_dir) -I$(variant_dir) $(nist_flags) -Werror +LDFLAGS += $(nist_flags) + + +.PHONY: test + + +$(results_dir): + @ mkdir -p $@ + +$(results_dir)/%.o: $(src_dir)/%.c + @ mkdir -p $(dir $@) + @ echo "CC $@" + $(Q) gcc -c $< $(CFLAGS) -o $@ + +$(results_dir)/test-%: $(results_dir)/test/test-%.o + @ echo "LD $@" + $(Q) gcc $^ $(LDFLAGS) -o $@ + +$(results_dir)/traces-%: $(results_dir)/test/traces-%.o + @ echo "LD $@" + $(Q) gcc $^ $(LDFLAGS) -o $@ + + +$(results_dir)/$(src_dir)/cipher.o: $(src_dir)/cipher.h \ +$(src_dir)/tweakey.h $(src_dir)/constants.h $(src_dir)/parameters.h \ +$(variant_dir)/_parameters.h + +$(results_dir)/$(src_dir)/constants.o: $(src_dir)/constants.h + +$(results_dir)/$(src_dir)/lilliput-ae-i.o: $(src_dir)/lilliput-ae.h \ +$(src_dir)/cipher.h $(src_dir)/parameters.h \ +$(variant_dir)/_parameters.h + +$(results_dir)/$(src_dir)/lilliput-ae-ii.o: $(src_dir)/lilliput-ae.h \ +$(src_dir)/cipher.h $(src_dir)/parameters.h \ +$(variant_dir)/_parameters.h + +$(results_dir)/$(src_dir)/tweakey.o: $(src_dir)/tweakey.h \ +$(src_dir)/constants.h $(src_dir)/parameters.h \ +$(variant_dir)/_parameters.h + +$(results_dir)/test-*.o: $(src_dir)/test-helpers.h \ +$(src_dir)/parameters.h $(variant_dir)/_parameters.h + + +# TODO: should add order-only prerequisites to remove mkdirs inside recipes +# TODO: add valgrind, although it does not seem to play well with ASAN +# TODO: should use gcc -M... to generate .o -> .h dependencies +# TODO: move debug.h and test-helpers.h here -- cgit v1.2.3