Reorganize some of the more random files.
[sod] / src / Makefile.am
index 7b23dd8..e427774 100644 (file)
@@ -7,7 +7,7 @@
 
 ###----- Licensing notice ---------------------------------------------------
 ###
-### This file is part of the Sensble Object Design, an object system for C.
+### This file is part of the Sensible Object Design, an object system for C.
 ###
 ### SOD is free software; you can redistribute it and/or modify
 ### it under the terms of the GNU General Public License as published by
@@ -29,6 +29,10 @@ nobase_dist_pkglispsrc_DATA = $(LISP_SOURCES)
 LISP_SOURCES            =
 SYSDEFS                         =
 
+ASDF_ENV                = \
+       CL_SOURCE_REGISTRY=$$(pwd): \
+       ASDF_OUTPUT_TRANSLATIONS=$$(cd $(srcdir); pwd):$(abs_builddir):
+
 ###--------------------------------------------------------------------------
 ### The source files.
 
@@ -119,8 +123,8 @@ sod-frontend.asd: sod-frontend.asd.in Makefile
 ## Building the executable image.
 bin_PROGRAMS           += sod
 sod_SOURCES             =
-sod: $(LISP_SOURCES) sod.asd sod-frontend.asd auto.lisp
-       $(V_DUMP)$(CL_LAUNCH) -o sod -d ! -l $(LISPSYS) +I \
+sod$(EXEEXT): $(LISP_SOURCES) sod.asd sod-frontend.asd auto.lisp
+       $(V_DUMP)$(ASDF_ENV) $(CL_LAUNCH) -o $@ -d ! -l $(LISPSYS) +I \
                -s sod-frontend -r sod-frontend:main
 
 ###--------------------------------------------------------------------------
@@ -150,11 +154,21 @@ sod-test.asd: sod-test.asd.in Makefile
 
 ## Running the Lisp tests.
 check-local: sod sod-test.asd
-       $(V_TEST)$(CL_LAUNCH) -l $(LISPSYS) -s sod-test +I \
-               -i '(handler-case (asdf:test-system "sod") ;\
+       $(V_TEST)$(ASDF_ENV) $(CL_LAUNCH) -l $(LISPSYS) \
+               -s sod-frontend +I \
+               -i '(handler-case ;\
+                       (progn ;\
+                         (asdf:load-system "sod-test") ;\
+                         (asdf:test-system "sod")) ;\
                      (error (cond) ;\
                        (format *error-output* "ERR: ~A~%" cond) ;\
-                       (cl-launch:quit 1)))'
+                       (optparse:exit 1)))'
+
+###--------------------------------------------------------------------------
+### Manual pages.
+
+dist_man_MANS          += sod.1
+dist_man_MANS          += sod-module.5
 
 ###--------------------------------------------------------------------------
 ### Installation.
@@ -198,4 +212,17 @@ uninstall-local:
          rm -f $(DESTDIR)$(pkglispsrcdir)/$$i $(DESTDIR)$(lispsysdir)/$$i; \
        done
 
+###--------------------------------------------------------------------------
+### Additional random things useful during development.
+
+## ASDF hacking for finding the system definitions.
+EXTRA_DIST             += asdf-hack.lisp.in
+noinst_DATA            += asdf-hack.lisp
+asdf-hack.lisp: asdf-hack.lisp.in Makefile
+       $(SUBST) $(srcdir)/asdf-hack.lisp.in >$@.new $(SUBSTITUTIONS) && \
+               mv $@.new $@
+
+## Emacs hacking for indentation.
+EXTRA_DIST             += emacs-hacks.el
+
 ###----- That's all, folks --------------------------------------------------