%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. \documentclass{article} \usepackage{axiom} \title{\File{src/etc/Makefile} Pamphlet} \author{Timothy Daly \and Gabriel Dos~Reis} \begin{document} \maketitle \begin{abstract} \end{abstract} \eject \tableofcontents \eject \section{The databases} The databases are built in this Makefile even though the prerequisits are actually made during the previous step in the algebra directory. This allows us to use a simple wildcard to express the fact that all of the [[algreba/*.NRLIB/code.\$(OBJEXT)]] files are required in order to build the databases. If any if any of these are changed, the databases must be re-built. <>= $(axiom_targetdir)/algebra/*.daase: ../algebra/*.NRLIB/code.$(OBJEXT) @ echo 4 rebuilding databases... @ $(INSTALL_DATA) $(axiom_src_docdir)/gloss.text ../algebra @ $(INSTALL_DATA) $(axiom_src_docdir)/gloss.text ../algebra @ $(INSTALL_DATA) $(axiom_src_docdir)/topics.data ../algebra @ $(INSTALL_DATA) $(axiom_src_docdir)/topics.data ../algebra @ (cd ../algebra ; \ echo ')lisp (make-databases "" nil)' | ${INTERPSYS} ) @ $(INSTALL_DATA) ../algebra/*.daase $(axiom_targetdir)/algebra @ $(INSTALL_DATA) ../algebra/libdb.text $(axiom_targetdir)/algebra @ $(INSTALL_DATA) ../algebra/comdb.text $(axiom_targetdir)/algebra @ \section{\Tool{summary}} <>= $(axiom_target_libdir)/summary: $(srcdir)/summary $(INSTALL_DATA) $< $@ @ \section{\File{copyright}} <>= $(axiom_target_libdir)/copyright: $(srcdir)/copyright $(INSTALL_DATA) $< $@ @ \section{\Tool{asq}} \Tool{asq} is a command line tool to ask questions about \Tool{Axiom}'s domains, packages, and categories. \begin{verbatim} asq -property searchkey property is one of the following flags: (all is the default) (ab) abbreviation (an) ancestors (at) attributes (ca cc) constructorcategory (cf fo) constructorform (ck ki) constructorkind (cm) constructormodemap (con) constructor (cos) cosig (de) defaultdomain (dom) domain (doc) documentation (mo) modemaps (ni) niladic (ob) object (op) operationalist (pr) predicates (so) sourcefile searchkey can be either a domain or its abbreviation. e.g. %s -so Integer will give the source file name written to stdout \end{verbatim} <>= bin_PROGRAMS = asq$(EXEEXT) asq_sources = asq.c asq_SOURCES = $(addsuffix .pamphlet, $(asq_sources)) asq_objects = $(asq_sources:.c=.$(OBJEXT)) $(axiom_target_bindir)/asq$(EXEEXT): asq.c $(axiom_c_macros_h) @echo 4 making $@ from $< ${CC} ${CCF} $(axiom_includes) -o asq asq.c $(INSTALL_PROGRAM) asq $(axiom_target_bindir) asq.c: $(srcdir)/asq.c.pamphlet $(axiom_build_document) --tangle --output=$@ $< @ <<*>>= INTERPSYS= \ AXIOM="$(AXIOM)" \ DAASE="$(axiom_src_datadir)" \ ../interp/interpsys$(EXEEXT) subdir = src/etc/ pamphlets = Makefile.pamphlet $(asq_SOURCES) .PHONY: all all-asq all: all-ax all-ax all-asq: stamp @echo finished $(builddir) stamp: $(axiom_targetdir)/algebra/*.daase $(axiom_target_bindir)/asq$(EXEEXT) \ $(axiom_target_libdir)/summary \ $(axiom_target_libdir)/copyright -rm -f stamp $(STAMP) stamp <> <> <> <> mostlyclean-local: -rm -f $(asq_sources) $(asq_objects) -rm -f stamp clean-local: mostlyclean-local -rm -f $(axiom_target_libdir)/summary -rm -f $(axiom_target_libdir)/copyright -rm -f $(axiom_target_bindir)/axiom -rm -f $(axiom_target_bindir)/asq$(EXEEXT) distclean-local: clean-local @ \eject \begin{thebibliography}{99} \bibitem{1} nothing \end{thebibliography} \end{document}