aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-08-15 04:52:25 +0000
committerdos-reis <gdr@axiomatics.org>2008-08-15 04:52:25 +0000
commit66f954a68f42d1b3e9539bbfd794bc74e553bf93 (patch)
tree97a7815cc44aa402bda0b5a79910770b7c3c1234
parenta0e66d6ee5a830dcec95c5732ac4e7c200650400 (diff)
downloadopen-axiom-66f954a68f42d1b3e9539bbfd794bc74e553bf93.tar.gz
* interp/Makefile.pamphlet: Simplify build of interpsys and AXIOMsys.
(interpsys_modules): Remove. (IN_modules): Likewise. (AS_modules): Likewise. (makeint.lisp): Simplify. (makeint.$(LNKEXT)): New make rule. (${SAVESYS}): Tidy. (${AXIOMSYS}): Likewise. * interp/util.lisp (build-interpsys): Lose first parameter. Tidy.
-rw-r--r--src/ChangeLog12
-rw-r--r--src/interp/Makefile.in76
-rw-r--r--src/interp/Makefile.pamphlet76
-rw-r--r--src/interp/util.lisp3
4 files changed, 69 insertions, 98 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3e175c66..daccf126 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,17 @@
2008-08-14 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/Makefile.pamphlet: Simplify build of interpsys and AXIOMsys.
+ (interpsys_modules): Remove.
+ (IN_modules): Likewise.
+ (AS_modules): Likewise.
+ (makeint.lisp): Simplify.
+ (makeint.$(LNKEXT)): New make rule.
+ (${SAVESYS}): Tidy.
+ (${AXIOMSYS}): Likewise.
+ * interp/util.lisp (build-interpsys): Lose first parameter. Tidy.
+
+2008-08-14 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/sys-driver.boot (buildDatabasesHandler): New.
Install it as handler for --build-databases.
* etc/Makefile.in ($(openaxiom_databases)): Adjust.
diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in
index 0cee42fb..e7775f17 100644
--- a/src/interp/Makefile.in
+++ b/src/interp/Makefile.in
@@ -85,18 +85,11 @@ OBJS= boot-pkg.$(FASLEXT) types.$(FASLEXT) \
spad.$(FASLEXT) \
spaderror.$(FASLEXT) \
template.$(FASLEXT) termrw.$(FASLEXT) \
- trace.$(FASLEXT) \
- daase.$(FASLEXT) \
- fortcall.$(FASLEXT) \
- $(OCOBJS) \
- $(BROBJS) i-parser.$(FASLEXT)
+ trace.$(FASLEXT) daase.$(FASLEXT) \
+ fortcall.$(FASLEXT) i-parser.$(FASLEXT) \
+ $(OCOBJS) $(BROBJS) $(ASCOMP) $(INOBJS)
-interpsys_modules = $(patsubst %.$(FASLEXT), "%", $(OBJS))
-INOBJS= setvart.$(FASLEXT)\
- interop.$(FASLEXT) \
- patches.$(FASLEXT)
-
-IN_modules = $(patsubst %.$(FASLEXT), "%", $(INOBJS))
+INOBJS= setvart.$(FASLEXT) interop.$(FASLEXT) patches.$(FASLEXT)
OCOBJS= \
info.$(FASLEXT) modemap.$(FASLEXT) \
@@ -130,8 +123,6 @@ autoload_objects += $(TRANOBJS)
ASCOMP= hashcode.$(FASLEXT) as.$(FASLEXT) axext_l.$(FASLEXT)
-AS_modules = $(patsubst %.$(FASLEXT), "%", $(ASCOMP))
-
ASAUTO= ${AUTO}/ax.$(FASLEXT)
autoload_objects += $(ASAUTO)
@@ -180,72 +171,60 @@ all-axiomsys: all-interpsys
mostlyclean-local:
@rm -f *.fn *.data *.$(FASLEXT) *.lib *.$(OBJEXT)
+ rm -f makeint.lisp
clean-local: mostlyclean-local
@rm -f *.clisp *.lsp
distclean-local: clean-local
-makeint.lisp: $(OBJS) ${OUTINTERP} \
- database.date ${INOBJS} ${ASCOMP} ${ASAUTO} \
- ${TRANOBJS} \
- $(axiom_targetdir)/algebra/exposed.$(FASLEXT) \
- $(axiom_src_docdir)/msgs/s2-us.msgs
- @ echo 5 invoking make in `pwd` with parms:
- @rm -f makeint.lisp
+
+$(axiom_target_datadir)/msgs/s2-us.msgs: \
+ $(axiom_src_docdir)/msgs/s2-us.msgs
$(mkdir_p) $(axiom_target_datadir)/msgs
- cp -p $(axiom_src_docdir)/msgs/s2-us.msgs \
- $(axiom_target_datadir)/msgs
- @ echo '(|importModule| "boot-pkg")' >> makeint.lisp
- @ echo '(|importModule| "types")' >> makeint.lisp
- @ echo '(|importModule| "sys-driver")' >> makeint.lisp
- @ echo '(|importModule| "sys-constants")' >> makeint.lisp
- @ echo '(|importModule| "hash")' >> makeint.lisp
- @ echo '(|importModule| "sys-globals")' >> makeint.lisp
- @ echo '(|importModule| "vmlisp")' >> makeint.lisp
- @ echo '#+:GCL (gbc t)' >> makeint.lisp
- @ echo '(|importModule| "cfuns")' >> makeint.lisp
- @ echo '(|importModule| "sys-os")' >> makeint.lisp
- @ echo '(|importModule| "sys-utility")' >> makeint.lisp
- @ echo '(|importModule| "diagnostics")' >> makeint.lisp
- @ echo '(|importModule| "union")' >> makeint.lisp
- @ echo '(|importModule| "sys-macros")' >> makeint.lisp
- @ echo '(|importModule| "macros")' >> makeint.lisp
- @ echo '(|importModule| "metalex")' >> makeint.lisp
- @ echo '(|importModule| "parsing")' >> makeint.lisp
- @ echo '(|importModule| "util")' >> makeint.lisp
+ 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 '(build-interpsys (append (quote ($(interpsys_modules))) (quote ($(AS_modules))) (quote ($(IN_modules)))) (quote ($(patsubst %, "%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${ASAUTO}))))' >> makeint.lisp
+ @ echo '(build-interpsys (quote ($(patsubst %, "%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${ASAUTO}))))' >> makeint.lisp
@ echo '(|clearClams|)' >> makeint.lisp
@ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> makeint.lisp
@ echo '#+:akcl (si::gbc-time 0)' >> makeint.lisp
@ echo '#+:GCL (si::gbc t)' >> makeint.lisp
-${SAVESYS}: makeint.lisp
+${SAVESYS}: database.date \
+ $(axiom_targetdir)/algebra/exposed.$(FASLEXT) \
+ $(axiom_target_datadir)/msgs/s2-us.msgs \
+ $(ASAUTO) $(TRANOBJS) $(OBJS) makeint.$(LNKEXT)
$(BOOTSYS) -- --system="$(AXIOM)/" \
--sysalg="$(axiom_src_datadir)/algebra/" \
--make --output=$@ --main="BOOT::|restart|" \
- --load-directory=. makeint.lisp
- @ echo 6 ${SAVESYS} created
+ --load-directory=. $(OBJS) makeint.$(LNKEXT)
+ @ echo 6 $@ created
$(mkdir_p) $(axiom_target_bindir)
.PHONY: all-axiomsys
all-axiomsys: ${AXIOMSYS}
-${AXIOMSYS}: makeint.lisp
+${AXIOMSYS}: database.date \
+ $(axiom_targetdir)/algebra/exposed.$(FASLEXT) \
+ $(axiom_target_datadir)/msgs/s2-us.msgs \
+ $(ASAUTO) $(TRANOBJS) $(OBJS) makeint.$(LNKEXT)
$(BOOTSYS) -- \
--system="$(AXIOM)/" \
--sysalg="$(axiom_targetdir)/algebra/" \
--make --output=$@ --main="BOOT::|restart|" \
- --load-directory=. makeint.lisp
- @ echo 6a ${AXIOMSYS} created
+ --load-directory=. $(OBJS) makeint.$(LNKEXT)
+ @ echo 6a $@ created
exposed.lsp: $(axiom_src_algdir)/exposed.lsp.pamphlet
@ echo 615 making exposed.lsp from $(axiom_src_algdir)/exposed.lsp.pamphlet
$(axiom_build_document) --tangle --output=$@ $<
-$(axiom_targetdir)/algebra/exposed.$(FASLEXT) : exposed.lsp ${LISPSYS}
+$(axiom_targetdir)/algebra/exposed.$(FASLEXT) : exposed.lsp boot-pkg.$(LNKEXT)
@ echo 616 making $@ from exposed.lsp
$(mkdir_p) $(axiom_targetdir)/algebra
$(BOOTSYS) --compile --output=$@ --load-directory=. $<
@@ -292,6 +271,7 @@ htsetvar.$(FASLEXT): macros.$(FASLEXT)
hypertex.$(FASLEXT): types.$(FASLEXT)
## OpenAxiom's interpreter.
+makeint.$(FASLEXT): util.$(FASLEXT)
patches.$(FASLEXT): macros.$(FASLEXT) g-timer.$(FASLEXT) sys-driver.$(FASLEXT)
setvars.$(FASLEXT): macros.$(FASLEXT) debug.$(FASLEXT)
profile.$(FASLEXT): macros.$(FASLEXT)
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index 9f915ac2..7fde6536 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -164,13 +164,10 @@ OBJS= boot-pkg.$(FASLEXT) types.$(FASLEXT) \
spad.$(FASLEXT) \
spaderror.$(FASLEXT) \
template.$(FASLEXT) termrw.$(FASLEXT) \
- trace.$(FASLEXT) \
- daase.$(FASLEXT) \
- fortcall.$(FASLEXT) \
- $(OCOBJS) \
- $(BROBJS) i-parser.$(FASLEXT)
+ trace.$(FASLEXT) daase.$(FASLEXT) \
+ fortcall.$(FASLEXT) i-parser.$(FASLEXT) \
+ $(OCOBJS) $(BROBJS) $(ASCOMP) $(INOBJS)
-interpsys_modules = $(patsubst %.$(FASLEXT), "%", $(OBJS))
@
Before we save the {\bf SAVESYS} image we need to run some
@@ -179,11 +176,7 @@ for various parts of the system. The {\bf patches.lisp} \cite{5}
file contains last-minute changes to various functions and
constants.
<<environment>>=
-INOBJS= setvart.$(FASLEXT)\
- interop.$(FASLEXT) \
- patches.$(FASLEXT)
-
-IN_modules = $(patsubst %.$(FASLEXT), "%", $(INOBJS))
+INOBJS= setvart.$(FASLEXT) interop.$(FASLEXT) patches.$(FASLEXT)
@
@@ -267,8 +260,6 @@ The {\bf ASCOMP} list contains files used by the {\bf Aldor}
<<environment>>=
ASCOMP= hashcode.$(FASLEXT) as.$(FASLEXT) axext_l.$(FASLEXT)
-AS_modules = $(patsubst %.$(FASLEXT), "%", $(ASCOMP))
-
@
The {\bf ASAUTO} list contains files used by the {\bf Aldor}
@@ -340,49 +331,33 @@ should not be set here just because we happen to save an GCL-based image.
Doing otherwise causes havoc.
<<savesys>>=
-makeint.lisp: $(OBJS) ${OUTINTERP} \
- database.date ${INOBJS} ${ASCOMP} ${ASAUTO} \
- ${TRANOBJS} \
- $(axiom_targetdir)/algebra/exposed.$(FASLEXT) \
- $(axiom_src_docdir)/msgs/s2-us.msgs
- @ echo 5 invoking make in `pwd` with parms:
- @rm -f makeint.lisp
+
+$(axiom_target_datadir)/msgs/s2-us.msgs: \
+ $(axiom_src_docdir)/msgs/s2-us.msgs
$(mkdir_p) $(axiom_target_datadir)/msgs
- cp -p $(axiom_src_docdir)/msgs/s2-us.msgs \
- $(axiom_target_datadir)/msgs
- @ echo '(|importModule| "boot-pkg")' >> makeint.lisp
- @ echo '(|importModule| "types")' >> makeint.lisp
- @ echo '(|importModule| "sys-driver")' >> makeint.lisp
- @ echo '(|importModule| "sys-constants")' >> makeint.lisp
- @ echo '(|importModule| "hash")' >> makeint.lisp
- @ echo '(|importModule| "sys-globals")' >> makeint.lisp
- @ echo '(|importModule| "vmlisp")' >> makeint.lisp
- @ echo '#+:GCL (gbc t)' >> makeint.lisp
- @ echo '(|importModule| "cfuns")' >> makeint.lisp
- @ echo '(|importModule| "sys-os")' >> makeint.lisp
- @ echo '(|importModule| "sys-utility")' >> makeint.lisp
- @ echo '(|importModule| "diagnostics")' >> makeint.lisp
- @ echo '(|importModule| "union")' >> makeint.lisp
- @ echo '(|importModule| "sys-macros")' >> makeint.lisp
- @ echo '(|importModule| "macros")' >> makeint.lisp
- @ echo '(|importModule| "metalex")' >> makeint.lisp
- @ echo '(|importModule| "parsing")' >> makeint.lisp
- @ echo '(|importModule| "util")' >> makeint.lisp
+ 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 '(build-interpsys (append (quote ($(interpsys_modules))) (quote ($(AS_modules))) (quote ($(IN_modules)))) (quote ($(patsubst %, "%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${ASAUTO}))))' >> makeint.lisp
+ @ echo '(build-interpsys (quote ($(patsubst %, "%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${ASAUTO}))))' >> makeint.lisp
@ echo '(|clearClams|)' >> makeint.lisp
@ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> makeint.lisp
@ echo '#+:akcl (si::gbc-time 0)' >> makeint.lisp
@ echo '#+:GCL (si::gbc t)' >> makeint.lisp
-${SAVESYS}: makeint.lisp
+${SAVESYS}: database.date \
+ $(axiom_targetdir)/algebra/exposed.$(FASLEXT) \
+ $(axiom_target_datadir)/msgs/s2-us.msgs \
+ $(ASAUTO) $(TRANOBJS) $(OBJS) makeint.$(LNKEXT)
$(BOOTSYS) -- --system="$(AXIOM)/" \
--sysalg="$(axiom_src_datadir)/algebra/" \
--make --output=$@ --main="BOOT::|restart|" \
- --load-directory=. makeint.lisp
- @ echo 6 ${SAVESYS} created
+ --load-directory=. $(OBJS) makeint.$(LNKEXT)
+ @ echo 6 $@ created
$(mkdir_p) $(axiom_target_bindir)
@
@@ -398,13 +373,16 @@ are re-generated after leaving \File{interp/} directory.
all-axiomsys: ${AXIOMSYS}
-${AXIOMSYS}: makeint.lisp
+${AXIOMSYS}: database.date \
+ $(axiom_targetdir)/algebra/exposed.$(FASLEXT) \
+ $(axiom_target_datadir)/msgs/s2-us.msgs \
+ $(ASAUTO) $(TRANOBJS) $(OBJS) makeint.$(LNKEXT)
$(BOOTSYS) -- \
--system="$(AXIOM)/" \
--sysalg="$(axiom_targetdir)/algebra/" \
--make --output=$@ --main="BOOT::|restart|" \
- --load-directory=. makeint.lisp
- @ echo 6a ${AXIOMSYS} created
+ --load-directory=. $(OBJS) makeint.$(LNKEXT)
+ @ echo 6a $@ created
@
\section{The Interpreter files}
@@ -447,7 +425,7 @@ exposed.lsp: $(axiom_src_algdir)/exposed.lsp.pamphlet
@ echo 615 making exposed.lsp from $(axiom_src_algdir)/exposed.lsp.pamphlet
$(axiom_build_document) --tangle --output=$@ $<
-$(axiom_targetdir)/algebra/exposed.$(FASLEXT) : exposed.lsp ${LISPSYS}
+$(axiom_targetdir)/algebra/exposed.$(FASLEXT) : exposed.lsp boot-pkg.$(LNKEXT)
@ echo 616 making $@ from exposed.lsp
$(mkdir_p) $(axiom_targetdir)/algebra
$(BOOTSYS) --compile --output=$@ --load-directory=. $<
@@ -494,6 +472,7 @@ all-axiomsys: all-interpsys
mostlyclean-local:
@rm -f *.fn *.data *.$(FASLEXT) *.lib *.$(OBJEXT)
+ rm -f makeint.lisp
clean-local: mostlyclean-local
@rm -f *.clisp *.lsp
@@ -541,6 +520,7 @@ htsetvar.$(FASLEXT): macros.$(FASLEXT)
hypertex.$(FASLEXT): types.$(FASLEXT)
## OpenAxiom's interpreter.
+makeint.$(FASLEXT): util.$(FASLEXT)
patches.$(FASLEXT): macros.$(FASLEXT) g-timer.$(FASLEXT) sys-driver.$(FASLEXT)
setvars.$(FASLEXT): macros.$(FASLEXT) debug.$(FASLEXT)
profile.$(FASLEXT): macros.$(FASLEXT)
diff --git a/src/interp/util.lisp b/src/interp/util.lisp
index 4243b8a4..924198d3 100644
--- a/src/interp/util.lisp
+++ b/src/interp/util.lisp
@@ -505,9 +505,8 @@
;; loads the databases, sets up autoload triggers and clears out hash tables.
;; After this function is called the image is clean and can be saved.
-(defun build-interpsys (load-files translate-files asauto-files)
+(defun build-interpsys (translate-files asauto-files)
(reroot)
- (mapcar #'|AxiomCore|::|importModule| load-files)
(|resetWorkspaceVariables|)
(|AxiomCore|::|%sysInit|)
(|initHist|)