From 3ff640a80d49cc9be137943ffd0da3fc60b8042d Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sat, 16 Sep 2023 18:28:27 -0300 Subject: Add complete "Makefile" for standard packaging Also include a ".gitignore" with the derived assets. --- On the "Makefile", the canonical virtual targets implemented are: - "all": the default target name when no explicit name is given, or when one wants to build more than one target at once, such as: `make all check`. All it builds is the "libtweetnacl.a" library; - "check": NOOP, as there are no tests implemented; - "clean": removes the "tweetnacl.o" and "libtweetnacl.a" files, which represent 100% of the generated assets; - "install": uses `$(DESTDIR)`, `$(LIBDIR)`, `$(INCLUDEDIR)` and `$(SRCDIR)` to properly place the "libtweetnacl.a" library, the "tweetnacl.h" header and the "tweetnacl.c" source in the correct place. `$(LIBDIR)`, `$(INCLUDEDIR)` and `$(SRCDIR)` are defined based on `$(PREFIX)`; - "uninstall": a perfect mirror of "install", which removes 100% of the installed artifacts. --- .gitignore | 2 ++ Makefile | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..392b79d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/*.o +/*.a diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6b66dcd --- /dev/null +++ b/Makefile @@ -0,0 +1,35 @@ +.POSIX: +PREFIX = /usr +NAME = tweetnacl +LIBDIR = $(PREFIX)/lib +INCLUDEDIR = $(PREFIX)/include +SRCDIR = $(PREFIX)/src/$(NAME) + + +all: lib$(NAME).a + +lib$(NAME).a: lib$(NAME).a($(NAME).o) + +$(NAME).o: $(NAME).h + + +check: + +clean: + rm -f *.o *.a + + +install: all + mkdir -p \ + '$(DESTDIR)$(LIBDIR)' \ + '$(DESTDIR)$(INCLUDEDIR)' \ + '$(DESTDIR)$(SRCDIR)' + cp lib$(NAME).a '$(DESTDIR)$(LIBDIR)' + cp $(NAME).h '$(DESTDIR)$(INCLUDEDIR)' + cp $(NAME).h $(NAME).c '$(DESTDIR)$(SRCDIR)' + +uninstall: + rm -rf \ + '$(DESTDIR)$(LIBDIR)'/lib$(NAME).a \ + '$(DESTDIR)$(INCLUDEDIR)'/$(NAME).h \ + '$(DESTDIR)$(SRCDIR)' -- cgit v1.2.3