X-Git-Url: https://git.distorted.org.uk/~mdw/runlisp/blobdiff_plain/7b8ff279e7304e41b243459d78c3b6703bb8c3f5..47a219e85c4215cea80c75ed9b26ed7dc404a8e2:/Makefile.am diff --git a/Makefile.am b/Makefile.am index 42cb2e1..b13d107 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,7 +26,6 @@ include $(top_srcdir)/vars.am SUBDIRS = -pkgdata_DATA = image_DATA = image_SCRIPTS = @@ -35,22 +34,25 @@ SUBDIRS += . ACLOCAL_AMFLAGS = -Im4 ###-------------------------------------------------------------------------- +### A library of common code. + +noinst_LIBRARIES += librunlisp.a +librunlisp_a_SOURCES = + +librunlisp_a_SOURCES += common.c common.h +librunlisp_a_SOURCES += lib.c lib.h +librunlisp_a_SOURCES += mdwopt.c mdwopt.h +librunlisp_a_SOURCES += sha256.c sha256.h + +###-------------------------------------------------------------------------- ### The main driver program. bin_PROGRAMS += runlisp runlisp_SOURCES = runlisp.c -runlisp_SOURCES += common.c common.h -runlisp_SOURCES += lib.c lib.h -runlisp_SOURCES += mdwopt.c mdwopt.h +runlisp_LDADD = librunlisp.a man_MANS += runlisp.1 - -noinst_PROGRAMS += old-runlisp -old_runlisp_SOURCES = old-runlisp.c -old_runlisp_SOURCES += lib.c lib.h - -noinst_PROGRAMS += toy -toy_SOURCES = toy.c -toy_SOURCES += lib.c lib.h +doc_DATA += runlisp.pdf +EXTRA_DIST += runlisp.1.in ###-------------------------------------------------------------------------- ### Additional machinery. @@ -58,67 +60,136 @@ toy_SOURCES += lib.c lib.h pkgdata_DATA += eval.lisp EXTRA_DIST += eval.lisp +pkgdata_SCRIPTS += dump-ecl +EXTRA_DIST += dump-ecl + +bin_PROGRAMS += query-runlisp-config +query_runlisp_config_SOURCES = query-runlisp-config.c +query_runlisp_config_LDADD = librunlisp.a +man_MANS += query-runlisp-config.1 +doc_DATA += query-runlisp-config.pdf +EXTRA_DIST += query-runlisp-config.1.in + +man_MANS += runlisp.conf.5 +doc_DATA += runlisp.conf.pdf +EXTRA_DIST += runlisp.conf.5.in + +EXTRA_DIST += runlisp-base.conf +install-data-hook:: + $(MKDIR_P) $(DESTDIR)$(pkgconfdir)/runlisp.d + cp $(srcdir)/runlisp-base.conf \ + $(DESTDIR)$(pkgconfdir)/runlisp.d/0base.conf +uninstall-hook:: + rm -f $(DESTDIR)$(pkgconfdir)/runlisp.d/0base.conf + +EXTRA_DIST += runlisp.conf +install-data-hook:: + $(MKDIR_P) $(DESTDIR)$(pkgconfdir) + if ! [ -f $(DESTDIR)$(pkgconfdir)/runlisp.conf ]; then \ + cp $(srcdir)/runlisp.conf $(DESTDIR)$(pkgconfdir)/; \ + fi +uninstall-hook:: + rm -f $(DESTDIR)$(pkgconfdir)/runlisp.conf + ###-------------------------------------------------------------------------- ### Image dumping. bin_PROGRAMS += dump-runlisp-image dump_runlisp_image_SOURCES = dump-runlisp-image.c -dump_runlisp_image_SOURCES += common.c common.h -dump_runlisp_image_SOURCES += lib.c lib.h -dump_runlisp_image_SOURCES += mdwopt.c mdwopt.h +dump_runlisp_image_LDADD = librunlisp.a man_MANS += dump-runlisp-image.1 - -DUMP_RUNLISP_IMAGE = $(v_dump)./dump-runlisp-image \ - -f -c$(srcdir)/runlisp.conf -O$@ +doc_DATA += dump-runlisp-image.pdf +EXTRA_DIST += dump-runlisp-image.1.in + +DUMP_RUNLISP_IMAGE = $(v_dump)\ + ASDF_OUTPUT_TRANSLATIONS='( \ + :output-translations \ + :ignore-inherited-configuration \ + (t ("$(abs_builddir)/" "fasl/" \ + :implementation-type :**/ :*.*.*)))' \ + ./dump-runlisp-image -f -O$@ \ + -c$(srcdir)/runlisp-base.conf \ + -odata-dir=$(srcdir) +clean-local::; rm -fr fasl v_dump = $(v_dump_@AM_V@) v_dump_ = $(v_dump_@AM_DEFAULT_V@) v_dump_0 = @echo " DUMP $@"; +IMAGES = +noinst_DATA += $(IMAGES) + if DUMP_SBCL -image_DATA += sbcl+asdf.core -CLEANFILES += sbcl+asdf.core -sbcl+asdf.core: dump-runlisp-image runlisp.conf +IMAGES += sbcl+asdf.core +CLEANFILES += sbcl+asdf.core sbcl+asdf.core-* +sbcl+asdf.core: dump-runlisp-image runlisp-base.conf $(DUMP_RUNLISP_IMAGE) sbcl endif if DUMP_CCL -image_DATA += ccl+asdf.image -CLEANFILES += ccl+asdf.image -ccl+asdf.image: dump-runlisp-image runlisp.conf +IMAGES += ccl+asdf.image +CLEANFILES += ccl+asdf.image ccl+asdf.image-* +ccl+asdf.image: dump-runlisp-image runlisp-base.conf $(DUMP_RUNLISP_IMAGE) ccl endif if DUMP_CLISP -image_DATA += clisp+asdf.mem -CLEANFILES += clisp+asdf.mem -clisp+asdf.mem: dump-runlisp-image runlisp.conf +IMAGES += clisp+asdf.mem +CLEANFILES += clisp+asdf.mem clisp+asdf.mem-* +clisp+asdf.mem: dump-runlisp-image runlisp-base.conf $(DUMP_RUNLISP_IMAGE) clisp endif if DUMP_ECL -image_SCRIPTS += ecl+asdf -CLEANFILES += ecl+asdf -ecl+asdf: dump-runlisp-image runlisp.conf +IMAGES += ecl+asdf +CLEANFILES += ecl+asdf ecl+asdf-* +ecl+asdf: dump-runlisp-image runlisp-base.conf dump-ecl $(DUMP_RUNLISP_IMAGE) -odata-dir=$(srcdir) ecl endif if DUMP_CMUCL -image_DATA += cmucl+asdf.core -CLEANFILES += cmucl+asdf.core -cmucl+asdf.core: dump-runlisp-image runlisp.conf +IMAGES += cmucl+asdf.core +CLEANFILES += cmucl+asdf.core cmucl+asdf.core-* +cmucl+asdf.core: dump-runlisp-image runlisp-base.conf $(DUMP_RUNLISP_IMAGE) cmucl endif +install-data-hook:: + mkdir -p $(DESTDIR)$(imagedir) + set -e; for i in $(IMAGES); do \ + j=$$(readlink $$i); \ + cp $$j $(DESTDIR)$(imagedir)/$$j.new && \ + mv $(DESTDIR)$(imagedir)/$$j.new \ + $(DESTDIR)$(imagedir)/$$j; \ + ln -sf $$j $(DESTDIR)$(imagedir)/$$i; \ + done + +uninstall-hook:: + set -e; for i in $(IMAGES); do \ + if j=$$(readlink $(DESTDIR)$(imagedir)/$$i); then \ + case $$j in \ + $$i-*[!0-9a-f]) ;; \ + $$i-*) rm -f $(DESTDIR)$(imagedir)/$$j ;; \ + esac; \ + fi; \ + rm -f $(DESTDIR)$(imagedir)/$$i; \ + done + ###-------------------------------------------------------------------------- -### Benchmarking and testing. +### Other subdirectories. +## Documentation. +SUBDIRS += doc +EXTRA_DIST += README.org + +## Testing. +SUBDIRS += t + +## Benchmarking. if BENCHMARK SUBDIRS += bench endif -SUBDIRS += t - ###-------------------------------------------------------------------------- ### Distribution. @@ -128,5 +199,6 @@ dist-hook:: ## Additional build tools. EXTRA_DIST += config/auto-version +EXTRA_DIST += config/confsubst ###----- That's all, folks --------------------------------------------------