]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Create hierarchical demo Makefile.
authorslontis <shane.lontis@oracle.com>
Mon, 20 Mar 2023 05:08:38 +0000 (15:08 +1000)
committerMatt Caswell <matt@openssl.org>
Wed, 25 Oct 2023 08:21:07 +0000 (09:21 +0100)
Adds a Makefile with all, clean, and test targets.
This has only been added for demos that already contain Makefiles.
For problematic tests that require inputs, the test target does nothing.

(Note: Demos should be self contained and not require unknown external
inputs. This PR does not attempt to fix this.)

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20546)

12 files changed:
demos/Makefile [new file with mode: 0644]
demos/bio/Makefile
demos/cipher/Makefile
demos/digest/Makefile
demos/encode/Makefile
demos/encrypt/Makefile
demos/kdf/Makefile
demos/keyexch/Makefile [new file with mode: 0644]
demos/mac/Makefile
demos/pkey/Makefile
demos/signature/Makefile
demos/sslecho/makefile

diff --git a/demos/Makefile b/demos/Makefile
new file mode 100644 (file)
index 0000000..4c807a0
--- /dev/null
@@ -0,0 +1,14 @@
+MODULES=bio digest encode encrypt kdf keyexch mac pkey signature sslecho
+
+all:
+       @set -e; for i in $(MODULES); do \
+               ${MAKE} -C $$i all; \
+       done
+clean:
+       @set -e; for i in $(MODULES); do \
+               ${MAKE} -C $$i clean; \
+       done
+test:
+       @set -e; for i in $(MODULES); do \
+               ${MAKE} -C $$i test; \
+       done
index 86f19d4df3af7c431dc329d72c383491cd3a409b..ca4dee851fa68d219f3b45d3d6d07775b3987805 100644 (file)
@@ -18,6 +18,8 @@ LDFLAGS = $(OPENSSL_LIBS_LOCATION) -lssl -lcrypto $(EX_LIBS)
 
 all: client-arg client-conf saccept sconnect server-arg server-cmod server-conf
 
+test:
+
 client-arg: client-arg.o
 client-conf: client-conf.o
 saccept: saccept.o
index 81f526535e20f626ec38bafa6bcd150ceb53baf7..df6ebeb3b66c56946ce6a3f458c348f854cdedd4 100644 (file)
@@ -13,7 +13,9 @@
 CFLAGS = $(OPENSSL_INCS_LOCATION)
 LDFLAGS = $(OPENSSL_LIBS_LOCATION) -lssl -lcrypto
 
-all: aesccm aesgcm aeskeywrap ariacbc
+TESTS=aesccm aesgcm aeskeywrap ariacbc
+
+all: $(TESTS)
 
 aesccm: aesccm.o
 aesgcm: aesgcm.o
@@ -25,3 +27,11 @@ aesccm aesgcm aeskeywrap ariacbc:
 
 clean:
        $(RM) aesccm aesgcm aeskeywrap ariacbc *.o
+
+.PHONY: test
+test: all
+       @echo "\nCipher tests:"
+       @set -e; for tst in $(TESTS); do \
+               echo "\n"$$tst; \
+               LD_LIBRARY_PATH=../.. ./$$tst; \
+       done
index 0bfb6dd5f04470038f9796728f2552ea1660c1bf..d72a9d095b5fc74215c449f596eaea59129da5f6 100644 (file)
@@ -7,7 +7,9 @@ CFLAGS = -I../../include -g -Wall
 LDFLAGS = -L../..
 LDLIBS = -lcrypto
 
-all: EVP_MD_demo EVP_MD_stdin EVP_MD_xof BIO_f_md
+TESTS=EVP_MD_demo EVP_MD_stdin EVP_MD_xof BIO_f_md
+
+all: $(TESTS)
 
 %.o: %.c
        $(CC) $(CFLAGS) -c $<
@@ -17,7 +19,14 @@ EVP_MD_stdin: EVP_MD_stdin.o
 EVP_MD_xof: EVP_MD_xof.o
 BIO_f_md: BIO_f_md.o
 
-test: ;
+.PHONY: test
+# Since some of these tests use stdin we use the source file as stdin when running the exes
+test: all
+       @echo "\nDigest tests:"
+       @set -e; for tst in $(TESTS); do \
+               echo "\n"$$tst; \
+               cat $$tst.c | ./$$tst; \
+       done
 
 clean:
