diff --git a/Makefile b/Makefile index 7a4d348..ebb1898 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,15 @@ CSC_FLAGS += -K prefix -static # error. # -c: Stop after compilation to object files. This one is obvious. +# GNU directory variables. Command line overrides, e.g. +# make prefix=$(HOME)/.local install +# make DESTDIR=/tmp/stage prefix=/usr install +prefix = /usr/local +exec_prefix = $(prefix) +bindir = $(exec_prefix)/bin +INSTALL = install +INSTALL_PROGRAM = $(INSTALL) + MODULE_FLAGS = -emit-all-import-libraries -module-registration -c # Order matters, since module check correctness on compilation @@ -91,7 +100,7 @@ check-modules: sexc check-exit-code: sexc @$(MAKE) --no-print-directory -C ./tests/exit-code check SEXC=../../sexc -run-tests: sexc sex-tests sextest +check run-tests: sexc sex-tests sextest ./sex-tests && ./sextest --sexc=./sexc $(SEX_TEST_PROGRAMS:%=./tests/sex-programs/%.sex) && $(MAKE) check-modules && $(MAKE) check-exit-code install: all installdirs @@ -129,6 +138,13 @@ clean: rm -f *.import.scm rm -f *.link rm -f sexc sex-tests sextest + $(MAKE) -C ./tests clean $(MAKE) -C ./tests/modules clean + $(MAKE) -C ./tools/sextest clean -.PHONY: clean depclean deps run-tests sex-tests sextest check-modules check-exit-code +deps-clean: + rm -rf $(EGGS_DIR) + +.PHONY: all check run-tests check-modules check-exit-code \ + install install-strip installdirs uninstall \ + deps deps-update deps-clean clean sex-tests sextest diff --git a/Readme.org b/Readme.org index 8b76d6a..fd13fe6 100644 --- a/Readme.org +++ b/Readme.org @@ -38,6 +38,18 @@ tree's ~.eggs~ path): make CSC_FLAGS='-K prefix' #+end_src +** Installation +GNU directory variables: ~prefix~, ~exec_prefix~, ~bindir~, ~DESTDIR~. + +#+begin_src sh + # default installation (/usr/local/bin/) + make install + # customize the prefix (installs to ~/.local/bin) + make prefix=$(HOME)/.local install + # staged install for packaging + make DESTDIR=/tmp/stage prefix=/usr install +#+end_src + * Usage ** Summary #+begin_src diff --git a/tests/Makefile b/tests/Makefile index b40a19e..7297715 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -46,3 +46,5 @@ clean: rm -f *.import.scm rm -f *.link rm -f sex-tests + +.PHONY: clean