diff options
Diffstat (limited to 'src/lisp/Makefile.pamphlet')
-rw-r--r-- | src/lisp/Makefile.pamphlet | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/src/lisp/Makefile.pamphlet b/src/lisp/Makefile.pamphlet deleted file mode 100644 index 4fe2bacd..00000000 --- a/src/lisp/Makefile.pamphlet +++ /dev/null @@ -1,161 +0,0 @@ -%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. -\documentclass{article} -\usepackage{axiom} - -\title{\File{src/lisp/Makefile} Pamphlet} -\author{The Axiom Team} - -\begin{document} -\maketitle - -\begin{abstract} -\end{abstract} -\eject - -\tableofcontents -\eject - -\section{The Makefile} - -The purpose of this Makefile is to create a fresh Lisp image, [[$(OUT)/lisp]], -for use to make \Tool{interpsys} and \Tool{AXIOMsys}. To that end, -it augments an existing Lisp image, at the moment \Tool{GCL}, with -some specific C-routines. - -\section{The Makefile} - -<<build augmented lisp>>= -## Create a fresh image for building interpsys and AXIOMsys -## These objects files are the C runtime support -## and must be compiled into the Lisp image, -## as they must be present in the final interpreter -## and image. -lisp_c_objects = \ - $(build_libdir)/bsdsignal.$(COBJEXT) \ - $(build_libdir)/cfuns-c.$(COBJEXT) \ - $(build_libdir)/sockio-c.$(COBJEXT) - -$(OUT)/lisp$(EXEEXT): base-lisp$(EXEEXT) -ifeq (@axiom_lisp_flavor@,gcl) - @axiom_gcl_rsym_hack@ - echo '(let* ((sys-cc compiler::*cc*) ' \ - ' (sys-ld compiler::*ld*) ' \ - ' (compiler::*cc* (concatenate (quote string) ' \ - ' $(GCL_LTCC) ' \ - ' sys-cc)) ' \ - ' (compiler::*ld* (concatenate (quote string) ' \ - ' $(GCL_LTLD) ' \ - ' sys-ld))) ' \ - '(compiler::link (quote ($(FASLS))) "lisp$(EXEEXT)" ' \ - ' (format nil "(progn (let ((*load-path* (cons ~S *load-path*))'\ - ' (si::*load-types* ~S))' \ - ' (compiler::emit-fn t))' \ - ' (when (fboundp (quote si::sgc-on))' \ - ' (si::sgc-on nil))' \ - ' (setq si::*top-level-hook* (read-from-string \"|AxiomCore|::|topLevel|\")))"' \ - ' si::*system-directory* (quote (list ".lsp")))' \ - ' "$(lisp_c_objects) @axiom_c_runtime_extra@"))' \ - | ./base-lisp$(EXEEXT) - $(mkinstalldirs) $(OUT) - $(INSTALL_PROGRAM) lisp$(EXEEXT) $(OUT) -endif - -ifeq (@axiom_lisp_flavor@,ecl) -base_lisp_objects = ("core.$(OBJEXT)") -else -base_lisp_objects = nil -endif - - -base-lisp$(EXEEXT): core.$(FASLEXT) - $(AXIOM_LISP) \ - $(eval_flags) '(load "core")' \ - $(eval_flags) '(|AxiomCore|::|link| "$@" (quote $(base_lisp_objects)) (quote |AxiomCore|::|topLevel|))' - - -axiom_optimize_options = @axiom_optimize_options@ - -edit = sed \ - -e 's|@open_axiom_installdir[@]|$(open_axiom_installdir)|g' \ - -e 's|@axiom_optimize_options[@]|$(axiom_optimize_options)|g' \ - -e 's|@host[@]|$(host)|g' \ - -e 's|@build[@]|$(build)|g' \ - -e 's|@target[@]|$(target)|g' - -core.lisp: $(srcdir)/core.lisp.in - $(edit) $< > $@.tmp - $(top_srcdir)/config/move-if-change $@.tmp $@ - -core.$(FASLEXT): core.lisp -ifeq (@axiom_lisp_flavor@,ecl) - $(AXIOM_LISP) $(quiet_flags) \ - $(eval_flags) '(require (quote cmp))' \ - $(eval_flags) '(compile-file "$<" :system-p t)' \ - $(eval_flags) '(c::build-fasl "$@" :lisp-files (quote ("core.$(OBJEXT)")))' \ - $(eval_flags) '(quit)' -else - $(AXIOM_LISP) $(quiet_flags) \ - $(eval_flags) '(progn (compile-file "$<") (quit))' -endif - -@ - -<<*>>= -OUT = $(axiom_build_bindir) - -subdir = src/lisp/ - -pamphlets = Makefile.pamphlet - -build_libdir = ./$(top_builddir)/src/lib - -lisp_DEPENDENCIES = $(build_libdir)/cfuns-c.lo \ - $(build_libdir)/sockio-c.lo \ - $(build_libdir)/libspad.la - - -## Ideally, we would like to use Libtool for producing, and linking with, -## object files from C codes. That means any C source code -## explicitly included in OpenAxiom, or produced internally by a Lisp -## compiler. However, the SYSTEM calls by GCL on Windows is very tricky -## to convince to properly resolve path names to executables. -## Consequently we temporarily give up here, e.g., we don't -## instruct GCL to use Libtool on Windows. -GCL_LTCC = $(if $(findstring mingw, $(target)),"","$(LIBTOOL) --mode=compile ") -GCL_LTLD = $(if $(findstring mingw, $(target)),"","$(LIBTOOL) --mode=link ") -COBJEXT = $(if $(findstring mingw, $(target)),$(OBJEXT),lo) - -## Again, ideally, we would like GCL to link with the compiled Lisp -## 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. -fasl_ext = $(if $(findstring mingw, $(target)),.lisp,.$(FASLEXT)) -FASLS = $(patsubst %,"%", $(addsuffix $(fasl_ext),core)) - -.PHONY: all all-lisp -all: all-ax all-lisp - -all-ax all-lisp: stamp - -stamp: $(OUT)/lisp$(EXEEXT) - @rm -f stamp - $(STAMP) $@ - -<<build augmented lisp>> - -mostlyclean-local: - rm -f *.$(FASLEXT) - @rm -f $(OUT)/lisp$(EXEEXT) lisp$(EXEEXT) - @rm -f stamp - -clean-local: mostlyclean - -distclean-local: clean-local - @rm -f Makefile -@ - -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} |