-       $(RM) *.o EVP_MD_demo EVP_MD_stdin EVP_MD_xof BIO_f_md
+       $(RM) *.o $(TESTS)
index b88d76b51de353254321be7edea18909dda3587c..9be11794b0082acdb92e97956d3e2630191c2709 100644 (file)
@@ -7,14 +7,16 @@ CFLAGS = -I../../include -g -Wall
 LDFLAGS = -L../..
 LDLIBS = -lcrypto
 
-all: ec_encode rsa_encode
+TESTS=ec_encode rsa_encode
+
+all: $(TESTS)
 
 %.o: %.c
        $(CC) $(CFLAGS) -c $<
 
 %_encode: %_encode.o
 
-test: ;
+test:
 
 clean:
-       $(RM) *.o rsa_encode ec_encode
+       $(RM) *.o $(TESTS)
index d07dc0caedc14b5054e6425fbd97a371904878e7..6d4e0606685ed0ada46afe209b8a08d5f1100c14 100644 (file)
@@ -7,14 +7,22 @@ CFLAGS = -I../../include -g
 LDFLAGS = -L../..
 LDLIBS = -lcrypto
 
-all: rsa_encrypt
+TESTS=rsa_encrypt
+
+all: $(TESTS)
 
 %.o: %.c
        $(CC) $(CFLAGS) -c $<
 
 rsa_encrypt: rsa_encrypt.o
 
-test: ;
-
 clean:
-       $(RM) *.o rsa_encrypt
+       $(RM) *.o $(TESTS)
+
+.PHONY: test
+test: all
+       @echo "\nEncrypt tests:"
+       @set -e; for tst in $(TESTS); do \
+               echo "\n"$$tst; \
+               LD_LIBRARY_PATH=../.. ./$$tst; \
+       done
index 364a104d79c6999871b557ecf4b420614191862c..28ad7209b10cb18cb1b9010b0d67a27d37bbfbb6 100644 (file)
@@ -7,7 +7,9 @@ CFLAGS = -I../../include -g
 LDFLAGS = -L../..
 LDLIBS = -lcrypto
 
-all: hkdf pbkdf2 scrypt argon2
+TESTS=hkdf pbkdf2 scrypt argon2
+
+all: $(TESTS)
 
 %.o: %.c
        $(CC) $(CFLAGS) -c $<
@@ -15,8 +17,15 @@ all: hkdf pbkdf2 scrypt argon2
 hkdf: hkdf.o
 pbkdf2: pbkdf2.o
 scrypt: scrypt.o
-
-test: ;
+argon2: argon2.o
 
 clean:
-       $(RM) *.o hkdf pbkdf2 scrypt argon2
+       $(RM) *.o $(TESTS)
+
+.PHONY: test
+test: all
+       @echo "\nKDF tests:"
+       @set -e; for tst in $(TESTS); do \
+               echo "\n"$$tst; \
+               LD_LIBRARY_PATH=../.. ./$$tst; \
+       done
diff --git a/demos/keyexch/Makefile b/demos/keyexch/Makefile
new file mode 100644 (file)
index 0000000..24243e1
--- /dev/null
@@ -0,0 +1,28 @@
+#
+# To run the demos when linked with a shared library (default):
+#
+#    LD_LIBRARY_PATH=../.. ./x25519
+
+CFLAGS = -I../../include -g -Wall
+LDFLAGS = -L../..
+LDLIBS = -lcrypto
+
+TESTS=x25519
+
+all: $(TESTS)
+
+%.o: %.c
+       $(CC) $(CFLAGS) -c $<
+
+%x25519: %x25519.o
+
+.PHONY: test
+test: all
+       @echo "\nKeyExchange tests:"
+       @set -e; for tst in $(TESTS); do \
+               echo "\n"$$tst; \
+               LD_LIBRARY_PATH=../.. ./$$tst; \
+       done
+
+clean:
+       $(RM) *.o $(TESTS)
index 00d2d8dbe64aca28c6385e002ca299a8e4fa8820..629e77dfc2da4c1b72ed9c69b08be59f3ef4e964 100644 (file)
@@ -11,7 +11,9 @@
 CFLAGS = $(OPENSSL_INCS_LOCATION) -Wall
 LDFLAGS = $(OPENSSL_LIBS_LOCATION) -lssl -lcrypto
 
-all: gmac hmac-sha512 cmac-aes256 poly1305
+TESTS=gmac hmac-sha512 cmac-aes256 poly1305
+
+all: $(TESTS)
 
 gmac: gmac.o
 hmac-sha512: hmac-sha512.o
