## --------------------------------- ## -- Standard Autoconf variables -- ## --------------------------------- SHELL = /bin/bash VPATH = ../../../open-axiom/src/interp prefix = /projects/77750c71-ec7b-4962-bf55-a49ff5065fb6 exec_prefix = ${prefix} bindir = ${exec_prefix}/bin sbindir = ${exec_prefix}/sbin libexecdir = ${exec_prefix}/libexec datarootdir = ${prefix}/share datadir = ${datarootdir} sysconfdir = ${prefix}/etc sharedstatedir = ${prefix}/com localstatedir = ${prefix}/var includedir = ${prefix}/include oldincludedir = /usr/include docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} infodir = ${datarootdir}/info htmldir = ${docdir} dvidir = ${docdir} pdfdir = ${docdir} psdir = ${docdir} libdir = ${exec_prefix}/lib lispdir = @lispdir@ localedir = ${datarootdir}/locale host = x86_64-unknown-linux-gnu host_alias = build = x86_64-unknown-linux-gnu build_alias = target = x86_64-unknown-linux-gnu target_alias = srcdir = ../../../open-axiom/src/interp abs_srcdir = /projects/77750c71-ec7b-4962-bf55-a49ff5065fb6/open-axiom-build/../open-axiom/src/interp top_srcdir = ../../../open-axiom abs_top_srcdir = /projects/77750c71-ec7b-4962-bf55-a49ff5065fb6/open-axiom-build/../open-axiom top_confdir = $(top_srcdir)/config # Notice that there is a bug in Autoconf 2.59 whereby the variable # top_builddir is not defined. So avoid to use it directly. Use # abs_top_builddir. builddir = . abs_builddir = /projects/77750c71-ec7b-4962-bf55-a49ff5065fb6/open-axiom-build/src/interp top_builddir = ../.. abs_top_builddir = /projects/77750c71-ec7b-4962-bf55-a49ff5065fb6/open-axiom-build datadir = ${datarootdir} PACKAGE_VERSION = 1.5.0-2016-01-24 AR = ar CC = gcc CXX = g++ LD = /usr/bin/ld -m elf_x86_64 CPPFLAGS = -m64 -D_GNU_SOURCE CFLAGS = -g -O2 -O2 -Wall CXXFLAGS = -std=c++11 -g -O2 -O2 -Wall LDFLAGS = -m64 OBJEXT = o EXEEXT = # this includes leading period SHREXT = .so # extension of the archive library; this does not include period LIBEXT = a PACKAGE_STRING = OpenAxiom 1.5.0-2016-01-24 LIBTOOL_DEPS = ../open-axiom/config/ltmain.sh LIBTOOL = $(top_builddir)/libtool ## Command used to compile a C++ program COMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) ## Sadly, at the moment, the C parts of the OpenAxiom system is not ## well structured enough to allow for clean dynamic libraries ## and dynamic linking. So, we build static programs. ## This situation is to be fixed when I have time. LINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -static $(LDFLAGS) ## Libtool is a disaster for building DLLs on Cygwin, and insists ## on adding silly extensions where it should not on MinGW, so we have ## to be very selective about when and where to use. Sadly, that ends ## up negating the whole point of having Libtool in the first place. ifeq (no,no) LINK_SHRLIB = $(CC) $(LDFLAGS) CXXLINK_SHRLIB = $(CXX) $(LDFLAGS) else LINK_SHRLIB = $(LIBTOOL) --tag=CC --mode=link $(CC) $(LDFLAGS) CXXLINK_SHRLIB = $(LIBTOOL) --tag=CXX --mode=link $(CC) $(LDFLAGS) endif oa_shrobj_flags = -prefer-pic oa_shrlib_flags = -shared AWK = gawk INSTALL = /usr/bin/install -c install_sh = ${SHELL} /projects/77750c71-ec7b-4962-bf55-a49ff5065fb6/open-axiom/config/install-sh install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_script = $(install_sh) -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} ## FIXME: The test done with Autoconf-2.60 and later concludes ## that "ln -s" is unusable on msys, and therefore defaults to ## "cp -p", but that default is unusable for us. For our ## purpose "ln -s" is just fine on that platform. Consequently ## we are explicitly overrding that value here. LN_S = ln -s mkinstalldirs = $(top_srcdir)/config/mkinstalldirs RANLIB = ranlib TOUCH = touch # The list of make targets made recursively, by walking sub-directories # Normally, this is a template generated by Automake, but we don't # use Automake yet; so, we must do it the hard way. # See the corresponding rules in setup-dep.mk RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-exec-recursive install-info-recursive \ install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ uninstall-info-recursive uninstall-recursive ## Normally, Automake will substitute the value for this variable. ## But, we don't have Automake yet. So we punt on it. mkdir_p = mkdir -p STAMP = echo timestamp > ## ------------------------- ## -- OpenAxiom variables -- ## ------------------------- quiet_flags = --noinform --noprint eval_flags = --no-sysinit --no-userinit --disable-debugger --eval oa_standard_linking = no ## Absolute path to the toplevel source directory for OpenAxiom. This is ## almost like Autoconf-standard abs_top_srcdir except that, it retains ## the same syntactic values in subdirectories. ## Where The OpenAxiom distribution main source files are kept. ## Notice, this is the src/ directory within the toplevel source ## directory oa_src_srcdir = $(top_srcdir)/src oa_src_docdir = $(oa_src_srcdir)/doc oa_src_datadir = $(oa_src_srcdir)/share oa_src_algdir = $(oa_src_srcdir)/algebra oa_src_texdir = $(oa_src_datadir)/tex oa_configdir = $(top_builddir)/config oa_c_macros = $(oa_configdir)/axiom-c-macros.h LATEX = ## Staging directory for the target DESTDIR oa_targetdir = $(top_builddir)/$(target) oa_target_bindir = $(oa_targetdir)/bin oa_target_libdir = $(oa_targetdir)/lib oa_target_srcdir = $(oa_targetdir)/src oa_target_docdir = $(oa_targetdir)/doc oa_target_datadir = $(oa_targetdir)/share oa_target_texdir = $(oa_target_datadir)/texmf/tex oa_target_includedir = $(oa_targetdir)/include ## The final directory where OpenAxiom is installed. This is usually ## the directory deduced or specified at configuration time. open_axiom_installdir = ${exec_prefix}/lib/open-axiom/x86_64-unknown-linux-gnu/1.5.0-2016-01-24 INC=$(top_srcdir)/src/include oa_c_runtime_extra = -lutil -lm oa_c_libs = -lopen-axiom-core $(oa_c_runtime_extra) -lm oa_yesno_to_lisp_boolean = $(subst yes,t,$(subst no,nil,$(1))) oa_enable_profiling = no oa_enable_lisp_profiling = \ $(call oa_yesno_to_lisp_boolean,$(oa_enable_profiling)) oa_enable_threads = no oa_use_x = yes AXIOM_X11_CFLAGS = AXIOM_X11_LDFLAGS = -lXpm -lSM -lICE -lX11 oa_includes = -I$(oa_src_srcdir)/include -I$(oa_configdir) ## Where the staging build directory is found AXIOM = $(top_builddir)/$(target) ## Where to find OpenAxiom data bases. DAASE = $(oa_src_datadir) ## ------------------------------------------- ## -- Files generated for the build machine -- ## ------------------------------------------- oa_hammer = $(top_builddir)/src/utils/hammer$(EXEEXT) OA_LISP = sbcl # Extension of the output file name returned by compile-file FASLEXT = fasl # Extension of compiled FASLs appropriate for linking into executable # programs. For most Lisp systems, it is the same as FASLEXT because # they build programs by dumping images. ifeq (sbcl,ecl) LNKEXT = $(OBJEXT) else LNKEXT = $(FASLEXT) endif # Qt utilities OA_QT_MOC = moc OA_QT_QMAKE = qmake ## Clear suffix-based implicit rule table. .SUFFIXES: ## Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. ## All rights reserved. ## Copyright (C) 2007-2014, Gabriel Dos Reis. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions are ## met: ## ## - Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## ## - Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in ## the documentation and/or other materials provided with the ## distribution. ## ## - Neither the name of The Numerical ALgorithms Group Ltd. nor the ## names of its contributors may be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ## IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ## TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ## PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER ## OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ## LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ## NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ## SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ## subdir = src/interp/ IN=$(srcdir) DOC=$(oa_target_docdir)/src/interp BOOK=$(oa_target_docdir) ## Where to put interp modules oa_target_moddir = $(oa_targetdir)/interp ## FFI module. OA_FFI_MOD = sys-os.$(FASLEXT) #OA_FFI_OBJ = $(OA_FFI_MOD) ## Installed FFI delayed module. oa_target_delayed = $(oa_target_moddir)/$(OA_FFI_MOD) oa_target_ffi = $(oa_target_delayed) # Driver to launch translation and compilation DRIVER = $(top_builddir)/src/driver/open-axiom$(EXEEXT) # Translator from Boot to Lisp (or machine code) BOOTSYS = $(oa_target_bindir)/bootsys$(EXEEXT) # Minimal OpenAxiom image necessary to build the algebra SAVESYS= interpsys$(EXEEXT) # Complete OpenAxiom image after completion of algebra, ready to install. AXIOMSYS= $(oa_target_bindir)/AXIOMsys$(EXEEXT) OBJS= boot-pkg.$(FASLEXT) types.$(FASLEXT) \ $(OA_FFI_OBJ) \ sys-driver.$(FASLEXT) sys-constants.$(FASLEXT) \ hash.$(FASLEXT) lisp-backend.$(FASLEXT) \ sys-globals.$(FASLEXT) vmlisp.$(FASLEXT) \ io.$(FASLEXT) \ sys-utility.$(FASLEXT) lexing.$(FASLEXT) \ diagnostics.$(FASLEXT) \ union.$(FASLEXT) sys-macros.$(FASLEXT) \ util.$(FASLEXT) \ unlisp.$(FASLEXT) g-util.$(FASLEXT) \ g-opt.$(FASLEXT) c-util.$(FASLEXT) \ astr.$(FASLEXT) \ ht-util.$(FASLEXT) bc-util.$(FASLEXT) \ br-search.$(FASLEXT) alql.$(FASLEXT) \ buildom.$(FASLEXT) \ simpbool.$(FASLEXT) g-timer.$(FASLEXT) \ cattable.$(FASLEXT) posit.$(FASLEXT) \ cformat.$(FASLEXT) clam.$(FASLEXT) \ clammed.$(FASLEXT) nlib.$(FASLEXT) \ daase.$(FASLEXT) \ pathname.$(FASLEXT) compat.$(FASLEXT) \ serror.$(FASLEXT) ptrees.$(FASLEXT) \ cparse.$(FASLEXT) cstream.$(FASLEXT) \ g-cndata.$(FASLEXT) database.$(FASLEXT) \ debug.$(FASLEXT) dq.$(FASLEXT) \ fname.$(FASLEXT) format.$(FASLEXT) \ g-error.$(FASLEXT) ggreater.$(FASLEXT) \ hypertex.$(FASLEXT) i-object.$(FASLEXT) \ i-analy.$(FASLEXT) i-resolv.$(FASLEXT) \ i-coerfn.$(FASLEXT) i-coerce.$(FASLEXT) \ i-eval.$(FASLEXT) i-funsel.$(FASLEXT) \ i-intern.$(FASLEXT) i-map.$(FASLEXT) \ i-output.$(FASLEXT) i-special.$(FASLEXT) \ i-syscmd.$(FASLEXT) i-toplev.$(FASLEXT) \ i-util.$(FASLEXT) incl.$(FASLEXT) \ int-top.$(FASLEXT) \ lisplib.$(FASLEXT) macex.$(FASLEXT) \ match.$(FASLEXT) monitor.$(FASLEXT) \ msg.$(FASLEXT) msgdb.$(FASLEXT) \ newfort.$(FASLEXT) \ nrunfast.$(FASLEXT) osyscmd.$(FASLEXT) \ packtran.$(FASLEXT) pf2sex.$(FASLEXT) \ scan.$(FASLEXT) pile.$(FASLEXT) \ postpar.$(FASLEXT) \ parse.$(FASLEXT) spad-parser.$(FASLEXT) \ record.$(FASLEXT) rulesets.$(FASLEXT) \ server.$(FASLEXT) setvars.$(FASLEXT) \ sfsfun-l.$(FASLEXT) sfsfun.$(FASLEXT) \ slam.$(FASLEXT) \ spad.$(FASLEXT) termrw.$(FASLEXT) \ trace.$(FASLEXT) word.$(FASLEXT) \ fortcall.$(FASLEXT) i-parser.$(FASLEXT) \ $(OCOBJS) $(BROBJS) setvart.$(FASLEXT) # Main compiler files. OCOBJS= \ category.$(FASLEXT) define.$(FASLEXT) \ compiler.$(FASLEXT) \ c-doc.$(FASLEXT) \ profile.$(FASLEXT) functor.$(FASLEXT) \ nruncomp.$(FASLEXT) htcheck.$(FASLEXT) # Browser component files. BROBJS= bc-matrix.$(FASLEXT) \ bc-misc.$(FASLEXT) bc-solve.$(FASLEXT) \ htsetvar.$(FASLEXT) \ ht-root.$(FASLEXT) \ br-con.$(FASLEXT) \ br-data.$(FASLEXT) showimp.$(FASLEXT) \ br-op1.$(FASLEXT) br-op2.$(FASLEXT) \ br-util.$(FASLEXT) \ topics.$(FASLEXT) br-prof.$(FASLEXT) \ br-saturn.$(FASLEXT) INITDB_OBJ = $(builddir)/../algebra/initdb.$(LNKEXT) TIMESTAMP=$(oa_targetdir)/timestamp YEARWEEK=(progn (defconstant timestamp "${TIMESTAMP}") \ (setq *build-version* "$(PACKAGE_STRING)") \ (yearweek)) .PRECIOUS: ${SAVESYS} .PRECIOUS: ${AXIOMSYS} UNUSED= ${DOC}/guess.boot.dvi \ ${DOC}/interp-fix.boot.dvi \ ${DOC}/nhyper.boot.dvi ${DOC}/pf2atree.boot.dvi \ ${DOC}/redefs.boot.dvi .SUFFIXES: .SUFFIXES: .boot .clisp .lisp .pamphlet .PHONY: all all-ax all-interpsys all-axiomsys all: all-ax all-ax: all-interpsys @echo finished $(srcdir) all-interpsys: $(MAKE) $(SAVESYS) all-axiomsys: $(MAKE) $(AXIOMSYS) mostlyclean-local: @rm -f *.fn *.data *.$(FASLEXT) *.lib *.$(OBJEXT) @rm -f $(SAVESYS) makeint.lisp clean-local: mostlyclean-local @rm -f *.clisp *.lsp distclean-local: clean-local $(oa_target_delayed): $(OA_FFI_MOD) $(mkdir_p) $(oa_target_moddir) cp -p $< $@ $(oa_target_datadir)/msgs/s2-us.msgs: \ $(oa_src_docdir)/msgs/s2-us.msgs $(mkdir_p) $(oa_target_datadir)/msgs cp -p $< $@ makeint.lisp: Makefile @rm -f makeint.lisp @ echo '(import-module "util")' >> makeint.lisp @ echo '(in-package "BOOT")' >> makeint.lisp @ touch ${TIMESTAMP} @ echo '${YEARWEEK}' >> makeint.lisp @ echo '(unless (or |$$StandardLinking| (|%basicSystemIsComplete|)) (build-interpsys)(|clearClams|))' >> makeint.lisp @ echo '#+:gcl (setq compiler::*suppress-compiler-notes* t)' >> makeint.lisp @ echo '#+:gcl (si::gbc-time 0)' >> makeint.lisp @ echo '#+:GCL (si::gbc t)' >> makeint.lisp $(SAVESYS): database.date $(oa_target_datadir)/msgs/s2-us.msgs $(OBJS) $(oa_target_ffi) $(DRIVER) --execpath=$(BOOTSYS) \ --syslib=$(oa_target_libdir) --system="$(AXIOM)/" \ --prologue="(pushnew :open-axiom-basic-system *features*)" \ --make --output=$@ --main="BOOT::|systemMain|" \ --load-directory=. $(OBJS) .PHONY: all-axiomsys all-axiomsys: ${AXIOMSYS} ${AXIOMSYS}: database.date \ $(oa_targetdir)/algebra/exposed.$(FASLEXT) \ $(oa_target_datadir)/msgs/s2-us.msgs \ $(OBJS) $(oa_target_ffi) \ $(INITDB_OBJ) \ makeint.$(LNKEXT) $(DRIVER) --execpath=$(BOOTSYS) \ --syslib=$(oa_target_libdir) \ --system="$(AXIOM)/" \ --sysalg="$(oa_targetdir)/algebra/" \ --prologue="(pushnew :open-axiom-algebra-system *features*)" \ --make --output=$@ --main="BOOT::|systemMain|" \ --load-directory=. $(OBJS) $(INITDB_OBJ) makeint.$(LNKEXT) @ echo 6a $@ created exposed.lsp: $(oa_src_algdir)/exposed.lsp.pamphlet $(oa_hammer) --tangle --output=$@ $< $(oa_targetdir)/algebra/exposed.$(FASLEXT) : exposed.lsp boot-pkg.$(LNKEXT) $(mkdir_p) $(oa_targetdir)/algebra $(DRIVER) --execpath=$(BOOTSYS) --syslib=$(oa_target_libdir) \ --compile --output=$@ --load-directory=. $< database.date: @ echo 617 the database was updated...remaking interpsys @ touch database.date %.$(LNKEXT) %.$(FASLEXT): %.boot $(DRIVER) --execpath=$(BOOTSYS) --syslib=$(oa_target_libdir) \ --compile --output=$@ --load-directory=. $< %.$(LNKEXT) %.$(FASLEXT): %.lisp $(DRIVER) --execpath=$(BOOTSYS) --syslib=$(oa_target_libdir) \ --compile --output=$@ --load-directory=. $< ## Translation to Fortran fortcall.$(FASLEXT): sys-macros.$(FASLEXT) ## HyperDoc topics.$(FASLEXT): sys-macros.$(FASLEXT) sys-utility.$(FASLEXT) alql.$(FASLEXT): br-search.$(FASLEXT) br-search.$(FASLEXT): bc-util.$(FASLEXT) br-saturn.$(FASLEXT): bc-util.$(FASLEXT) br-op2.$(FASLEXT): br-op1.$(FASLEXT) br-op1.$(FASLEXT): bc-util.$(FASLEXT) br-con.$(FASLEXT): bc-util.$(FASLEXT) br-prof.$(FASLEXT): bc-util.$(FASLEXT) br-data.$(FASLEXT): bc-util.$(FASLEXT) nruncomp.$(FASLEXT) br-util.$(FASLEXT): bc-util.$(FASLEXT) bc-solve.$(FASLEXT): bc-matrix.$(FASLEXT) bc-misc.$(FASLEXT) bc-matrix.$(FASLEXT): bc-util.$(FASLEXT) bc-misc.$(FASLEXT): bc-util.$(FASLEXT) bc-util.$(FASLEXT): ht-util.$(FASLEXT) c-util.$(FASLEXT) ht-root.$(FASLEXT): ht-util.$(FASLEXT) htcheck.$(FASLEXT): sys-driver.$(FASLEXT) sys-macros.$(FASLEXT) ht-util.$(FASLEXT): sys-macros.$(FASLEXT) htsetvar.$(FASLEXT): sys-macros.$(FASLEXT) hypertex.$(FASLEXT): types.$(FASLEXT) ## OpenAxiom's interpreter. makeint.$(FASLEXT): util.$(FASLEXT) setvars.$(FASLEXT): sys-macros.$(FASLEXT) debug.$(FASLEXT) profile.$(FASLEXT): sys-macros.$(FASLEXT) sys-utility.$(FASLEXT) c-util.$(FASLEXT) rulesets.$(FASLEXT): vmlisp.$(FASLEXT) osyscmd.$(FASLEXT): int-top.$(FASLEXT) int-top.$(FASLEXT): incl.$(FASLEXT) i-toplev.$(FASLEXT) unlisp.$(FASLEXT) i-toplev.$(FASLEXT): i-analy.$(FASLEXT) i-syscmd.$(FASLEXT): i-object.$(FASLEXT) i-output.$(FASLEXT): sys-utility.$(FASLEXT) sys-macros.$(FASLEXT) i-special.$(FASLEXT): i-analy.$(FASLEXT) i-funsel.$(FASLEXT): i-coerfn.$(FASLEXT) i-map.$(FASLEXT): i-object.$(FASLEXT) i-eval.$(FASLEXT): i-analy.$(FASLEXT) i-coerce.$(FASLEXT): i-coerfn.$(FASLEXT) i-coerfn.$(FASLEXT): i-analy.$(FASLEXT) i-resolv.$(FASLEXT) i-resolv.$(FASLEXT): i-object.$(FASLEXT) i-analy.$(FASLEXT): i-object.$(FASLEXT) i-intern.$(FASLEXT): i-object.$(FASLEXT) ptrees.$(FASLEXT) i-object.$(FASLEXT): i-util.$(FASLEXT) i-util.$(FASLEXT): c-util.$(FASLEXT) format.$(FASLEXT): sys-macros.$(FASLEXT) match.$(FASLEXT): sys-macros.$(FASLEXT) record.$(FASLEXT): nlib.$(FASLEXT) pathname.$(FASLEXT) setvart.$(FASLEXT): sys-macros.$(FASLEXT) ## OpenAxiom's compiler compiler.$(FASLEXT): msgdb.$(FASLEXT) pathname.$(FASLEXT) define.$(FASLEXT) nrunfast.$(FASLEXT): c-util.$(FASLEXT) nruncomp.$(FASLEXT): profile.$(FASLEXT) simpbool.$(FASLEXT) nrunfast.$(FASLEXT) define.$(FASLEXT): g-error.$(FASLEXT) nruncomp.$(FASLEXT) database.$(FASLEXT) database.$(FASLEXT): clam.$(FASLEXT) nlib.$(FASLEXT) \ cattable.$(FASLEXT) compat.$(FASLEXT) g-cndata.$(FASLEXT) \ c-util.$(FASLEXT) functor.$(FASLEXT): category.$(FASLEXT) lisplib.$(FASLEXT) nruncomp.$(FASLEXT) category.$(FASLEXT): c-util.$(FASLEXT) g-cndata.$(FASLEXT) cattable.$(FASLEXT): simpbool.$(FASLEXT) c-util.$(FASLEXT) compat.$(FASLEXT): pathname.$(FASLEXT) simpbool.$(FASLEXT): sys-macros.$(FASLEXT) newfort.$(FASLEXT): sys-macros.$(FASLEXT) lisplib.$(FASLEXT): database.$(FASLEXT) debug.$(FASLEXT) c-doc.$(FASLEXT): c-util.$(FASLEXT) server.$(FASLEXT): sys-macros.$(FASLEXT) ## ## OpenAxiom's front-end consists of two parts: ## (a) the interprerter's parser -- also referred to as new parser ## (b) the compiler parser -- also referred to as parser ## ## The old parser component roughtly is: ## spad-parser.$(FASLEXT): parse.$(FASLEXT) lexing.$(FASLEXT) parse.$(FASLEXT): postpar.$(FASLEXT) packtran.$(FASLEXT): sys-macros.$(FASLEXT) postpar.$(FASLEXT): sys-macros.$(FASLEXT) nlib.$(FASLEXT): sys-macros.$(FASLEXT) sys-utility.$(FASLEXT) lexing.$(FASLEXT): sys-utility.$(FASLEXT) sys-macros.$(FASLEXT) \ io.$(FASLEXT) ## The new parser component roughtly is: ## astr.boot dq.boot incl.boot pile.boot ptrees.boot ## posit.boot cparse.boot format.boot cstream.boot ## i-parser.$(FASLEXT): cparse.$(FASLEXT) pf2sex.$(FASLEXT) pf2sex.$(FASLEXT): ptrees.$(FASLEXT) cparse.$(FASLEXT): ptrees.$(FASLEXT) macex.$(FASLEXT): ptrees.$(FASLEXT) ptrees.$(FASLEXT): posit.$(FASLEXT) serror.$(FASLEXT) pile.$(FASLEXT): scan.$(FASLEXT) scan.$(FASLEXT): incl.$(FASLEXT) dq.$(FASLEXT) sys-utility.$(FASLEXT) incl.$(FASLEXT): cstream.$(FASLEXT) cformat.$(FASLEXT) cformat.$(FASLEXT): unlisp.$(FASLEXT) posit.$(FASLEXT) serror.$(FASLEXT): posit.$(FASLEXT) unlisp.$(FASLEXT): sys-macros.$(FASLEXT) posit.$(FASLEXT): sys-macros.$(FASLEXT) astr.$(FASLEXT) intfile.$(FASLEXT): cstream.$(FASLEXT) cstream.$(FASLEXT): sys-macros.$(FASLEXT) astr.$(FASLEXT): vmlisp.$(FASLEXT) dq.$(FASLEXT): types.$(FASLEXT) ## General support and utilities. daase.$(FASLEXT): sys-utility.$(FASLEXT) debug.$(FASLEXT): sys-macros.$(FASLEXT) lexing.$(FASLEXT) spad.$(FASLEXT): spad-parser.$(FASLEXT) postpar.$(FASLEXT) debug.$(FASLEXT) monitor.$(FASLEXT): sys-macros.$(FASLEXT) sys-utility.$(FASLEXT) sfsfun-l.$(FASLEXT): sys-macros.$(FASLEXT) trace.$(FASLEXT): debug.$(FASLEXT) termrw.$(FASLEXT): sys-macros.$(FASLEXT) showimp.$(FASLEXT): c-util.$(FASLEXT) nruncomp.$(FASLEXT) sfsfun.$(FASLEXT): sys-macros.$(FASLEXT) slam.$(FASLEXT): g-timer.$(FASLEXT) clammed.$(FASLEXT): g-timer.$(FASLEXT) clam.$(FASLEXT): g-timer.$(FASLEXT) g-opt.$(FASLEXT): g-util.$(FASLEXT) g-timer.$(FASLEXT): sys-macros.$(FASLEXT) g-util.$(FASLEXT) msgdb.$(FASLEXT): g-util.$(FASLEXT) g-error.$(FASLEXT): diagnostics.$(FASLEXT) g-util.$(FASLEXT) c-util.$(FASLEXT): g-opt.$(FASLEXT) pathname.$(FASLEXT): nlib.$(FASLEXT) word.$(FASLEXT): g-util.$(FASLEXT) g-util.$(FASLEXT): ggreater.$(FASLEXT) sys-macros.$(FASLEXT) daase.$(FASLEXT) g-cndata.$(FASLEXT): sys-macros.$(FASLEXT) c-util.$(FASLEXT) msg.$(FASLEXT): sys-macros.$(FASLEXT) astr.$(FASLEXT) util.$(FASLEXT): lexing.$(FASLEXT) fname.$(FASLEXT): sys-macros.$(FASLEXT) sys-macros.$(FASLEXT): diagnostics.$(FASLEXT) union.$(FASLEXT) buildom.$(FASLEXT): buildom.boot sys-macros.$(FASLEXT) c-util.$(FASLEXT) \ nruncomp.$(FASLEXT) diagnostics.$(FASLEXT): sys-globals.$(FASLEXT) vmlisp.$(FASLEXT) sys-driver.$(FASLEXT): sys-driver.boot types.$(FASLEXT) sys-globals.$(FASLEXT): sys-constants.$(FASLEXT) hash.$(FASLEXT) sys-os.$(FASLEXT): sys-constants.$(FASLEXT) sys-constants.$(FASLEXT): types.$(FASLEXT) hash.$(FASLEXT): types.$(FASLEXT) union.$(FASLEXT): vmlisp.$(FASLEXT) ggreater.$(FASLEXT): vmlisp.$(FASLEXT) lisp-backend.$(FASLEXT): sys-macros.$(FASLEXT) nlib.$(FASLEXT) c-util.$(FASLEXT) sys-utility.$(FASLEXT): vmlisp.$(FASLEXT) sys-constants.$(FASLEXT) hash.$(FASLEXT) vmlisp.$(FASLEXT): types.$(FASLEXT) sys-globals.$(FASLEXT) io.$(FASLEXT): sys-constants.$(FASLEXT) types.$(FASLEXT): boot-pkg.$(FASLEXT) boot-pkg.$(FASLEXT): boot-pkg.lisp $(oa_build_texdir)/diagrams.tex: $(oa_src_docdir)/diagrams.tex @cp -p $< $@ ## --------------------------------------- ## -- Standard boilerplate dependencies -- ## --------------------------------------- # Recursive rules, usually automatically generated by Automake. # Since we do not use (yet) Automake, we mimic the behaviour as # close as possible. # Recursive wall of sub-directories is based on the variable # SUBDIRS. That variable usually contains the of sub-directories # to be made in depth-first postfix. However, that order can # be changed to depth-first prefix by explicitly including "." # in SUBDIRS. Rules ending with '-ax' are those specific to the # the current directory. Notice that the '-ax' rules are similar # to Automake generated '-am'. .PHONY: $(RECURSIVE_TARGETS) $(RECURSIVE_TARGETS): failcmd='exit 1'; \ for f in $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*) ;; \ *k*) failcmd='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; list='$(SUBDIRS)'; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-ax"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $$local_target) || eval $$failcmd; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) "$$target-ax" || exit 1; \ fi; test -z "$$fail" # Recursive cleanup is done in reverse, postfix order of ordinary build. .PHONY: mostlyclean-recursive .PHONY: clean-recursive .PHONY: distclean-recursive .PHONY: maintainer-clean-recursive mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @failcmd='exit 1'; \ for f in $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*) ;; \ *k*) failcmd='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; \ for subdir in $$list; do \ if test "$$subdir" != "."; then \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-ax"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $$local_target) || eval $$failcmd; \ done && test -z "$$fail" ## Rules to make DVI files from pamphlets .PRECIOUS: %.tex .PRECIOUS: %.dvi DVI_FILES = $(addprefix $(oa_target_docdir)/$(subdir), \ $(pamphlets:.pamphlet=.dvi)) pamphlets_SOURCES = $(addprefix $(srcdir)/, $(pamphlets)) .PHONY: dvi dvi-ax dvi: dvi-recursive dvi-ax: $(oa_build_texdir)/axiom.sty $(DVI_FILES) $(oa_target_docdir)/$(subdir)%.dvi: $(builddir)/%.dvi $(mkinstalldirs) $(oa_target_docdir)/$(subdir) $(INSTALL_DATA) $< $@ %.dvi: %.tex $(oa_build_texdir)/axiom.sty TEXINPUTS=".:$(oa_build_texdir):$${TEXINPUTS}"; \ export TEXINPUTS; \ BIBINPUTS=".:$(oa_build_texdir):$${TEXINPUTS}"; \ export BIBINPUTS; \ $(oa_hammer) --latex $< %.tex: $(srcdir)/%.pamphlet $(oa_hammer) --weave --output=$@ $< .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_srcdir)/config/var-def.mk \ $(top_srcdir)/config/setup-dep.mk \ $(abs_top_builddir)/config.status cd $(abs_top_builddir) && $(SHELL) ./config.status $(subdir)$@ $(top_builddir)/src/lisp/core.lisp: \ $(top_srcdir)/src/lisp/core.lisp.in \ $(top_builddir)/config.status cd $(top_builddir) && \ $(SHELL) ./config.status src/lisp/core.lisp ## Cleanup. ## Each Makefile is responsible of defining targets named ## mostlyclean-local, clean-local, and distclean-local. .PHONY: mostlyclean-generic mostlyclean-local mostlyclean mostlyclean-ax mostlyclean-generic: @-rm -f *~ @-rm -f *.log *.aux *.toc mostlyclean: mostlyclean-recursive mostlyclean-ax: mostlyclean-generic mostlyclean-local .PHONY: clean-generic clean-local clean clean-ax clean-generic: mostlyclean-generic @-rm -f *.tex *.dvi clean: clean-recursive clean-ax: clean-generic clean-local .PHONY: distclean-generic distclean-local distclean distclean-ax distclean-generic: clean-generic @-rm -rf $(oa_target_docdir)/$(subdir) distclean: distclean-recursive distclean-ax: distclean-generic distclean-local