From fadf8b519d9e3fa568dd4d29de473d3b23830677 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Thu, 26 Sep 2019 10:01:38 +0100 Subject: [PATCH] @@@ simplify makefile --- Subdir.sd.mk | 78 ++++++++++++++++------------------------------------ 1 file changed, 24 insertions(+), 54 deletions(-) diff --git a/Subdir.sd.mk b/Subdir.sd.mk index 5a07ab4..058fce1 100644 --- a/Subdir.sd.mk +++ b/Subdir.sd.mk @@ -122,12 +122,12 @@ endif TESTDIRS=stest mtest +CRYPTO_TESTS = keccak1600 sha3 f25519 x25519 ed25519 fgoldi x448 ed448 + &TARGETS_check = eax-aes-test.confirm eax-serpent-test.confirm \ eax-serpentbe-test.confirm ipaddrset.confirm \ x25519-test.confirm x448-test.confirm \ - keccak1600-test.confirm sha3-test.confirm \ - f25519-test.confirm x25519-test.confirm ed25519-test.confirm \ - fgoldi-test.confirm x448-test.confirm ed448-test.confirm + $(foreach c,$(CRYPTO_TESTS),$c-test.confirm) &TARGETS_fullcheck += $(&TARGETS_check) &TARGETS_fullcheck += msgcode-test.confirm @@ -170,43 +170,10 @@ ipaddrset.confirm: ipaddrset-test.py ipaddrset.py ipaddrset-test.expected diff -u $(srcdir)/ipaddrset-test.expected ipaddrset-test.new touch $@ -keccak1600-test: keccak1600-test.o keccak1600.o crypto-test.o - $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $^ - -keccak1600-test.confirm: keccak1600-test keccak1600-tests.in - ./keccak1600-test <$(srcdir)/keccak1600-tests.in - touch $@ - -sha3-test: sha3-test.o sha3.o keccak1600.o crypto-test.o +$(foreach c,$(CRYPTO_TESTS),$c-test): %-test: %-test.o crypto-test.o $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $^ -sha3-test.confirm: sha3-test sha3-tests.in - ./sha3-test <$(srcdir)/sha3-tests.in - touch $@ - -XDH_FUNCS = x25519 x448 -x25519_FIELD = f25519 -x448_FIELD = fgoldi -XDH_FIELDS = $(foreach f,$(XDH_FUNCS),$($f_FIELD)) - -$(addsuffix -test, $(XDH_FIELDS)): %-test: %-test.o %.o crypto-test.o - $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $^ - -$(addsuffix -test.o, $(XDH_FIELDS)): %-test.o: ec-field-test.c - $(CC) $(CPPFLAGS) $(ALL_CFLAGS) -c \ - -DFIELD=$* $< -o $@ - -$(addsuffix -test, $(XDH_FUNCS)): %-test: %-test.o %.o crypto-test.o - $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $^ -x25519-test: f25519.o -x448-test: fgoldi.o - -$(addsuffix -test.o, $(XDH_FUNCS)): %-test.o: xdh-test.c - $(CC) $(CPPFLAGS) $(ALL_CFLAGS) -c \ - -DXDH=$* -DFIELD=$($*_FIELD) \ - $< -o $@ - -$(addsuffix -test.confirm, $(XDH_FUNCS) $(XDH_FIELDS)): \ +$(foreach c,$(CRYPTO_TESTS),$c-test.confirm): \ %-test.confirm: %-test %-tests.in ./$*-test <$(srcdir)/$*-tests.in touch $@ @@ -216,20 +183,23 @@ $(addsuffix -test.confirm, $(XDH_FUNCS) $(XDH_FIELDS)): \ pubkeys.fl: ${srcdir}/pubkeys.fl.pl ${srcdir}/pubkeys.fl.pl >$@.tmp && mv -f $@.tmp $@ -ed25519-test: ed25519-test.o sha512.o f25519.o scaf.o ed25519.o crypto-test.o - $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $^ - -ed25519-test.confirm: ed25519-test ed25519-tests.in - ./ed25519-test <$(srcdir)/ed25519-tests.in - touch $@ - -ed448-test: ed448-test.o keccak1600.o sha3.o \ - fgoldi.o scaf.o ed448.o crypto-test.o - $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $^ - -ed448-test.confirm: ed448-test ed448-tests.in - ./ed448-test <$(srcdir)/ed448-tests.in - touch $@ +keccak1600-test: keccak1600.o +sha3-test: sha3.o keccak1600.o +f25519-test: f25519.o +x25519-test: x25519.o f25519.o +ed25519-test: sha512.o f25519.o scaf.o ed25519.o +fgoldi-test: fgoldi.o +x448-test: x448.o fgoldi.o +ed448-test: keccak1600.o sha3.o fgoldi.o scaf.o ed448.o + +f25519-test.o: ec-field-test.c + $(CC) $(CPPFLAGS) $(ALL_CFLAGS) -c -DFIELD=f25519 $< -o $@ +fgoldi-test.o: ec-field-test.c + $(CC) $(CPPFLAGS) $(ALL_CFLAGS) -c -DFIELD=fgoldi $< -o $@ +x25519-test.o: xdh-test.c + $(CC) $(CPPFLAGS) $(ALL_CFLAGS) -c -DXDH=x25519 -DFIELD=f25519 $< -o $@ +x448-test.o: xdh-test.c + $(CC) $(CPPFLAGS) $(ALL_CFLAGS) -c -DXDH=x448 -DFIELD=fgoldi $< -o $@ .PRECIOUS: eax-%-test @@ -268,8 +238,8 @@ clean:: $(RM) -f *.pyc *~ eax-*-test.confirm eax-*-test $(RM) -rf __pycache__ $(RM) -f msgcode-test.confirm msgcode-test - $(RM) -f $(addsuffix -test, $(XDH_FUNCS)) - $(RM) -f $(addsuffix -test.confirm, $(XDH_FUNCS)) + $(RM) -f $(addsuffix -test, $(CRYPTO_TESTS)) + $(RM) -f $(addsuffix -test.confirm, $(CRYPTO_TESTS)) realclean:: clean $(RM) -f *~ Makefile config.h \ -- 2.30.2