@@ -22,4 +24,12 @@ gmac hmac-sha512 cmac-aes256 poly1305:
        $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
 
 clean:
-       $(RM) gmac hmac-sha512 cmac-aes256 poly1305 *.o
+       $(RM) *.o $(TESTS)
+
+.PHONY: test
+test: all
+       @echo "\nMAC tests:"
+       @set -e; for tst in $(TESTS); do \
+               echo "\n"$$tst; \
+               LD_LIBRARY_PATH=../.. ./$$tst; \
+       done
index 9e7013003d6138b23b682ecd10cb262863757f57..d84fcd634f6ff63f6b8e34e005c30d6e7a7000e6 100644 (file)
@@ -12,8 +12,10 @@ CFLAGS = -I../../include -g -Wall
 LDFLAGS = -L../..
 LDLIBS = -lcrypto
 
-all: EVP_PKEY_EC_keygen EVP_PKEY_RSA_keygen EVP_PKEY_DSA_keygen \
-        EVP_PKEY_DSA_paramgen EVP_PKEY_DSA_paramvalidate EVP_PKEY_DSA_paramfromdata \
+TESTS=EVP_PKEY_EC_keygen EVP_PKEY_RSA_keygen EVP_PKEY_DSA_keygen \
+EVP_PKEY_DSA_paramgen EVP_PKEY_DSA_paramvalidate EVP_PKEY_DSA_paramfromdata
+
+all: $(TESTS)
 
 %.o: %.c dsa.inc
        $(CC) $(CFLAGS) -c $<
@@ -30,8 +32,13 @@ EVP_PKEY_DSA_paramvalidate: EVP_PKEY_DSA_paramvalidate.o
 
 EVP_PKEY_DSA_paramfromdata: EVP_PKEY_DSA_paramfromdata.o
 
-test: ;
-
 clean:
-       $(RM) *.o EVP_PKEY_EC_keygen EVP_PKEY_RSA_keygen EVP_PKEY_DSA_keygen \
-             EVP_PKEY_DSA_paramgen EVP_PKEY_DSA_paramfromdata EVP_PKEY_DSA_paramvalidate
+       $(RM) *.o $(TESTS)
+
+.PHONY: test
+test: all
+       @echo "\nPKEY tests:"
+       @set -e; for tst in $(TESTS); do \
+               echo "\n"$$tst; \
+               LD_LIBRARY_PATH=../.. ./$$tst; \
+       done
index 2a7c1960070725210346b78b6023ce60c1e0236f..50f1c3452d4dbc8eac7f2e37d72aa3f9744716c8 100644 (file)
@@ -11,7 +11,9 @@ CFLAGS = -I../../include -g -Wall
 LDFLAGS = -L../..
 LDLIBS = -lcrypto
 
-all: EVP_EC_Signature_demo EVP_DSA_Signature_demo EVP_ED_Signature_demo rsa_pss_direct rsa_pss_hash
+TESTS=EVP_EC_Signature_demo EVP_DSA_Signature_demo EVP_ED_Signature_demo rsa_pss_direct rsa_pss_hash
+
+all: $(TESTS)
 
 %.o: %.c
        $(CC) $(CFLAGS) -c $<
@@ -22,7 +24,13 @@ EVP_ED_Signature_demo: EVP_ED_Signature_demo.o
 rsa_pss_direct: rsa_pss_direct.o
 rsa_pss_hash: rsa_pss_hash.o
 
-test: ;
-
 clean:
-       $(RM) *.o EVP_EC_Signature_demo EVP_DSA_Signature_demo EVP_ED_Signature_demo rsa_pss_direct rsa_pss_hash
+       $(RM) *.o $(TESTS)
+
+.PHONY: test
+test: all
+       @echo "\nSignature tests:"
+       @set -e; for tst in $(TESTS); do \
+               echo "\n"$$tst; \
+               LD_LIBRARY_PATH=../.. ./$$tst; \
+       done
index 6e639917d4f15c00d12996a042897eb75afa4cc1..1e91567277afe2ae3e0065ccc03ffb95f4ef7844 100644 (file)
@@ -8,5 +8,7 @@ $(PROG): main.c
 
        $(CC) -O0 -g3 -W -Wall -I../../include -L../../ -o $(PROG) main.c -lssl -lcrypto
 
+test:
+
 clean:
        rm -rf $(PROG) *.o *.obj