summaryrefslogtreecommitdiffstats
path: root/demos
diff options
context:
space:
mode:
authorslontis <shane.lontis@oracle.com>2023-03-20 15:08:38 +1000
committerMatt Caswell <matt@openssl.org>2023-10-25 09:21:07 +0100
commit66f4782f1452d6fbfab78822b340a99aaeacc2f0 (patch)
tree063d3ad8628b8b10260b4316531f78de9d83b0c1 /demos
parentdbbdb940d421daca4a65e765b5244bde6aed3f61 (diff)
Create hierarchical demo Makefile.
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)
Diffstat (limited to 'demos')
-rw-r--r--demos/Makefile14
-rw-r--r--demos/bio/Makefile2
-rw-r--r--demos/cipher/Makefile12
-rw-r--r--demos/digest/Makefile15
-rw-r--r--demos/encode/Makefile8
-rw-r--r--demos/encrypt/Makefile16
-rw-r--r--demos/kdf/Makefile17
-rw-r--r--demos/keyexch/Makefile28
-rw-r--r--demos/mac/Makefile14
-rw-r--r--demos/pkey/Makefile19
-rw-r--r--demos/signature/Makefile16
-rw-r--r--demos/sslecho/makefile2
12 files changed, 136 insertions, 27 deletions
diff --git a/demos/Makefile b/demos/Makefile
new file mode 100644
index 0000000000..4c807a0561
--- /dev/null
+++ b/demos/Makefile
@@ -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
diff --git a/demos/bio/Makefile b/demos/bio/Makefile
index 86f19d4df3..ca4dee851f 100644
--- a/demos/bio/Makefile
+++ b/demos/bio/Makefile
@@ -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
diff --git a/demos/cipher/Makefile b/demos/cipher/Makefile
index 81f526535e..df6ebeb3b6 100644
--- a/demos/cipher/Makefile
+++ b/demos/cipher/Makefile
@@ -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
diff --git a/demos/digest/Makefile b/demos/digest/Makefile
index 0bfb6dd5f0..d72a9d095b 100644
--- a/demos/digest/Makefile
+++ b/demos/digest/Makefile
@@ -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)
diff --git a/demos/encode/Makefile b/demos/encode/Makefile
index b88d76b51d..9be11794b0 100644
--- a/demos/encode/Makefile
+++ b/demos/encode/Makefile
@@ -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)
diff --git a/demos/encrypt/Makefile b/demos/encrypt/Makefile
index d07dc0caed..6d4e060668 100644
--- a/demos/encrypt/Makefile
+++ b/demos/encrypt/Makefile
@@ -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
diff --git a/demos/kdf/Makefile b/demos/kdf/Makefile
index 364a104d79..28ad7209b1 100644
--- a/demos/kdf/Makefile
+++ b/demos/kdf/Makefile
@@ -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
index 0000000000..24243e13a4
--- /dev/null
+++ b/demos/keyexch/Makefile
@@ -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)
diff --git a/demos/mac/Makefile b/demos/mac/Makefile
index 00d2d8dbe6..629e77dfc2 100644
--- a/demos/mac/Makefile
+++ b/demos/mac/Makefile
@@ -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
diff --git a/demos/pkey/Makefile b/demos/pkey/Makefile
index 9e7013003d..d84fcd634f 100644
--- a/demos/pkey/Makefile
+++ b/demos/pkey/Makefile
@@ -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
diff --git a/demos/signature/Makefile b/demos/signature/Makefile
index 2a7c196007..50f1c3452d 100644
--- a/demos/signature/Makefile
+++ b/demos/signature/Makefile
@@ -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
diff --git a/demos/sslecho/makefile b/demos/sslecho/makefile
index 6e639917d4..1e91567277 100644
--- a/demos/sslecho/makefile
+++ b/demos/sslecho/makefile
@@ -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