aboutsummaryrefslogtreecommitdiff
path: root/src/lisp/Makefile.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-09-08 14:15:37 +0000
committerdos-reis <gdr@axiomatics.org>2007-09-08 14:15:37 +0000
commit157f4368b440536001959ad58167b09357273edc (patch)
tree7751794a4da9cb651610a157ef7f5fb9fd657a33 /src/lisp/Makefile.pamphlet
parentbba4fa029c774d626f2c1159e6f2be78a315899c (diff)
downloadopen-axiom-157f4368b440536001959ad58167b09357273edc.tar.gz
* configure.ac.pamphlet (axiom_optimize_options): New substitued
variable. Genrate src/lisp/core.lisp at configure time. * configure.ac: Regenerate. * configure: Likewise. * config/setup-dep.mk ($(top_builddir)/src/lisp/core.lisp): New rule. src/lisp/ * Makefile.pamphlet (fasl_ext): New. Factor out the logic for computing file extensions. (FASLS): Rename from CORE. Use it to compute the list of files to load. ($(OUT)/lisp$(EXEEXT)): Adjust. (base-lisp$(EXEEXT)): sb-cltl2 module is no longer need. (core.lisp): Now depend on core.lisp.in. Regenerate if necessary. (mostlyclean-local): Remove FASLs too. * Makefile.in: Regenerate. * core.lisp.in: New. * core.lisp.pamphlet: Move content to core.lisp.in. Remove.
Diffstat (limited to 'src/lisp/Makefile.pamphlet')
-rw-r--r--src/lisp/Makefile.pamphlet15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/lisp/Makefile.pamphlet b/src/lisp/Makefile.pamphlet
index 59031546..b5bb04c4 100644
--- a/src/lisp/Makefile.pamphlet
+++ b/src/lisp/Makefile.pamphlet
@@ -46,7 +46,7 @@ ifeq (@axiom_lisp_flavor@,gcl)
' (compiler::*ld* (concatenate (quote string) ' \
' $(GCL_LTLD) ' \
' sys-ld))) ' \
- '(compiler::link (quote ("$(CORE)")) "lisp$(EXEEXT)" ' \
+ '(compiler::link (quote ($(FASLS))) "lisp$(EXEEXT)" ' \
' (format nil "(progn (let ((*load-path* (cons ~S *load-path*))'\
' (si::*load-types* ~S))' \
' (compiler::emit-fn t))' \
@@ -63,16 +63,15 @@ endif
base-lisp$(EXEEXT): core.$(FASLEXT)
$(AXIOM_LISP) \
- $(eval_flags) '(progn #+:sbcl (require :sb-cltl2))' \
- $(eval_flags) '(load "$<")' \
+ $(eval_flags) '(load "core")' \
$(eval_flags) '(|AxiomCore|::|link| "$@" (quote nil) (function |AxiomCore|::|topLevel|))'
-core.lisp: $(srcdir)/core.lisp.pamphlet
- $(axiom_build_document) --tangle --output=$@ $<
+core.lisp: $(srcdir)/core.lisp.in
+ cd $(top_builddir) && \
+ $(SHELL) ./config.status src/lisp/sys-conf.lisp
core.$(FASLEXT): core.lisp
$(AXIOM_LISP) $(quiet_flags) \
- $(eval_flags) '(progn #+:sbcl (require :sb-cltl2))' \
$(eval_flags) '(progn #-:ecl (compile-file "$<"))' \
$(eval_flags) '(progn #+:ecl (progn (require (quote cmp)) (compile-file "$<" :system-p t) (c::build-fasl "$@" :lisp-files (quote ("core.$(OBJEXT)")))))' \
$(eval_flags) '(quit)'
@@ -108,7 +107,8 @@ COBJEXT = $(if $(findstring mingw, $(target)),$(OBJEXT),lo)
## code from core.lisp. However, the general interface compiler::link
## that GCL provides for that task is unsupported on Windows platforms.
## So, we instruct GCL so load the source file instead.
-CORE = $(if $(findstring mingw, $(target)),core.lisp,core.$(FASLEXT))
+fasl_ext = $(if $(findstring mingw, $(target)),.lisp,.$(FASLEXT))
+FASLS = $(patsubst %,"%", $(addsuffix $(fasl_ext),core))
.PHONY: all all-lisp
all: all-ax all-lisp
@@ -122,6 +122,7 @@ stamp: $(OUT)/lisp$(EXEEXT)
<<build augmented lisp>>
mostlyclean-local:
+ rm -f *.$(FASLEXT)
@rm -f $(OUT)/lisp$(EXEEXT) lisp$(EXEEXT)
@rm -f stamp