diff options
author | James Muir <james@openssl.org> | 2023-11-10 14:02:00 -0500 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-11-15 08:43:23 +0100 |
commit | 86db958835d1f8ba9ce49a9f93b5309c3d13b91c (patch) | |
tree | 39e47920c615243afc3dd7df206a54ec05fa1045 /demos/digest | |
parent | 56aa3e8d1a286e11e56d9a9f6373c33a87a69ff4 (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/Makefile | 29 |
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) |