summaryrefslogtreecommitdiffstats
path: root/demos/digest
diff options
context:
space:
mode:
authorJames Muir <james@openssl.org>2023-11-10 14:02:00 -0500
committerTomas Mraz <tomas@openssl.org>2023-11-15 08:43:23 +0100
commit86db958835d1f8ba9ce49a9f93b5309c3d13b91c (patch)
tree39e47920c615243afc3dd7df206a54ec05fa1045 /demos/digest
parent56aa3e8d1a286e11e56d9a9f6373c33a87a69ff4 (diff)
demos: tidy up makefiles, fix warnings
Update makefiles so that consistent patterns are used. Object files are compiled from source using an implicit rule (but using our CFLAGS); for linking, we give an explicit rule. Ensure that "make test" works in each subdirectory (even if it does not actually run any applications). The top-level demo makefile now works. The makefiles are not make-agnostic. e.g. they use the variable $(RM) in "clean" recipes, which is defined in gnu-make but may not be defined in others. Part of #17806 Testing: $ cd demo $ make test Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22698)
Diffstat (limited to 'demos/digest')
-rw-r--r--demos/digest/Makefile29
1 files changed, 17 insertions, 12 deletions
diff --git a/demos/digest/Makefile b/demos/digest/Makefile
index d72a9d095b..05fb299cc3 100644
--- a/demos/digest/Makefile
+++ b/demos/digest/Makefile
@@ -1,32 +1,37 @@
#
-# To run the demos when linked with a shared library (default):
+# To run the demos when linked with a shared library (default) ensure
+# that libcrypto is on the library path. For example:
#
# LD_LIBRARY_PATH=../.. ./EVP_MD_demo
-CFLAGS = -I../../include -g -Wall
-LDFLAGS = -L../..
-LDLIBS = -lcrypto
+TESTS = 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
+CFLAGS = -I../../include -g -Wall
+LDFLAGS = -L../..
+LDLIBS = -lcrypto
all: $(TESTS)
-%.o: %.c
- $(CC) $(CFLAGS) -c $<
-
EVP_MD_demo: EVP_MD_demo.o
EVP_MD_stdin: EVP_MD_stdin.o
EVP_MD_xof: EVP_MD_xof.o
BIO_f_md: BIO_f_md.o
+$(TESTS):
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS)
+
+clean:
+ $(RM) *.o $(TESTS)
+
.PHONY: test
-# Since some of these tests use stdin we use the source file as stdin when running the exes
+# Since some of these tests use stdin, we use the source file as stdin
+# when running the tests
test: all
@echo "\nDigest tests:"
@set -e; for tst in $(TESTS); do \
echo "\n"$$tst; \
cat $$tst.c | ./$$tst; \
done
-
-clean:
- $(RM) *.o $(TESTS)