axiom-commit Mailing List for Axiom Computer Algebra System
Brought to you by:
daly,
starseeker
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(12) |
Jun
(30) |
Jul
(5) |
Aug
(44) |
Sep
(54) |
Oct
(83) |
Nov
(138) |
Dec
(77) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(8) |
Feb
(19) |
Mar
(36) |
Apr
(57) |
May
(62) |
Jun
(95) |
Jul
(51) |
Aug
(79) |
Sep
(39) |
Oct
(25) |
Nov
(8) |
Dec
(33) |
2008 |
Jan
(35) |
Feb
(37) |
Mar
(41) |
Apr
(52) |
May
(42) |
Jun
(55) |
Jul
(42) |
Aug
(47) |
Sep
(45) |
Oct
(24) |
Nov
(53) |
Dec
(102) |
2009 |
Jan
(39) |
Feb
(58) |
Mar
(48) |
Apr
(77) |
May
(269) |
Jun
(111) |
Jul
(21) |
Aug
(102) |
Sep
(54) |
Oct
(73) |
Nov
(42) |
Dec
(26) |
2010 |
Jan
(45) |
Feb
(35) |
Mar
(15) |
Apr
(25) |
May
(80) |
Jun
(62) |
Jul
(28) |
Aug
(27) |
Sep
(31) |
Oct
(40) |
Nov
(9) |
Dec
(21) |
2011 |
Jan
(21) |
Feb
(16) |
Mar
(12) |
Apr
(9) |
May
(23) |
Jun
(2) |
Jul
(19) |
Aug
(18) |
Sep
(20) |
Oct
(5) |
Nov
(19) |
Dec
(19) |
2012 |
Jan
(20) |
Feb
(21) |
Mar
(12) |
Apr
(19) |
May
(14) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
(12) |
Feb
(16) |
Mar
(65) |
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
1
|
2
(1) |
3
(1) |
4
(7) |
5
(3) |
6
|
7
|
8
|
9
(2) |
10
|
11
(1) |
12
(3) |
13
(5) |
14
(4) |
15
(4) |
16
|
17
|
18
(3) |
19
(1) |
20
(5) |
21
|
22
|
23
|
24
|
25
(8) |
26
(2) |
27
(2) |
28
|
29
(2) |
30
|
From: <dos...@us...> - 2006-09-29 21:58:06
|
Revision: 165 http://svn.sourceforge.net/axiom/?rev=165&view=rev Author: dos-reis Date: 2006-09-29 14:57:54 -0700 (Fri, 29 Sep 2006) Log Message: ----------- More makefile work Modified Paths: -------------- branches/build-improvements/src/boot/ChangeLog.build-improvements branches/build-improvements/src/boot/Makefile.in branches/build-improvements/src/boot/Makefile.pamphlet branches/build-improvements/src/interp/ChangeLog branches/build-improvements/src/interp/Makefile.in branches/build-improvements/src/interp/Makefile.pamphlet Modified: branches/build-improvements/src/boot/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-29 02:39:00 UTC (rev 164) +++ branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-29 21:57:54 UTC (rev 165) @@ -1,3 +1,8 @@ +2006-09-29 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Rework. + * Makefile.in: Regenerate. + 2006-09-26 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (all): Create stamp file. Modified: branches/build-improvements/src/boot/Makefile.in =================================================================== --- branches/build-improvements/src/boot/Makefile.in 2006-09-29 02:39:00 UTC (rev 164) +++ branches/build-improvements/src/boot/Makefile.in 2006-09-29 21:57:54 UTC (rev 165) @@ -1,120 +1,168 @@ -OUT=${OBJ}/${SYS}/boot -DOC=${MNT}/${SYS}/doc/src/boot - LISPSYS= $(axiom_build_bindir)/lisp -BOOTSYS= ${OBJ}/${SYS}/bin/bootsys LOADSYS= $(axiom_build_bindir)/lisp -SAVESYS= ${OBJ}/${SYS}/bin/bootsys - -OBJS1= "${OUT}/boothdr.$(OBJEXT)" "${OUT}/exports.$(OBJEXT)" \ - "${OUT}/npextras.$(OBJEXT)" "${OUT}/ptyout.$(OBJEXT)" \ - "${OUT}/btincl2.$(OBJEXT)" "${OUT}/btscan2.$(OBJEXT)" \ - "${OUT}/typrops.$(OBJEXT)" "${OUT}/btpile2.$(OBJEXT)" \ - "${OUT}/typars.$(OBJEXT)" "${OUT}/tyextra.$(OBJEXT)" \ - "${OUT}/tytree1.$(OBJEXT)" -OBJS= ${OUT}/boothdr.$(OBJEXT) ${OUT}/exports.$(OBJEXT) \ - ${OUT}/npextras.$(OBJEXT) ${OUT}/ptyout.$(OBJEXT) \ - ${OUT}/btincl2.$(OBJEXT) ${OUT}/btscan2.$(OBJEXT) \ - ${OUT}/typrops.$(OBJEXT) ${OUT}/btpile2.$(OBJEXT) \ - ${OUT}/typars.$(OBJEXT) ${OUT}/tyextra.$(OBJEXT) \ - ${OUT}/tytree1.$(OBJEXT) - -BOOTS=ptyout.boot btincl2.boot typrops.boot btpile2.boot \ - typars.boot tyextra.boot trtree1.boot +BOOTSYS_FOR_TARGET = $(axiom_target_bindir)/bootsys PROCLAIMS=(load "$(srcdir)/boot-proclaims.lisp") -DEPS= (load (quote $(patsubst %, "%", $(builddir)/npextras.lisp))) +DEPS= (load (quote $(patsubst %, "%", npextras.lisp))) -CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) - +boot_objects = $(boot_objects_without_deps) $(boot_objects_with_deps) +boot_sources_without_deps = boothdr.lisp exports.lisp npextras.lisp +boot_objects_without_deps = $(boot_sources_without_deps:.lisp=.$(OBJEXT)) +boot_data_without_deps = $(boot_sources_without_deps:.lisp=.data) +boot_fn_without_deps = $(boot_sources_without_deps:.lisp=.fn) +boot_sources_with_deps = ptyout.boot btincl2.boot \ + btscan2.boot typrops.boot btpile2.boot \ + typars.boot tyextra.boot tytree1.boot -LISP_COMPILE = echo '(progn $(PROCLAIMS) \ +boot_clisp_with_deps = $(boot_sources_with_deps:.boot=.clisp) +boot_objects_with_deps = $(boot_sources_with_deps:.boot=.$(OBJEXT)) +boot_data_with_deps = $(boot_sources_with_deps:.boot=.data) +boot_fn_with_deps = $(boot_sources_with_deps:.boot=.fn) +boot_cached_clisp = $(boot_sources_with_deps:.boot=.clisp) + +COMPILE_LISP = echo '(progn $(PROCLAIMS) \ (compile-file "$<" :output-file "$@") \ ($(BYE)))' | $(LISPSYS) -LISP_COMPILE_WITH_DEPS = echo '(progn $(PROCLAIMS) $(DEPS) \ +COMPILE_LISP_WITH_DEPS = echo '(progn $(PROCLAIMS) $(DEPS) \ (compile-file "$<" :output-file "$@") \ - ($(BYE)))' | $(LISPSYS) + ($(BYE)))' | $(LISPSYS) -BOOT_TO_LISP = echo '(progn (boottran::boottocl "$@") ($(BYE)))' \ - | $(BOOTSYS) +BOOT_TO_LISP = echo '(progn (boottran::boottocl "$<") ($(BYE)))' \ + | prev-stage/bootsys subdir = src/boot/ + +# this stanza will create the final bootsys image +all: bootstrap + $(INSTALL_PROGRAM) stage2/bootsys $(axiom_build_bindir) -boot_sources = boothdr.boot bootload.lisp btincl2.boot btpile2.boot \ - btscan2.boot exports.lisp npextras.lisp ptyout.boot \ - tyextra.boot typars.boot typrops.boot tytree1.boot +.PRECIOUS: stage0/%.clisp +.PRECIOUS: stage0/%.$(OBJEXT) -boot_SOURCES = $(addsuffix .pamphlet, $(boot_sources)) +stage0_boot_clisp_with_deps = $(addprefix stage0/, $(boot_clisp_with_deps)) -pamphlet = Makefile.pamphlet $(boot_SOURCES) - -# this stanza will create the final bootsys image +stage0_boot_objects_with_deps = \ + $(addprefix stage0/, $(boot_objects_with_deps)) -all: $(SAVESYS) - -rm -f stamp - $(STAMP) stamp - -${SAVESYS}: ${OBJS} ${LOADSYS} - @ echo 44 invoking make in `pwd` with parms: - @ echo SYS= ${SYS} - @ echo LSP= ${LSP} - @ echo PART= ${PART} - @ echo SPAD= ${SPAD} - @ echo SRC= ${SRC} - @ echo INT= ${INT} - @ echo OBJ= ${OBJ} - @ echo MNT= ${MNT} - $(mkinstalldirs) ${OBJ}/${SYS}/bin - @ (cd ${OBJ}/${SYS}/bin ; echo '${CMD0}' | ${LOADSYS} > ${TMP}/trace ) - @ echo 45 ${SAVESYS} created +stage0_boot_objects = $(boot_objects_without_deps) \ + $(stage0_boot_objects_with_deps) -boot: ${BOOTS} +stage0-build: + @echo Building stage 0 + [ -d stage0 ] || $(mkinstalldirs) stage0 + -rm -f $(stage0_boot_objects_with_deps) + -rm -f $(stage0_boot_clisp_with_deps) + -rm -f stage0-build + $(MAKE) OBJECTS="$(stage0_boot_objects)" bootsys + $(STAMP) stage0-build -.PRECIOUS: $(OUT)/%.$(OBJEXT) -.PRECIOUS: $(builddir)/%.lisp +stage0/bootsys: stage0-copy + -rm -f prev-stage + $(LN_S) stage0 prev-stage -OBJECTS_WITHOUT_DEPS = \ - $(OUT)/boothdr.$(OBJEXT) \ - $(OUT)/exports.$(OBJEXT) \ - $(OUT)/npextras.$(OBJEXT) +stage0-copy: stage0-build + mv bootsys stage0 + $(STAMP) stage0-copy -$(OBJECTS_WITHOUT_DEPS): $(OUT)/%.$(OBJEXT): $(builddir)/%.lisp - $(LISP_COMPILE) +$(stage0_boot_objects): $(boot_sources_without_deps) -$(builddir)/%.lisp: $(srcdir)/%.lisp.pamphlet +stage0/%.$(OBJEXT): stage0/%.clisp + $(COMPILE_LISP_WITH_DEPS) + +stage0/%.clisp: $(srcdir)/%.boot.pamphlet + $(axiom_build_document) --tangle=$*.clisp --output=$@ $< + + +stage1/bootsys: stage1-copy + +stage1-copy: stage1-build + -rm -f stage1-copy + -rm -f prev-stage + -rm -f $(addprefix stage1/, $(boot_objects_with_deps)) + -rm -f $(addprefix stage1/, $(boot_clisp_with_deps)) + mv $(boot_objects_with_deps) stage1 + mv $(boot_clisp_with_deps) stage1 + mv $(boot_data_with_deps) $(boot_fn_with_deps) stage1 + mv bootsys stage1 + $(LN_S) stage1 prev-stage + +stage1-build: stage0/bootsys + @echo Building stage 1 + -rm -f stage1-build + [ -d stage1 ] || $(mkinstalldirs) stage1 + $(MAKE) OBJECTS="$(boot_objects)" bootsys + + +stage2/bootsys: stage2-copy + +stage2-copy: stage2-build + -rm -f prev-stage + -rm -f $(addprefix stage2/, $(boot_objects_with_deps)) + -rm -f $(addprefix stage2/, $(boot_clisp_with_deps)) + -rm -rf stage2-copy + mv $(boot_objects_with_deps) stage2 + mv $(boot_clisp_with_deps) stage2 + mv $(boot_data_with_deps) $(boot_fn_with_deps) stage2 + mv bootsys stage2 + +stage2-build: stage1/bootsys + -rm -f stage2-build + @echo Building stage 2 + [ -d stage2 ] || $(mkinstalldirs) stage2 + $(MAKE) OBJECTS="$(boot_objects)" bootsys + +.PHONY: bootstrap +bootstrap: stage2/bootsys $(axiom_build_bindir) + $(INSTALL) stage2/bootsys $(axiom_build_bindir) + +$(axiom_build_bindir): + $(mkinstalldirs) $@ + +bootsys: $(OBJECTS) + echo '(progn (mapcar (function (lambda (x) (load x))) \ + (quote ($(patsubst %, "%", $(OBJECTS))))) \ + (system::save-system "$@"))' \ + | $(LOADSYS) + +.PRECIOUS: $(boot_objects_without_deps) +.PRECIOUS: $(boot_sources_without_deps) + +$(boot_objects_without_deps): %.$(OBJEXT): %.lisp + $(COMPILE_LISP) + +%.lisp: $(srcdir)/%.lisp.pamphlet $(axiom_build_document) --tangle $< -.PRECIOUS: $(OUT)/%.$(OBJEXT) -.PRECIOUS: $(builddir)/%.lisp -OBJECTS_WITH_DEPS = \ - $(OUT)/btincl2.$(OBJEXT) \ - $(OUT)/btpile2.$(OBJEXT) \ - $(OUT)/btscan2.$(OBJEXT) \ - $(OUT)/ptyout.$(OBJEXT) \ - $(OUT)/tyextra.$(OBJEXT) \ - $(OUT)/typars.$(OBJEXT) \ - $(OUT)/typrops.$(OBJEXT) \ - $(OUT)/tytree1.$(OBJEXT) +.PRECIOUS: %.$(OBJEXT) +.PRECIOUS: %.clisp +.PRECIOUS: %.boot -$(OBJECTS_WITH_DEPS): $(OUT)/%.$(OBJEXT): $(builddir)/%.lisp - $(LISP_COMPILE_WITH_DEPS) +$(boot_objects_with_deps): $(boot_sources_without_deps) -$(builddir)/%.lisp: $(srcdir)/%.boot.pamphlet - $(axiom_build_document) --tangle=$*.clisp --output=$*.lisp $< -.PRECIOUS: $(builddir)/%.boot +$(boot_objects_with_deps): %.$(OBJEXT): %.clisp + $(COMPILE_LISP_WITH_DEPS) -$(builddir)/%.boot: $(srcdir)/%.boot.pamphlet - $(axiom_build_document) --tangle $< && \ +%.clisp: %.boot $(BOOT_TO_LISP) +.PRECIOUS: %.boot +%.boot: $(srcdir)/%.boot.pamphlet + $(axiom_build_document) --tangle $< +.PRECIOUS: %.boot + +%.boot: $(srcdir)/%.boot.pamphlet + $(axiom_build_document) --tangle $< + + mostlyclean-local: + -rm -f prev-stage + -rm -rf stage0 stage1 stage2 + -rm -f $(boot_objects_without_deps) clean-local: mostlyclean-local - -rm -f $(OBJS) - -rm -f $(SAVESYS) - -rm -f *.boot *.lisp + -rm -f $(BOOTSYS_FOR_TARGET) + -rm -f $(boot_sources) distclean-local: clean-local - -rm -rf $(OUT) Modified: branches/build-improvements/src/boot/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-29 02:39:00 UTC (rev 164) +++ branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-29 21:57:54 UTC (rev 165) @@ -964,12 +964,11 @@ There is a directory called IN that contains the boot, clisp and lisp code. This code gets copied into the intermediate directory [[${INT}/boot]] so that the compiler has a writeable directory to change. This intermediate -code is then compiled into the [[${OUT}]] directory (which is in the object -directory for the type of machine code we are constructing (rt, ps2, rios)) -then, when all of the .o files are produced we construct a lisp image that -contains the boot translator, called bootsys, which lives in the mnt/sys/bin -directory. this bootsys image is critical for the rest of the makefiles to -succeed. +code is then compiled into the current build directory +then, when all of the native object files are produced we construct a +lisp image that contains the boot translator, called [[bootsys]], which +lives in the [[$(axiom_target_bindir)]] directory. This [[bootsys]] image +is critical for the rest of the makefiles to succeed. There are two halves of this file. the first half compiles the .lisp files that live in the src/boot directory. the second half compiles the .clisp @@ -981,92 +980,29 @@ file npextras. there are 3 macros in npextras that must be in the lisp workspace (\verb$|shoeOpenInputFile| |shoeOpenOutputFile| memq$). -\subsection{Directories} -<<virtual directories>>= -OUT=${OBJ}/${SYS}/boot -DOC=${MNT}/${SYS}/doc/src/boot +\subsection{Environment} -@ -\subsection{Environment} \subsubsection{Lisp Images} We will use create and use several lisp images during the build process. We name them here for convenience. -The {\bf LISPSYS} +The [[$(LISPSYS)]] image we will use to compile the common lisp code to machine code. -The {\bf BOOTSYS} image we need to run to translate boot files -to common lisp files. - -The {\bf LOADSYS} image is a clean lisp image that we load +The [[$(LOADSYS)]] image is a clean lisp image that we load with compiled files to be saved. -The {\bf SAVESYS} image is the final name we will use as the +The [[$(BOOTSYS_FOR_TARGET)]] image is the final name we will use as the result of this Makefile. -Since this is a boot-strapping process we are in one of two -possible states. Either {\bf BOOTSYS} exists and we can use -it immediately or we need to construct it and then use it. -You'll notice that {\bf BOOTSYS} and {\bf SAVESYS} correspond -to these two cases. - <<environment>>= LISPSYS= $(axiom_build_bindir)/lisp -BOOTSYS= ${OBJ}/${SYS}/bin/bootsys LOADSYS= $(axiom_build_bindir)/lisp -SAVESYS= ${OBJ}/${SYS}/bin/bootsys - +BOOTSYS_FOR_TARGET = $(axiom_target_bindir)/bootsys @ -\subsection{The list of files} -This is a list of all of the files that must be loaded to construct the -boot translator image. Note that the order is important as earlier files -will contain code needed by later files. -Note that the {\bf OBJS1} list differs from the {\bf OBJS} list only -in that the first has each name surrounded by quotes. The {\bf OBJS1} -list is fed to lisp and the {\bf OBJS} list is used by make. Keep these -exactly in sync, including ordering, unless you have a {\sl very} good -reason. -<<environment>>= -OBJS1= "${OUT}/boothdr.$(OBJEXT)" "${OUT}/exports.$(OBJEXT)" \ - "${OUT}/npextras.$(OBJEXT)" "${OUT}/ptyout.$(OBJEXT)" \ - "${OUT}/btincl2.$(OBJEXT)" "${OUT}/btscan2.$(OBJEXT)" \ - "${OUT}/typrops.$(OBJEXT)" "${OUT}/btpile2.$(OBJEXT)" \ - "${OUT}/typars.$(OBJEXT)" "${OUT}/tyextra.$(OBJEXT)" \ - "${OUT}/tytree1.$(OBJEXT)" -OBJS= ${OUT}/boothdr.$(OBJEXT) ${OUT}/exports.$(OBJEXT) \ - ${OUT}/npextras.$(OBJEXT) ${OUT}/ptyout.$(OBJEXT) \ - ${OUT}/btincl2.$(OBJEXT) ${OUT}/btscan2.$(OBJEXT) \ - ${OUT}/typrops.$(OBJEXT) ${OUT}/btpile2.$(OBJEXT) \ - ${OUT}/typars.$(OBJEXT) ${OUT}/tyextra.$(OBJEXT) \ - ${OUT}/tytree1.$(OBJEXT) - -@ -\subsubsection{The Bootstrap files} - -{\bf BOOTS} is a list of the boot file targets. If you modify a -boot file you'll have to explicitly build the clisp files and -merge the generated code back into the pamphlet by hand. The -assumption is that if you know enough to change the fundamental -bootstrap files you know how to migrate the changes back. -This process, by design, does not occur automatically (though it -could). - -The files in the {\bf BOOTS} list are needed to bootstrap the boot -parser. They are written in boot. Invoking this Makefile with -\begin{verbatim} - make boot BOOTSYS=(path to bootsys) BYE=(lisp exit fn) -\end{verbatim} -will run notangle on the pamphlet files to create the raw boot files. -The raw boot files are translated in a {\bf bootsys} image using the -{\bf boottocl} function to create the raw clisp files. - -<<environment>>= -BOOTS=ptyout.boot btincl2.boot typrops.boot btpile2.boot \ - typars.boot tyextra.boot trtree1.boot -@ \section{Proclaim optimization} GCL, and possibly other common lisps, can generate much better code if the function argument types and return values are proclaimed. @@ -1130,179 +1066,400 @@ needed to compile a common lisp file that was translated from boot. These are collected into the {\bf npextras.lisp} \cite{6}) file. -Note that the ' symbol should not appear in this S-expression +Note that the [[\']] symbol should not appear in this S-expression because the {\bf DEPS} command will be expanded into a shell echo command and it will be surrounded by single quotes at the expansion. Adding a single quote symbol will break this expansion. <<environment>>= -DEPS= (load (quote $(patsubst %, "%", $(builddir)/npextras.lisp))) +DEPS= (load (quote $(patsubst %, "%", npextras.lisp))) @ The {\bf CMD0} S-expression is the command line we use to create -the final {\bf SAVESYS} image. This S-expression will be given to -a clean lisp image, loaded with the compiled files, and saved. +the final [[$(BOOTSYS_FOR_TARGET)]] image. This S-expression will be +given to a clean lisp image, loaded with the compiled files, and saved. -Note that the ' symbol should not appear in this S-expression +Note that the [[\']] symbol should not appear in this S-expression because the {\bf CMD0} command will be expanded into a shell echo command and it will be surrounded by single quotes at the expansion. Adding a single quote symbol will break this expansion. -The environment variable used to read: -\begin{verbatim} -CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) -\end{verbatim} -but has been changed to allow dynamic linking. The issue is that -some versions of the loader on some systems cannot save dynamically -loaded code. The new [[CMD0]] string is rumored to work with both -loaders. +\section{The Boot Compiler} -In fact, the new [[CMD0]] reads: -\begin{verbatim} -CMD0= (compiler::link (quote (${OBJS1})) "${SAVESYS}" (format nil "(let ((*load-path* (cons ~S *load-path*))(si::*load-types* ~S)) (compiler::emit-fn t)) (when (fboundp (quote si::sgc-on)) (si::sgc-on t)) (setq compiler::*default-system-p* t)" si::*system-directory* (quote (list ".lsp")))) -\end{verbatim} -and it does not work. The failure is a series of messages: -\begin{verbatim} -/home/axiom--main--1--patch-33/obj/linux/boot/exports.o(.text+0x0): In function `init_code': -: multiple definition of `init_code' -/home/axiom--main--1--patch-33/obj/linux/boot/boothdr.o(.text+0x0): first defined here -\end{verbatim} -and the problem appears to be that each [[.o]] file has [[init_code]]. +This section describes the set of object files that make the Boot compiler. -Until this is fixed we need to continue to use the old scheme. <<environment>>= -CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) - +boot_objects = $(boot_objects_without_deps) $(boot_objects_with_deps) @ -\subsection{compiled lisp from pamphlet} -<<compiled lisp from pamphlet>>= -.PRECIOUS: $(OUT)/%.$(OBJEXT) -.PRECIOUS: $(builddir)/%.lisp -OBJECTS_WITHOUT_DEPS = \ - $(OUT)/boothdr.$(OBJEXT) \ - $(OUT)/exports.$(OBJEXT) \ - $(OUT)/npextras.$(OBJEXT) +\subsection{The Bootstrap files} -$(OBJECTS_WITHOUT_DEPS): $(OUT)/%.$(OBJEXT): $(builddir)/%.lisp - $(LISP_COMPILE) +This is a list of all of the files that must be loaded to construct the +boot translator image. +<<enrivonment>>= +boot_sources = $(boot_sources_without_deps) $(boot_sources_with_deps) +boot_objects = $(boot_objects_without_deps) $(boot_objects_with_deps) -$(builddir)/%.lisp: $(srcdir)/%.lisp.pamphlet +boot_SOURCES = $(addsuffix .pamphlet, $(boot_sources)) + +pamphlet = Makefile.pamphlet $(boot_SOURCES) +@ + +[[$(boot_sources)]] is a list of the boot file targets. If you modify a +boot file you'll have to explicitly build the clisp files and +merge the generated code back into the pamphlet by hand. The +assumption is that if you know enough to change the fundamental +bootstrap files you know how to migrate the changes back. +This process, by design, does not occur automatically (though it +could). + +The Boot compiler, [[bootsys]], is built from two sets of source files: +\begin{enumerate} +\item a set of source files written in Lisp +<<environment>>= +boot_sources_without_deps = boothdr.lisp exports.lisp npextras.lisp +boot_objects_without_deps = $(boot_sources_without_deps:.lisp=.$(OBJEXT)) +boot_data_without_deps = $(boot_sources_without_deps:.lisp=.data) +boot_fn_without_deps = $(boot_sources_without_deps:.lisp=.fn) +@ + +\item a set of source files written in Boot. Note that the order is +important as earlier files will contain code needed by later files. +<<environment>>= +boot_sources_with_deps = ptyout.boot btincl2.boot \ + btscan2.boot typrops.boot btpile2.boot \ + typars.boot tyextra.boot tytree1.boot + +boot_clisp_with_deps = $(boot_sources_with_deps:.boot=.clisp) +boot_objects_with_deps = $(boot_sources_with_deps:.boot=.$(OBJEXT)) +boot_data_with_deps = $(boot_sources_with_deps:.boot=.data) +boot_fn_with_deps = $(boot_sources_with_deps:.boot=.fn) +@ +These source files use macros defined in the first set, and they be compiled +in an environment where those macros are present. +\end{enumerate} + + +The Boot source file for [[bootsys]] are automatically extracted --- +only during bootstrap --- from the pamphlets into the current build +directory. When bootstrapping, they are the inputs to the stage0, stage1 + [[bootsys]] compilers. + +<<boot from pamphlet>>= +.PRECIOUS: %.boot +%.boot: $(srcdir)/%.boot.pamphlet + $(axiom_build_document) --tangle $< +@ + +Since the Boot language is defined as a syntactic sugar over Lisp +(a reasonably tasty sugar), the +the second set of source files (written in Boot) is first translated +to Lisp, and the result of that translation is subsequently compiled to +native object files. + +Partly for bootstrapping reasons, and partly because Axiom (therefore +Boot) is not yet widespread, the pamphlets for the source files written +in Boot currently keep a cache of their translated versions. Hopefully +the maintainance of that cache will be unnecessary as the build machinery +becomes more and more improved, and Axiom gets in widespread use. +<<environment>>= +boot_cached_clisp = $(boot_sources_with_deps:.boot=.clisp) +@ + +\section{Bootstrapping Boot} + +When the system is configured for bootstrap, we build the Boot compiler --- +[[bootsys]] --- in three steps: +\begin{enumerate} +\item a stage-0 Boot compiler, built from the cached (Lisp) source files; + +\item a stage-1 Boot compiler, built the original Boot source files using the + stage-0 Boot compiler; + +\item and a stage-2 Boot compiler, built from original Boot source files + using the stage-2 Boot compiler. +\end{enumerate} +Notice that in last two steps, the source file written in Boot are first +translated to Lisp using the freshly built Boot compiler, and the resulting +Lisp files subsequently compiled to natve object files. + +Ideally, we should also compare the intermediate Lisp source files from +stage 1 and 2 to detect possible miscompilation. We don't do that +for the moment. + +\subsection{Compiling the non-Boot sources files} + +The Lisp source files that do not depend on [[npextras.lisp]] are +quite straightforward to compile: We just need to extract the Lisp +source files to the current build directory, and compile the extracted +soruce file. +<<compile lisp-without-deps from pamphlets>>= +.PRECIOUS: $(boot_objects_without_deps) +.PRECIOUS: $(boot_sources_without_deps) + +$(boot_objects_without_deps): %.$(OBJEXT): %.lisp + $(COMPILE_LISP) + +%.lisp: $(srcdir)/%.lisp.pamphlet $(axiom_build_document) --tangle $< @ -\subsection{compiled lisp with deps from pamphlet} +Notice that we do not need to do this at all stages of the bootstrapping +process because those files are neither written in Boot, nor +compiled with the Boot compiler. Consequently we do this compilation +only once (for stage 0). +\subsection{Compiling the Boot source files} + +We compile the Boot compiler source files written in Boot only +at stage 1 and 2 (when bootstrapping). As explained earlier, the +compilation of these files proceeds in two steps: +\begin{enumerate} +\item Translate the Boot source files to Lisp code, +\item compile the resulting Lisp source files to native object code. +\end{enumerate} +These files depend on macros defined in the Lisp source files without +dependency (see previous section). +<<compile Boot files from pamphlets>>= +.PRECIOUS: %.$(OBJEXT) +.PRECIOUS: %.clisp +.PRECIOUS: %.boot + +$(boot_objects_with_deps): $(boot_sources_without_deps) + +$(boot_objects_with_deps): %.$(OBJEXT): %.clisp + $(COMPILE_LISP_WITH_DEPS) + +%.clisp: %.boot + $(BOOT_TO_LISP) + +<<boot from pamphlet>> +@ + +\subsection{Building [[bootsys]]} + +The Boot compiler [[bootsys]] image is constructed as the +result of loading the needed object files in a clean Lisp image, +and saving the resulting image back on disk. +<<build bootsys>>= +bootsys: $(OBJECTS) + echo '(progn (mapcar (function (lambda (x) (load x))) \ + (quote ($(patsubst %, "%", $(OBJECTS))))) \ + (system::save-system "$@"))' \ + | $(LOADSYS) +@ + +The make rule [[bootsys]] is executed through a recursive call to [[$(MAKE)]] +from the various bootstrapping stage. The recursive call supplies +values for [[OBJECTS]]. + +\subsection{The various bootstrapping stages} + +\subsubsection{Stage 0} + +We build the stage-0 Boot compiler from the cached Lisp souces code. +<<stage 0 boot compiler>>= +.PRECIOUS: stage0/%.clisp +.PRECIOUS: stage0/%.$(OBJEXT) + +stage0_boot_clisp_with_deps = $(addprefix stage0/, $(boot_clisp_with_deps)) + +stage0_boot_objects_with_deps = \ + $(addprefix stage0/, $(boot_objects_with_deps)) + +stage0_boot_objects = $(boot_objects_without_deps) \ + $(stage0_boot_objects_with_deps) + +stage0-build: + @echo Building stage 0 + [ -d stage0 ] || $(mkinstalldirs) stage0 + -rm -f $(stage0_boot_objects_with_deps) + -rm -f $(stage0_boot_clisp_with_deps) + -rm -f stage0-build + $(MAKE) OBJECTS="$(stage0_boot_objects)" bootsys + $(STAMP) stage0-build + +stage0/bootsys: stage0-copy + -rm -f prev-stage + $(LN_S) stage0 prev-stage + +stage0-copy: stage0-build + mv bootsys stage0 + $(STAMP) stage0-copy + +$(stage0_boot_objects): $(boot_sources_without_deps) + +stage0/%.$(OBJEXT): stage0/%.clisp + $(COMPILE_LISP_WITH_DEPS) + +stage0/%.clisp: $(srcdir)/%.boot.pamphlet + $(axiom_build_document) --tangle=$*.clisp --output=$@ $< +@ + +\subsubsection{Stage 1} + +<<stage 1 boot compiler>>= + +stage1/bootsys: stage1-copy + +stage1-copy: stage1-build + -rm -f stage1-copy + -rm -f prev-stage + -rm -f $(addprefix stage1/, $(boot_objects_with_deps)) + -rm -f $(addprefix stage1/, $(boot_clisp_with_deps)) + mv $(boot_objects_with_deps) stage1 + mv $(boot_clisp_with_deps) stage1 + mv $(boot_data_with_deps) $(boot_fn_with_deps) stage1 + mv bootsys stage1 + $(LN_S) stage1 prev-stage + +stage1-build: stage0/bootsys + @echo Building stage 1 + -rm -f stage1-build + [ -d stage1 ] || $(mkinstalldirs) stage1 + $(MAKE) OBJECTS="$(boot_objects)" bootsys +@ + +\subsubsection{Stage 2} + +<<stage 2 boot compiler>>= + +stage2/bootsys: stage2-copy + +stage2-copy: stage2-build + -rm -f prev-stage + -rm -f $(addprefix stage2/, $(boot_objects_with_deps)) + -rm -f $(addprefix stage2/, $(boot_clisp_with_deps)) + -rm -rf stage2-copy + mv $(boot_objects_with_deps) stage2 + mv $(boot_clisp_with_deps) stage2 + mv $(boot_data_with_deps) $(boot_fn_with_deps) stage2 + mv bootsys stage2 + +stage2-build: stage1/bootsys + -rm -f stage2-build + @echo Building stage 2 + [ -d stage2 ] || $(mkinstalldirs) stage2 + $(MAKE) OBJECTS="$(boot_objects)" bootsys +@ + +<<bootstrap>>= +<<stage 0 boot compiler>> + +<<stage 1 boot compiler>> + +<<stage 2 boot compiler>> + +.PHONY: bootstrap +bootstrap: stage2/bootsys $(axiom_build_bindir) + $(INSTALL) stage2/bootsys $(axiom_build_bindir) + +$(axiom_build_bindir): + $(mkinstalldirs) $@ +@ + + +\section{Making the documentation} + + Notice that the progn special form that wraps the compile-file function call executes {\bf DEPS} first. The {\bf DEPS} variable expands into an s-expression that will load {\bf npextras.lisp}. This file contains macros needed at compile time. -<<compiled lisp with deps from pamphlet>>= -.PRECIOUS: $(OUT)/%.$(OBJEXT) -.PRECIOUS: $(builddir)/%.lisp -OBJECTS_WITH_DEPS = \ - $(OUT)/btincl2.$(OBJEXT) \ - $(OUT)/btpile2.$(OBJEXT) \ - $(OUT)/btscan2.$(OBJEXT) \ - $(OUT)/ptyout.$(OBJEXT) \ - $(OUT)/tyextra.$(OBJEXT) \ - $(OUT)/typars.$(OBJEXT) \ - $(OUT)/typrops.$(OBJEXT) \ - $(OUT)/tytree1.$(OBJEXT) +\subsection{Compiling Lisp files without deps from pamphlets} +<<compiled lisp from pamphlet>>= +.PRECIOUS: %.$(OBJEXT) +.PRECIOUS: %.lisp -$(OBJECTS_WITH_DEPS): $(OUT)/%.$(OBJEXT): $(builddir)/%.lisp - $(LISP_COMPILE_WITH_DEPS) +$(boot_objects_without_deps): %.$(OBJEXT): %.lisp + $(COMPILE_LISP) -$(builddir)/%.lisp: $(srcdir)/%.boot.pamphlet +%.lisp: $(srcdir)/%.lisp.pamphlet + $(axiom_build_document) --tangle $< +@ + +\subsection{Compiling Lisp files with dependence from pamphlets} + +<<compile lisp-with-deps from pamphlets>>= +.PRECIOUS: %.$(OBJEXT) +.PRECIOUS: %.lisp + +$(boot_objects_with_deps): %.$(OBJEXT): %.lisp + $(COMPILE_LISP_WITH_DEPS) + +%.lisp: $(srcdir)/%.boot.pamphlet $(axiom_build_document) --tangle=$*.clisp --output=$*.lisp $< @ \subsection{boot from pamphlet} <<boot from pamphlet>>= -.PRECIOUS: $(builddir)/%.boot +.PRECIOUS: %.boot -$(builddir)/%.boot: $(srcdir)/%.boot.pamphlet - $(axiom_build_document) --tangle $< && \ - $(BOOT_TO_LISP) +%.boot: $(srcdir)/%.boot.pamphlet + $(axiom_build_document) --tangle $< @ \section{Making the documentation} + +Notice that the progn special form that wraps the compile-file +function call executes {\bf DEPS} first. The {\bf DEPS} variable +expands into an s-expression that will load {\bf npextras.lisp}. +This file contains macros needed at compile time. <<environment>>= -LISP_COMPILE = echo '(progn $(PROCLAIMS) \ +COMPILE_LISP = echo '(progn $(PROCLAIMS) \ (compile-file "$<" :output-file "$@") \ ($(BYE)))' | $(LISPSYS) -LISP_COMPILE_WITH_DEPS = echo '(progn $(PROCLAIMS) $(DEPS) \ +COMPILE_LISP_WITH_DEPS = echo '(progn $(PROCLAIMS) $(DEPS) \ (compile-file "$<" :output-file "$@") \ - ($(BYE)))' | $(LISPSYS) + ($(BYE)))' | $(LISPSYS) -BOOT_TO_LISP = echo '(progn (boottran::boottocl "$@") ($(BYE)))' \ - | $(BOOTSYS) +BOOT_TO_LISP = echo '(progn (boottran::boottocl "$<") ($(BYE)))' \ + | prev-stage/bootsys @ \section{Cleanup} <<cleanup>>= mostlyclean-local: + -rm -f prev-stage + -rm -rf stage0 stage1 stage2 + -rm -f $(boot_objects_without_deps) clean-local: mostlyclean-local - -rm -f $(OBJS) - -rm -f $(SAVESYS) - -rm -f *.boot *.lisp + -rm -f $(BOOTSYS_FOR_TARGET) + -rm -f $(boot_sources) distclean-local: clean-local - -rm -rf $(OUT) @ \section{The Makefile} <<*>>= -<<virtual directories>> <<environment>> subdir = src/boot/ + +# this stanza will create the final bootsys image +all: bootstrap + $(INSTALL_PROGRAM) stage2/bootsys $(axiom_build_bindir) -boot_sources = boothdr.boot bootload.lisp btincl2.boot btpile2.boot \ - btscan2.boot exports.lisp npextras.lisp ptyout.boot \ - tyextra.boot typars.boot typrops.boot tytree1.boot +<<bootstrap>> -boot_SOURCES = $(addsuffix .pamphlet, $(boot_sources)) +<<build bootsys>> -pamphlet = Makefile.pamphlet $(boot_SOURCES) - -# this stanza will create the final bootsys image +<<compile lisp-without-deps from pamphlets>> -all: $(SAVESYS) - -rm -f stamp - $(STAMP) stamp - -${SAVESYS}: ${OBJS} ${LOADSYS} - @ echo 44 invoking make in `pwd` with parms: - @ echo SYS= ${SYS} - @ echo LSP= ${LSP} - @ echo PART= ${PART} - @ echo SPAD= ${SPAD} - @ echo SRC= ${SRC} - @ echo INT= ${INT} - @ echo OBJ= ${OBJ} - @ echo MNT= ${MNT} - $(mkinstalldirs) ${OBJ}/${SYS}/bin - @ (cd ${OBJ}/${SYS}/bin ; echo '${CMD0}' | ${LOADSYS} > ${TMP}/trace ) - @ echo 45 ${SAVESYS} created +<<compile Boot files from pamphlets>> -boot: ${BOOTS} -<<compiled lisp from pamphlet>> -<<compiled lisp with deps from pamphlet>> -<<boot from pamphlet>> - <<cleanup>> @ Modified: branches/build-improvements/src/interp/ChangeLog =================================================================== --- branches/build-improvements/src/interp/ChangeLog 2006-09-29 02:39:00 UTC (rev 164) +++ branches/build-improvements/src/interp/ChangeLog 2006-09-29 21:57:54 UTC (rev 165) @@ -1,3 +1,11 @@ +2006-09-29 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (BOOTSYS): Adjust definition. + (SAVESYS, AXIOMSYS): Likewise. + (<<save depsys image>>): Use "$@". + ($(DEPSYS), $(SAVESYS)): Add dependency on $(axiom_build_bindir). + * Makefile.in: Regenerate. + 2006-09-19 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (all): Don't build $(DOCFILES) yet. Modified: branches/build-improvements/src/interp/Makefile.in =================================================================== --- branches/build-improvements/src/interp/Makefile.in 2006-09-29 02:39:00 UTC (rev 164) +++ branches/build-improvements/src/interp/Makefile.in 2006-09-29 21:57:54 UTC (rev 165) @@ -11,9 +11,9 @@ LISPSYS= $(axiom_build_bindir)/lisp -BOOTSYS= ${OBJ}/${SYS}/bin/bootsys +BOOTSYS= $(axiom_build_bindir)/bootsys -DEPSYS= ${OBJ}/${SYS}/bin/depsys +DEPSYS= $(axiom_build_bindir)/depsys DEP= $(MID)/vmlisp.lisp ${MID}/ggreater.lisp \ ${MID}/hash.lisp ${MID}/bootfuns.lisp \ @@ -26,8 +26,8 @@ ${MID}/axext_l.lisp LOADSYS= $(axiom_build_bindir)/lisp -SAVESYS= ${OBJ}/${SYS}/bin/interpsys -AXIOMSYS= ${MNT}/${SYS}/bin/AXIOMsys +SAVESYS= $(axiom_build_bindir)/interpsys +AXIOMSYS= $(axiom_target_bindir)/AXIOMsys DEBUGSYS=${OBJ}/${SYS}/bin/debugsys @@ -258,6 +258,7 @@ clean: @echo 619 cleaning $(builddir) +$(SAVESYS): $(axiom_build_bindir) ${SAVESYS}: ${DEPSYS} ${OBJS} ${OUT}/bookvol5.$(OBJEXT) ${OUT}/util.$(OBJEXT) \ ${OUT}/nocompil.${LISP} ${OUT}/sys-pkg.${LISP} \ ${OUTINTERP} ${OCOBJS} ${OPOBJS} ${BROBJS} ${OUT}/obey.$(OBJEXT) \ @@ -301,12 +302,12 @@ @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> ${OUT}/makeint.lisp @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp # @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> ${OUT}/makeint.lisp - @ (cd ${OBJ}/${SYS}/bin ; \ - echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) + @echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "$@"))' | ${LISPSYS} @ echo 6 ${SAVESYS} created - @ cp ${SAVESYS} ${AXIOMSYS} + @ $(INSTALL_PROGRAM) $(SAVESYS) $(AXIOMSYS) @ echo 6a ${AXIOMSYS} created +$(DEPSYS): $(axiom_build_bindir) ${DEPSYS}: ${DEP} ${OUT}/sys-pkg.${LISP} ${OUT}/nocompil.${LISP} \ ${OUT}/bookvol5.${LISP} ${OUT}/util.${LISP} \ ${OUT}/postpar.${LISP} ${OUT}/parse.${LISP} \ @@ -359,14 +360,12 @@ @ echo '(load "${OUT}/c-util")' >> ${OUT}/makedep.lisp @ echo '(unless (probe-file "${OUT}/g-util.$(OBJEXT)") (compile-file "${OUT}/g-util.${LISP}" :output-file "${OUT}/g-util.$(OBJEXT)"))' >> ${OUT}/makedep.lisp @ echo '(load "${OUT}/g-util")' >> ${OUT}/makedep.lisp - @ (cd ${MNT}/${SYS}/bin ; \ - echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' | ${LISPSYS}) + @ echo '(progn (load "${OUT}/makedep.lisp") (spad-save "$@"))' \ + | ${LISPSYS} @ echo 4 ${DEPSYS} created - ${DEBUGSYS}: ${MID}/debugsys.lisp @ echo 7 building debugsys - @ (cd ${OBJ}/${SYS}/bin ; \ - echo '(progn (gbc t) (load "${MID}/debugsys.lisp") (user::spad-save "${DEBUGSYS}"))' | ${LISPSYS} ) + @ echo '(progn (gbc t) (load "${MID}/debugsys.lisp") (user::spad-save "$@"))' | ${LISPSYS} @ echo 8 ${DEBUGSYS} created ${MID}/exposed.lsp: $(axiom_src_algdir)/exposed.lsp.pamphlet Modified: branches/build-improvements/src/interp/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-29 02:39:00 UTC (rev 164) +++ branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-29 21:57:54 UTC (rev 165) @@ -86,7 +86,7 @@ itself to bootstrap the system). This image is assumed to have been built by a previous step in the make process. <<environment>>= -BOOTSYS= ${OBJ}/${SYS}/bin/bootsys +BOOTSYS= $(axiom_build_bindir)/bootsys @ @@ -97,7 +97,7 @@ to compile from Common Lisp to machine dependent code. <<environment>>= -DEPSYS= ${OBJ}/${SYS}/bin/depsys +DEPSYS= $(axiom_build_bindir)/depsys @ The {\bf DEP} variable contains the list of files that @@ -127,8 +127,8 @@ subdirectory and becomes the axiom executable image. <<environment>>= LOADSYS= $(axiom_build_bindir)/lisp -SAVESYS= ${OBJ}/${SYS}/bin/interpsys -AXIOMSYS= ${MNT}/${SYS}/bin/AXIOMsys +SAVESYS= $(axiom_build_bindir)/interpsys +AXIOMSYS= $(axiom_target_bindir)/AXIOMsys @ Occasionally we need to really get into the system internals. @@ -577,8 +577,8 @@ This code used to read: \begin{verbatim} <<save depsys image>>= - @ (cd ${MNT}/${SYS}/bin ; \ - echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' | ${LISPSYS}) + @ echo '(progn (load "${OUT}/makedep.lisp") (spad-save "$@"))' \ + | ${LISPSYS} @ \end{verbatim} @@ -779,6 +779,7 @@ /home/axiom--main--1--patch-33/obj/linux/interp/postpar.o(.text+0x4e78): first defined here \end{verbatim} <<depsys>>= +$(DEPSYS): $(axiom_build_bindir) ${DEPSYS}: ${DEP} ${OUT}/sys-pkg.${LISP} ${OUT}/nocompil.${LISP} \ ${OUT}/bookvol5.${LISP} ${OUT}/util.${LISP} \ ${OUT}/postpar.${LISP} ${OUT}/parse.${LISP} \ @@ -833,9 +834,10 @@ @ echo '(load "${OUT}/g-util")' >> ${OUT}/makedep.lisp <<save depsys image>> @ echo 4 ${DEPSYS} created +@ -@ \section{Building SAVESYS and AXIOMSYS} + GCL likes to tell you when it has replaced a function call by a tail-recursive call. This happens when the last form in a function is a call to the same function. In general, we don't care so we set @@ -848,6 +850,7 @@ Doing otherwise causes havoc. <<savesys>>= +$(SAVESYS): $(axiom_build_bindir) ${SAVESYS}: ${DEPSYS} ${OBJS} ${OUT}/bookvol5.$(OBJEXT) ${OUT}/util.$(OBJEXT) \ ${OUT}/nocompil.${LISP} ${OUT}/sys-pkg.${LISP} \ ${OUTINTERP} ${OCOBJS} ${OPOBJS} ${BROBJS} ${OUT}/obey.$(OBJEXT) \ @@ -891,10 +894,9 @@ @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> ${OUT}/makeint.lisp @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp # @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> ${OUT}/makeint.lisp - @ (cd ${OBJ}/${SYS}/bin ; \ - echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) + @echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "$@"))' | ${LISPSYS} @ echo 6 ${SAVESYS} created - @ cp ${SAVESYS} ${AXIOMSYS} + @ $(INSTALL_PROGRAM) $(SAVESYS) $(AXIOMSYS) @ echo 6a ${AXIOMSYS} created @ @@ -906,8 +908,7 @@ <<debugsys>>= ${DEBUGSYS}: ${MID}/debugsys.lisp @ echo 7 building debugsys - @ (cd ${OBJ}/${SYS}/bin ; \ - echo '(progn (gbc t) (load "${MID}/debugsys.lisp") (user::spad-save "${DEBUGSYS}"))' | ${LISPSYS} ) + @ echo '(progn (gbc t) (load "${MID}/debugsys.lisp") (user::spad-save "$@"))' | ${LISPSYS} @ echo 8 ${DEBUGSYS} created @ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-29 02:39:14
|
Revision: 164 http://svn.sourceforge.net/axiom/?rev=164&view=rev Author: dos-reis Date: 2006-09-28 19:39:00 -0700 (Thu, 28 Sep 2006) Log Message: ----------- Tidy build-interpsys and build-depsys Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/config/setup-dep.mk branches/build-improvements/src/interp/ChangeLog.build-improvements branches/build-improvements/src/interp/Makefile.in branches/build-improvements/src/interp/Makefile.pamphlet branches/build-improvements/src/interp/debugsys.lisp.pamphlet branches/build-improvements/src/interp/util.lisp.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-27 20:03:51 UTC (rev 163) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-29 02:39:00 UTC (rev 164) @@ -1,3 +1,8 @@ +2006-09-28 Gabriel Dos Reis <gd...@cs...> + + * config/setup-dep.mk (Makefile): Don't depend directly on + $(top_srcdir)/configure. + 2006-09-27 Gabriel Dos Reis <gd...@cs...> * config/var-def.mk (AXIOM): Move from toplevel Makefile. Modified: branches/build-improvements/config/setup-dep.mk =================================================================== --- branches/build-improvements/config/setup-dep.mk 2006-09-27 20:03:51 UTC (rev 163) +++ branches/build-improvements/config/setup-dep.mk 2006-09-29 02:39:00 UTC (rev 164) @@ -43,8 +43,7 @@ cd $(srcdir) && notangle -t8 Makefile.pamphlet > ./Makefile.in .PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_srcdir)/configure \ - $(top_srcdir)/config/var-def.mk \ +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)$@ Modified: branches/build-improvements/src/interp/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/interp/ChangeLog.build-improvements 2006-09-27 20:03:51 UTC (rev 163) +++ branches/build-improvements/src/interp/ChangeLog.build-improvements 2006-09-29 02:39:00 UTC (rev 164) @@ -1,3 +1,13 @@ +2006-09-28 Gabriel Dos Reis <gd...@cs...> + + * util.lisp.pamphlet (build-depsys): Replace last six parameters + with only indicating the build directory. + (make_depsys): Likewise. + (build-interpsys): Lose last six parameters. + * Makefile.pamphlet (${DEPSYS}): Adjust call to build-depsys. + ($(SAVESYS)) Adjust call to build-interpsys. + * debugsys.lisp.pamphlet: Likewise. + 2006-09-26 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (all): Create stamp file. Modified: branches/build-improvements/src/interp/Makefile.in =================================================================== --- branches/build-improvements/src/interp/Makefile.in 2006-09-27 20:03:51 UTC (rev 163) +++ branches/build-improvements/src/interp/Makefile.in 2006-09-29 02:39:00 UTC (rev 164) @@ -289,7 +289,7 @@ @ echo '(in-package "BOOT")' >> ${OUT}/makeint.lisp @ touch ${TIMESTAMP} @ echo '${YEARWEEK}' >> ${OUT}/makeint.lisp - @ echo '(build-interpsys (append (quote ($(patsubst %, "%", ${OBJS}))) (quote ($(patsubst %, "%", ${ASCOMP}))) (quote ($(patsubst %, "%", ${INOBJS})))) (quote ($(patsubst %, "%", ${OPOBJS}))) (quote ($(patsubst %, "%", ${OCOBJS}))) (quote ($(patsubst %, "%", ${BROBJS}))) (quote ($(patsubst %, "%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${NAGBROBJS}))) (quote ($(patsubst %, "%", ${ASAUTO}))) "${SPAD}" "${LSP}" "$(axiom_src_srcdir)" "${INT}" "${OBJ}" "${MNT}" "${SYS}")' >> ${OUT}/makeint.lisp + @ echo '(build-interpsys (append (quote ($(patsubst %, "%", ${OBJS}))) (quote ($(patsubst %, "%", ${ASCOMP}))) (quote ($(patsubst %, "%", ${INOBJS})))) (quote ($(patsubst %, "%", ${OPOBJS}))) (quote ($(patsubst %, "%", ${OCOBJS}))) (quote ($(patsubst %, "%", ${BROBJS}))) (quote ($(patsubst %, "%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${NAGBROBJS}))) (quote ($(patsubst %, "%", ${ASAUTO}))) "${SPAD}")' >> ${OUT}/makeint.lisp @ echo '(in-package "SCRATCHPAD-COMPILER")' >> ${OUT}/makeint.lisp # @ echo '(|shoeInternFile| "${MNT}/${SYS}/doc/msgs/co-eng.msgs")' >> ${OUT}/makeint.lisp @ echo '(boot::set-restart-hook)' >> ${OUT}/makeint.lisp @@ -326,7 +326,7 @@ @ echo '(load "${OUT}/bookvol5")' >> ${OUT}/makedep.lisp @ echo '(load "${OUT}/util")' >> ${OUT}/makedep.lisp @ echo '(in-package "BOOT")' >> ${OUT}/makedep.lisp - @ echo '(build-depsys (quote ($(patsubst %, "%", ${DEP}))) "${SPAD}" "${GCLDIR}" "$(axiom_src_srcdir)" "${INT}" "${OBJ}" "${MNT}" "${SYS}")' >> ${OUT}/makedep.lisp + @ echo '(build-depsys (quote ($(patsubst %, "%", ${DEP}))) "${SPAD}" "$(builddir)")' >> ${OUT}/makedep.lisp @ echo '(unless (probe-file "${OUT}/postpar.$(OBJEXT)") (compile-file "${OUT}/postpar.${LISP}" :output-file "${OUT}/postpar.$(OBJEXT)"))' >> ${OUT}/makedep.lisp @ echo '(load "${OUT}/postpar")' >> ${OUT}/makedep.lisp @ echo '(unless (probe-file "${OUT}/parse.$(OBJEXT)") (compile-file "${OUT}/parse.${LISP}" :output-file "${OUT}/parse.$(OBJEXT)"))' >> ${OUT}/makedep.lisp Modified: branches/build-improvements/src/interp/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-27 20:03:51 UTC (rev 163) +++ branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-29 02:39:00 UTC (rev 164) @@ -798,7 +798,7 @@ @ echo '(load "${OUT}/bookvol5")' >> ${OUT}/makedep.lisp @ echo '(load "${OUT}/util")' >> ${OUT}/makedep.lisp @ echo '(in-package "BOOT")' >> ${OUT}/makedep.lisp - @ echo '(build-depsys (quote ($(patsubst %, "%", ${DEP}))) "${SPAD}" "${GCLDIR}" "$(axiom_src_srcdir)" "${INT}" "${OBJ}" "${MNT}" "${SYS}")' >> ${OUT}/makedep.lisp + @ echo '(build-depsys (quote ($(patsubst %, "%", ${DEP}))) "${SPAD}" "$(builddir)")' >> ${OUT}/makedep.lisp @ echo '(unless (probe-file "${OUT}/postpar.$(OBJEXT)") (compile-file "${OUT}/postpar.${LISP}" :output-file "${OUT}/postpar.$(OBJEXT)"))' >> ${OUT}/makedep.lisp @ echo '(load "${OUT}/postpar")' >> ${OUT}/makedep.lisp @ echo '(unless (probe-file "${OUT}/parse.$(OBJEXT)") (compile-file "${OUT}/parse.${LISP}" :output-file "${OUT}/parse.$(OBJEXT)"))' >> ${OUT}/makedep.lisp @@ -879,7 +879,7 @@ @ echo '(in-package "BOOT")' >> ${OUT}/makeint.lisp @ touch ${TIMESTAMP} @ echo '${YEARWEEK}' >> ${OUT}/makeint.lisp - @ echo '(build-interpsys (append (quote ($(patsubst %, "%", ${OBJS}))) (quote ($(patsubst %, "%", ${ASCOMP}))) (quote ($(patsubst %, "%", ${INOBJS})))) (quote ($(patsubst %, "%", ${OPOBJS}))) (quote ($(patsubst %, "%", ${OCOBJS}))) (quote ($(patsubst %, "%", ${BROBJS}))) (quote ($(patsubst %, "%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${NAGBROBJS}))) (quote ($(patsubst %, "%", ${ASAUTO}))) "${SPAD}" "${LSP}" "$(axiom_src_srcdir)" "${INT}" "${OBJ}" "${MNT}" "${SYS}")' >> ${OUT}/makeint.lisp + @ echo '(build-interpsys (append (quote ($(patsubst %, "%", ${OBJS}))) (quote ($(patsubst %, "%", ${ASCOMP}))) (quote ($(patsubst %, "%", ${INOBJS})))) (quote ($(patsubst %, "%", ${OPOBJS}))) (quote ($(patsubst %, "%", ${OCOBJS}))) (quote ($(patsubst %, "%", ${BROBJS}))) (quote ($(patsubst %, "%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${NAGBROBJS}))) (quote ($(patsubst %, "%", ${ASAUTO}))) "${SPAD}")' >> ${OUT}/makeint.lisp @ echo '(in-package "SCRATCHPAD-COMPILER")' >> ${OUT}/makeint.lisp # @ echo '(|shoeInternFile| "${MNT}/${SYS}/doc/msgs/co-eng.msgs")' >> ${OUT}/makeint.lisp @ echo '(boot::set-restart-hook)' >> ${OUT}/makeint.lisp Modified: branches/build-improvements/src/interp/debugsys.lisp.pamphlet =================================================================== --- branches/build-improvements/src/interp/debugsys.lisp.pamphlet 2006-09-27 20:03:51 UTC (rev 163) +++ branches/build-improvements/src/interp/debugsys.lisp.pamphlet 2006-09-29 02:39:00 UTC (rev 164) @@ -247,13 +247,7 @@ ()) (list (thesymb "/int/interp/ax.clisp")) - (system:getenv "AXIOM") - "/lsp" - "/src" - "/int" - "/obj" - "/mnt" - *sys*) + (system:getenv "AXIOM")) (in-package "SCRATCHPAD-COMPILER") (boot::set-restart-hook) (in-package "BOOT") Modified: branches/build-improvements/src/interp/util.lisp.pamphlet =================================================================== --- branches/build-improvements/src/interp/util.lisp.pamphlet 2006-09-27 20:03:51 UTC (rev 163) +++ branches/build-improvements/src/interp/util.lisp.pamphlet 2006-09-29 02:39:00 UTC (rev 164) @@ -38,14 +38,14 @@ image but it does not have any autoload triggers or databases loaded. <<build-depsys>>= -(defun build-depsys (load-files spad lsp src int obj mnt sys) +(defun build-depsys (load-files spad build-interp-dir) #+:CCL (setq *package* (find-package "BOOT")) #+:AKCL (in-package "BOOT") (push :oldboot *features*) (mapcar #'load load-files) - (make-depsys lsp src int obj mnt sys) + (make-depsys build-interp-dir) (initroot spad) #+:AKCL (init-memory-config :cons 1000 :fixnum 400 :symbol 1000 :package 16 @@ -74,19 +74,19 @@ (compiler::emit-fn t) \end{verbatim} <<make-depsys>>= -(defun make-depsys (lsp src int obj mnt sys) +(defun make-depsys (build-interp-dir) ;; perform system initializations for building a starter system (init-memory-config) #+:AKCL (let () (mapcar #'load - (directory (concatenate 'string obj "/" sys "/interp/*.fn"))) + (directory (concatenate 'string build-interp-dir "/*.fn"))) (with-open-file - (out (concatenate 'string obj "/" sys "/interp/proclaims.lisp" ) + (out (concatenate 'string build-interp-dir "/proclaims.lisp" ) :direction :output) (compiler::make-proclaims out)) - (load (concatenate 'string obj "/" sys "/interp/proclaims.lisp"))) + (load (concatenate 'string build-interp-dir "/proclaims.lisp"))) ) @ @@ -128,8 +128,7 @@ After this function is called the image is clean and can be saved. <<build-interpsys>>= (defun build-interpsys (load-files parse-files comp-files browse-files - translate-files nagbr-files asauto-files - spad lsp src int obj mnt sys) + translate-files nagbr-files asauto-files spad) (push :oldboot *features*) (initroot spad) #+:AKCL This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-27 20:03:59
|
Revision: 163 http://svn.sourceforge.net/axiom/?rev=163&view=rev Author: dos-reis Date: 2006-09-27 13:03:51 -0700 (Wed, 27 Sep 2006) Log Message: ----------- Consolidate toplevel Makefile simplification. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet branches/build-improvements/config/var-def.mk Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-27 10:19:08 UTC (rev 162) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-27 20:03:51 UTC (rev 163) @@ -1,5 +1,16 @@ 2006-09-27 Gabriel Dos Reis <gd...@cs...> + * config/var-def.mk (AXIOM): Move from toplevel Makefile. + * Makefile.pamphlet (do-all): Remove. + (<<src>>, <<lsp>>, <<document>>): Likewise. + ($(src_stamp), $(lsp_stamp), $(lib_stamp)): Consolidate. + (VERSION): Update. + (PATH_EXPORTS): Remove. + (AXIOM): Move to config/var-def.mk. + * Makefile.in: Regenerate. + +2006-09-27 Gabriel Dos Reis <gd...@cs...> + * Makefile.pamphlet ($(src_stamp), $(lsp_stamp), $(lib_stamp)): Split from previous rule. Keep old rules to preserve some obscure dependencies. Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-27 10:19:08 UTC (rev 162) +++ branches/build-improvements/Makefile.in 2006-09-27 20:03:51 UTC (rev 163) @@ -3,7 +3,7 @@ ## -- Old-style Axiom makefile variables -- ## ---------------------------------------- -VERSION="Axiom (build improvements branch) -- 2006-09-17" +VERSION="Axiom (build improvements branch) -- 2006-09-27" SPD=$(shell pwd) SPAD=${SPD}/mnt/${SYS} LSP=${SPD}/lsp @@ -43,8 +43,6 @@ GCLOPTS="$(GCLOPTS)" -PATH_EXPORTS = AXIOM=@AXIOM@; export AXIOM; PATH=@AXIOM@/bin:$${PATH}; - subdir = build_libdir = $(builddir)/src/lib @@ -58,11 +56,7 @@ .PHONY: all -all: - $(PATH_EXPORTS) $(MAKE) do-all - -.PHONY: do-all -do-all: @axiom_required_build_utils@ stamp-build-scripts +all: @axiom_required_build_utils@ stamp-build-scripts @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs @@ -141,35 +135,16 @@ @echo Start Axiom with the command $(shell basename ${COMMAND}) @echo -srcdir: stamp-rootdirs - @echo 15 making ${SPD}/src - @( cd src ; ${ENV} ${MAKE} ) -libspadclean: - @echo 17 cleaning ${OBJ}/${SYS}/lib - @rm -rf ${OBJ}/${SYS}/lib - @( cd src ; ${ENV} ${MAKE} clean ) - @rm -f ${SPD}/src/Makefile.dvi +$(src_stamp): $(lsp_stamp) + cd $(build_srcdir) && $(ENV) $(MAKE) -lspdir: stamp-rootdirs stamp-build-scripts - @echo 19 making ${LSP} - @mkdir -p ${OBJ}/${SYS}/bin - @mkdir -p ${OBJ}/${SYS}/lsp - @(cd lsp ; ${ENV} ${MAKE}) -# @(cd lsp ; ${ENV} ${MAKE} ccldir ) +$(lsp_stamp): $(lib_stamp) + cd $(build_lspdir) && $(ENV) $(MAKE) -lspclean: - @echo 21 cleaning ${OBJ}/${SYS}/ccl - @rm -rf ${INT}/ccl - @rm -rf ${OBJ}/${SYS}/ccl +$(lib_stamp): stamp-rootdirs + cd $(build_libdir) && $(ENV) $(MAKE) -$(src_stamp): $(lsp_stamp) srcdir - -$(lsp_stamp): $(lib_stamp) lspdir - -$(lib_stamp): - cd $(build_libdir) && $(MAKE) - stamp-rootdirs: stamp-build-scripts @echo 11 checking directory structure @echo 12 Environment: ${ENV} Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-27 10:19:08 UTC (rev 162) +++ branches/build-improvements/Makefile.pamphlet 2006-09-27 20:03:51 UTC (rev 163) @@ -30,8 +30,6 @@ <<*>>= <<environment>> -PATH_EXPORTS = AXIOM=@AXIOM@; export AXIOM; PATH=@AXIOM@/bin:$${PATH}; - subdir = build_libdir = $(builddir)/src/lib @@ -45,11 +43,7 @@ .PHONY: all -all: - $(PATH_EXPORTS) $(MAKE) do-all - -.PHONY: do-all -do-all: @axiom_required_build_utils@ stamp-build-scripts +all: @axiom_required_build_utils@ stamp-build-scripts @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs @@ -60,15 +54,15 @@ <<noweb>> <<literate commands>> <<install>> -<<src>> -<<lsp>> -$(src_stamp): $(lsp_stamp) srcdir +$(src_stamp): $(lsp_stamp) + cd $(build_srcdir) && $(ENV) $(MAKE) -$(lsp_stamp): $(lib_stamp) lspdir +$(lsp_stamp): $(lib_stamp) + cd $(build_lspdir) && $(ENV) $(MAKE) -$(lib_stamp): - cd $(build_libdir) && $(MAKE) +$(lib_stamp): stamp-rootdirs + cd $(build_libdir) && $(ENV) $(MAKE) <<rootdirs>> @@ -364,7 +358,7 @@ ## -- Old-style Axiom makefile variables -- ## ---------------------------------------- -VERSION="Axiom (build improvements branch) -- 2006-09-17" +VERSION="Axiom (build improvements branch) -- 2006-09-27" SPD=$(shell pwd) SPAD=${SPD}/mnt/${SYS} LSP=${SPD}/lsp @@ -510,29 +504,7 @@ @ -\subsection{src} -We should recompile the world with the .fn information but not here. -\begin{verbatim} - ( for i in `find . -name "*.lsp"` ; \ - do echo $$i ; touch $$i ; done ) - ( for i in `find . -name "*.lisp"` ; \ - do echo $$i ; touch $$i ; done ) - @echo 15a remaking ${SRC}/interp for performance - @(cd src ; ${ENV} ${MAKE} ) -\end{verbatim} -<<src>>= -srcdir: stamp-rootdirs - @echo 15 making ${SPD}/src - @( cd src ; ${ENV} ${MAKE} ) -libspadclean: - @echo 17 cleaning ${OBJ}/${SYS}/lib - @rm -rf ${OBJ}/${SYS}/lib - @( cd src ; ${ENV} ${MAKE} clean ) - @rm -f ${SPD}/src/Makefile.dvi - -@ - \subsection{lsp} We delegate the details of constructing common lisp to the Makefiles in the subtree. We need only ensure that the Makefiles are up to date. @@ -555,20 +527,7 @@ is available at compile time then the resulting function calls are much more efficient. The [[sys-proclaims]] file contains type information about standard common lisp function calls. -<<lsp>>= -lspdir: stamp-rootdirs stamp-build-scripts - @echo 19 making ${LSP} - @mkdir -p ${OBJ}/${SYS}/bin - @mkdir -p ${OBJ}/${SYS}/lsp - @(cd lsp ; ${ENV} ${MAKE}) -# @(cd lsp ; ${ENV} ${MAKE} ccldir ) -lspclean: - @echo 21 cleaning ${OBJ}/${SYS}/ccl - @rm -rf ${INT}/ccl - @rm -rf ${OBJ}/${SYS}/ccl -@ - \subsection{install} <<install>>= install: @@ -590,29 +549,6 @@ @ -\subsection{document} - -Each file in the system is in pamphlet form. This stanza, which is not -executed by default, will walk the directories generating the -documentation for each file. These are dvi files and since they are -system-independent and machine-generated they live in the [[INT]] -subdirectory. In particular, we will build an [[INT/DOC]] subtree -mirroring the [[LSP]] and [[SRC]] subtrees. The [[INT/DOC]] -subtree can be removed with no ill effect. Since all of the pamphlet -files live in either the [[LSP]] or [[SRC]] subdirectories we make -sure the [[INT/DOC/LSP]] and [[INT/DOC/SRC]] directories exist. - -<<document>>= -document: stamp-rootdirs - @echo 22 documenting files - @mkdir -p ${INT}/doc/lsp - @mkdir -p ${INT}/doc/src - @(cd lsp ; ${ENV} ${MAKE} document ) - @(cd src ; ${ENV} ${MAKE} document ) - -@ - - Until now, pamphlet files are also \LaTeX{}ed as part of a normal build. We are moving to more standard build process where the documentation is made as a separate rule. Please, this does not go against the Modified: branches/build-improvements/config/var-def.mk =================================================================== --- branches/build-improvements/config/var-def.mk 2006-09-27 10:19:08 UTC (rev 162) +++ branches/build-improvements/config/var-def.mk 2006-09-27 20:03:51 UTC (rev 163) @@ -100,6 +100,10 @@ AXIOM_X11_CFLAGS = @X_CFLAGS@ AXIOM_X11_LDFLAGS = @X_LIBS@ @X_PRE_LIBS@ -lX11 @X_EXTRA_LIBS@ +## Where the staging build directory is found +AXIOM = @AXIOM@ +export AXIOM + ## Where to find Axiom data bases. DAASE = $(axiom_src_datadir) export DAASE This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-27 10:19:18
|
Revision: 162 http://svn.sourceforge.net/axiom/?rev=162&view=rev Author: dos-reis Date: 2006-09-27 03:19:08 -0700 (Wed, 27 Sep 2006) Log Message: ----------- * Makefile.pamphlet ($(src_stamp), $(lsp_stamp), $(lib_stamp)): Split from previous rule. Keep old rules to preserve some obscure dependencies. * Makefile.in: Regenerate. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet branches/build-improvements/src/boot/Makefile.in Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-26 08:03:19 UTC (rev 161) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-27 10:19:08 UTC (rev 162) @@ -1,3 +1,10 @@ +2006-09-27 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet ($(src_stamp), $(lsp_stamp), $(lib_stamp)): + Split from previous rule. Keep old rules to preserve some obscure + dependencies. + * Makefile.in: Regenerate. + 2006-09-26 Gabriel Dos Reis <gd...@cs...> * configure.ac.pamphlet (SRC_SUBDIRS): Move from Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-26 08:03:19 UTC (rev 161) +++ branches/build-improvements/Makefile.in 2006-09-27 10:19:08 UTC (rev 162) @@ -66,7 +66,7 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ${ENV} $(MAKE) $(lib_stamp) $(lsp_stamp) $(src_stamp) + @ ${ENV} $(MAKE) $(src_stamp) @echo 3 finished system build on `date` | tee >lastBuildDate book: @@ -163,12 +163,13 @@ @rm -rf ${INT}/ccl @rm -rf ${OBJ}/${SYS}/ccl -$(lsp_stamp): $(lib_stamp) -$(src_stamp): $(lsp_stamp) +$(src_stamp): $(lsp_stamp) srcdir -$(lib_stamp) $(lsp_stamp) $(src_stamp): - cd `dirname $@` && $(MAKE) +$(lsp_stamp): $(lib_stamp) lspdir +$(lib_stamp): + cd $(build_libdir) && $(MAKE) + stamp-rootdirs: stamp-build-scripts @echo 11 checking directory structure @echo 12 Environment: ${ENV} Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-26 08:03:19 UTC (rev 161) +++ branches/build-improvements/Makefile.pamphlet 2006-09-27 10:19:08 UTC (rev 162) @@ -53,7 +53,7 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ${ENV} $(MAKE) $(lib_stamp) $(lsp_stamp) $(src_stamp) + @ ${ENV} $(MAKE) $(src_stamp) @echo 3 finished system build on `date` | tee >lastBuildDate <<book>> @@ -63,12 +63,13 @@ <<src>> <<lsp>> -$(lsp_stamp): $(lib_stamp) -$(src_stamp): $(lsp_stamp) +$(src_stamp): $(lsp_stamp) srcdir -$(lib_stamp) $(lsp_stamp) $(src_stamp): - cd `dirname $@` && $(MAKE) +$(lsp_stamp): $(lib_stamp) lspdir +$(lib_stamp): + cd $(build_libdir) && $(MAKE) + <<rootdirs>> mostlyclean-local: Modified: branches/build-improvements/src/boot/Makefile.in =================================================================== --- branches/build-improvements/src/boot/Makefile.in 2006-09-26 08:03:19 UTC (rev 161) +++ branches/build-improvements/src/boot/Makefile.in 2006-09-27 10:19:08 UTC (rev 162) @@ -52,7 +52,7 @@ # this stanza will create the final bootsys image -al: $(SAVESYS) +all: $(SAVESYS) -rm -f stamp $(STAMP) stamp This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-26 08:03:26
|
Revision: 161 http://svn.sourceforge.net/axiom/?rev=161&view=rev Author: dos-reis Date: 2006-09-26 01:03:19 -0700 (Tue, 26 Sep 2006) Log Message: ----------- Oops. Forgot to check in from toplevel. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet branches/build-improvements/configure branches/build-improvements/configure.ac branches/build-improvements/configure.ac.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-26 08:03:19 UTC (rev 161) @@ -1,3 +1,16 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * configure.ac.pamphlet (SRC_SUBDIRS): Move from + Makefile.pamphlet. Rename from SRCDIRS. + * configure.ac: Regenerate. + * configure: Likewise. + + * Makefile.pamphlet ($(lib_stamp) $(lsp_stamp) $(src_stamp)): + Simplify. + (SRCDIRS): Move to configure.ac.pamphlet. + (ENV): Remove SRCDIRS. + * Makefile.in: Regenerate. + 2006-09-25 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (do-all): Don't make srcsetup. Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) +++ branches/build-improvements/Makefile.in 2006-09-26 08:03:19 UTC (rev 161) @@ -25,7 +25,6 @@ LDF=@LDF@ LISP=@LISP@ GCLOPTS=@GCLOPTS@ -SRCDIRS=@SRCDIRS@ pamphlets = configure.ac.pamphlet Makefile.pamphlet @@ -41,7 +40,7 @@ DOCUMENT=${axiom_build_document} \ WEAVE=${WEAVE} \ PLF="$(PLF)" CCF="$(CCF)" LDF="$(LDF)" LISP=$(LISP) \ - GCLOPTS="$(GCLOPTS)" SRCDIRS="$(SRCDIRS)" + GCLOPTS="$(GCLOPTS)" PATH_EXPORTS = AXIOM=@AXIOM@; export AXIOM; PATH=@AXIOM@/bin:$${PATH}; @@ -168,9 +167,7 @@ $(src_stamp): $(lsp_stamp) $(lib_stamp) $(lsp_stamp) $(src_stamp): - d=`dirname $@`; export d - $(mkinstalldirs) $$d - cd $$d && $(MAKE) + cd `dirname $@` && $(MAKE) stamp-rootdirs: stamp-build-scripts @echo 11 checking directory structure Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) +++ branches/build-improvements/Makefile.pamphlet 2006-09-26 08:03:19 UTC (rev 161) @@ -67,9 +67,7 @@ $(src_stamp): $(lsp_stamp) $(lib_stamp) $(lsp_stamp) $(src_stamp): - d=`dirname $@`; export d - $(mkinstalldirs) $$d - cd $$d && $(MAKE) + cd `dirname $@` && $(MAKE) <<rootdirs>> @@ -387,7 +385,6 @@ LDF=@LDF@ LISP=@LISP@ GCLOPTS=@GCLOPTS@ -SRCDIRS=@SRCDIRS@ <<pamphlets>> @@ -401,7 +398,7 @@ DOCUMENT=${axiom_build_document} \ WEAVE=${WEAVE} \ PLF="$(PLF)" CCF="$(CCF)" LDF="$(LDF)" LISP=$(LISP) \ - GCLOPTS="$(GCLOPTS)" SRCDIRS="$(SRCDIRS)" + GCLOPTS="$(GCLOPTS)" @ \subsection{rootdirs} @@ -699,16 +696,6 @@ so [[${SRC}/share/algebra/*.daase]] will be the Axiom bootstrap database files. -\subsubsection{The [[SRCDIRS]] variable} -The [[SRCDIRS]] variable is used in the [[src/Makefile.pamphlet]] -to decide what directories to build on a given platform. This is -needed at the moment because certain functions do not yet work on -all platforms. -<<SRCDIRS>>= -SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ - graphdir smandir hyperdir inputdir " -@ - \subsubsection{The [[GCLOPTS]] configure variable} The [[GCLOPTS]] lisp requires some parameters for building which vary from system Modified: branches/build-improvements/configure =================================================================== --- branches/build-improvements/configure 2006-09-26 07:56:46 UTC (rev 160) +++ branches/build-improvements/configure 2006-09-26 08:03:19 UTC (rev 161) @@ -311,7 +311,7 @@ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TOUCH AWK TAR PATCH RANLIB ac_ct_RANLIB AR LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM EGREP PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TOUCH AWK TAR PATCH RANLIB ac_ct_RANLIB AR LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM SRC_SUBDIRS EGREP PLF CCF LDF LISP GCLOPTS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -4873,9 +4873,9 @@ AXIOM=`pwd`/mnt/$target -SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ - graphdir smandir hyperdir inputdir " +SRC_SUBDIRS="boot interp share algebra etc clef doc graph sman hyper input " + axiom_host_has_bfd_h= axiom_host_has_libbfd= echo "$as_me:$LINENO: checking for egrep" >&5 @@ -5384,7 +5384,6 @@ - ac_config_files="$ac_config_files Makefile:config/var-def.mk:Makefile.in:config/setup-dep.mk" ac_config_files="$ac_config_files lsp/Makefile:config/var-def.mk:lsp/Makefile.in:config/setup-dep.mk" @@ -6148,13 +6147,13 @@ s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t s,@X_CLFAGS@,$X_CLFAGS,;t t s,@AXIOM@,$AXIOM,;t t +s,@SRC_SUBDIRS@,$SRC_SUBDIRS,;t t s,@EGREP@,$EGREP,;t t s,@PLF@,$PLF,;t t s,@CCF@,$CCF,;t t s,@LDF@,$LDF,;t t s,@LISP@,$LISP,;t t s,@GCLOPTS@,$GCLOPTS,;t t -s,@SRCDIRS@,$SRCDIRS,;t t s,@axiom_build_notangle@,$axiom_build_notangle,;t t s,@axiom_build_noweave@,$axiom_build_noweave,;t t s,@LIBOBJS@,$LIBOBJS,;t t Modified: branches/build-improvements/configure.ac =================================================================== --- branches/build-improvements/configure.ac 2006-09-26 07:56:46 UTC (rev 160) +++ branches/build-improvements/configure.ac 2006-09-26 08:03:19 UTC (rev 161) @@ -181,8 +181,8 @@ AXIOM=`pwd`/mnt/$target AC_SUBST(AXIOM) -SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ - graphdir smandir hyperdir inputdir " +SRC_SUBDIRS="boot interp share algebra etc clef doc graph sman hyper input " +AC_SUBST(SRC_SUBDIRS) axiom_host_has_bfd_h= axiom_host_has_libbfd= @@ -236,7 +236,6 @@ AC_SUBST(LDF) AC_SUBST(LISP) AC_SUBST(GCLOPTS) -AC_SUBST(SRCDIRS) AXIOM_MAKEFILE([Makefile]) AXIOM_MAKEFILE([lsp/Makefile]) AXIOM_MAKEFILE([src/Makefile]) Modified: branches/build-improvements/configure.ac.pamphlet =================================================================== --- branches/build-improvements/configure.ac.pamphlet 2006-09-26 07:56:46 UTC (rev 160) +++ branches/build-improvements/configure.ac.pamphlet 2006-09-26 08:03:19 UTC (rev 161) @@ -442,8 +442,7 @@ <<platform specific bits>>= -SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ - graphdir smandir hyperdir inputdir " +<<SRC_SUBDIRS>> <<gcl options>> @@ -483,10 +482,20 @@ AC_SUBST(LDF) AC_SUBST(LISP) AC_SUBST(GCLOPTS) -AC_SUBST(SRCDIRS) @ +\subsubsection{The [[SRC_SUBDIRS]] variable} +The [[SRC_SUBDIRS]] variable is used in the [[src/Makefile.pamphlet]] +to decide what directories to build on a given platform. This is +needed at the moment because certain functions do not yet work on +all platforms. +<<SRC_SUBDIRS>>= +SRC_SUBDIRS="boot interp share algebra etc clef doc graph sman hyper input " +AC_SUBST(SRC_SUBDIRS) +@ + + \subsubsection{Instantiating configuration files} <<instantiate config files>>= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-26 07:57:31
|
Revision: 160 http://svn.sourceforge.net/axiom/?rev=160&view=rev Author: dos-reis Date: 2006-09-26 00:56:46 -0700 (Tue, 26 Sep 2006) Log Message: ----------- More makefile simplification work. Modified Paths: -------------- branches/build-improvements/src/ChangeLog.build-improvements branches/build-improvements/src/Makefile.in branches/build-improvements/src/Makefile.pamphlet branches/build-improvements/src/algebra/ChangeLog.build-improvements branches/build-improvements/src/algebra/Makefile.in branches/build-improvements/src/algebra/Makefile.pamphlet branches/build-improvements/src/boot/ChangeLog.build-improvements branches/build-improvements/src/boot/Makefile.in branches/build-improvements/src/boot/Makefile.pamphlet branches/build-improvements/src/clef/ChangeLog.build-improvements branches/build-improvements/src/clef/Makefile.in branches/build-improvements/src/clef/Makefile.pamphlet branches/build-improvements/src/doc/ChangeLog.build-improvements branches/build-improvements/src/doc/Makefile.in branches/build-improvements/src/doc/Makefile.pamphlet branches/build-improvements/src/etc/ChangeLog.build-improvements branches/build-improvements/src/etc/Makefile.in branches/build-improvements/src/etc/Makefile.pamphlet branches/build-improvements/src/graph/ChangeLog.build-improvements branches/build-improvements/src/graph/Makefile.in branches/build-improvements/src/graph/Makefile.pamphlet branches/build-improvements/src/hyper/ChangeLog.build-improvements branches/build-improvements/src/hyper/Makefile.in branches/build-improvements/src/hyper/Makefile.pamphlet branches/build-improvements/src/input/ChangeLog.build-improvements branches/build-improvements/src/input/Makefile.pamphlet branches/build-improvements/src/interp/ChangeLog.build-improvements branches/build-improvements/src/interp/Makefile.in branches/build-improvements/src/interp/Makefile.pamphlet branches/build-improvements/src/share/ChangeLog.build-improvements branches/build-improvements/src/share/Makefile.in branches/build-improvements/src/share/Makefile.pamphlet branches/build-improvements/src/sman/ChangeLog.build-improvements branches/build-improvements/src/sman/Makefile.in branches/build-improvements/src/sman/Makefile.pamphlet Modified: branches/build-improvements/src/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,16 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (DIRS, DOCS, CLNS): Remove. + Globally rename <dir>dir to <dir>. + (clef-stamp, sman-stamp, hyper-stamp, share-stamp, book-stamp, + lib-stamp, boot-stamp, interp-stamp, alg-stamp, input-stamp, + etc-stamp, doc-stamp, graph-stamp): New variables. + + Remove <dir>clean make rules. + Rename <dir>dir make rules to $(<dir>-stamp) rules. Spell out + dependencies. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Tidy. Modified: branches/build-improvements/src/Makefile.in =================================================================== --- branches/build-improvements/src/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -1,254 +1,113 @@ -SETUP=libdir -DIRS=${SRCDIRS} -DOCS=libdocument ${DIRS:dir=document} -CLNS=libclean ${DIRS:dir=clean} +SUBDIRS = @SRC_SUBDIRS@ +clef-stamp = clef/stamp +sman-stamp = sman/stamp +hyper-stamp = hyper/stamp +share-stamp = share/stamp +book-stamp = booklets/stamp +lib-stamp = lib/stamp +boot-stamp = boot/stamp +interp-stamp = interp/stamp +alg-stamp = algebra/stamp +input-stamp = input/stamp +etc-stamp = etc/stamp +doc-stamp = doc/stamp +graph-stamp = graph/stamp + + pamphlets = Makefile.pamphlet subdir = src/ -all: ${DIRS} +all: $(addsuffix /stamp, $(SUBDIRS)) @echo 49 finished $(builddir) -setup: ${SETUP} - -clefdir: $(builddir)/clef/Makefile +$(clef-stamp): @echo 5 making $(axiom_src_srcdir)/clef - @mkdir -p ${OBJ}/${SYS}/clef - @mkdir -p ${MNT}/${SYS}/doc/src/clef - @(cd clef ; ${ENV} ${MAKE} ) - -clefdocument: $(builddir)/clef/Makefile - @echo 7 documenting $(axiom_src_srcdir)/clef - @mkdir -p ${INT}/doc/src/clef - @( cd clef ; ${ENV} ${MAKE} document ) - -clefclean: $(builddir)/clef/Makefile - @echo 8 cleaning $(axiom_src_srcdir)/clef - @( cd clef ; ${ENV} ${MAKE} clean ) - -smandir: $(builddir)/sman/Makefile + @ $(mkinstalldirs) ${OBJ}/${SYS}/clef + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/src/clef + @ cd clef && ${ENV} ${MAKE} +$(sman-stamp): $(lib-stamp) @echo 5 making $(axiom_src_srcdir)/sman - @mkdir -p ${INT}/sman - @mkdir -p ${OBJ}/${SYS}/sman - @mkdir -p ${MNT}/${SYS}/doc/src/sman - @(cd sman ; ${ENV} ${MAKE} ) - -smandocument: $(builddir)/sman/Makefile - @echo 7 documenting $(axiom_src_srcdir)/sman - @mkdir -p ${INT}/doc/src/sman - @( cd sman ; ${ENV} ${MAKE} document ) - -smanclean: $(builddir)/sman/Makefile - @echo 8 cleaning $(builddir)/sman - @( cd sman ; ${ENV} ${MAKE} clean ) - -hyperdir: $(builddir)/hyper/Makefile + @ $(mkinstalldirs) ${INT}/sman + @ $(mkinstalldirs) ${OBJ}/${SYS}/sman + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/src/sman + @ cd sman && ${ENV} ${MAKE} +$(hyper-stamp): $(lib-stamp) @echo 13 making $(axiom_src_srcdir)/hyper - @mkdir -p ${INT}/hyper - @mkdir -p ${OBJ}/${SYS}/hyper - @mkdir -p ${OBJ}/${SYS}/bin - @mkdir -p ${OBJ}/${SYS}/lib - @mkdir -p ${MNT}/${SYS}/doc/hypertex - @mkdir -p ${MNT}/${SYS}/doc/src/hyper - @(cd hyper ; ${ENV} ${MAKE} ) - -hyperdocument: $(builddir)/hyper/Makefile - @echo 15 documenting $(axiom_src_srcdir)/hyper - @mkdir -p ${INT}/doc/src/hyper - @( cd hyper ; ${ENV} ${MAKE} document ) - -hyperclean: $(builddir)/hyper/Makefile - @echo 16 cleaning $(builddir)/hyper - @( cd hyper ; ${ENV} ${MAKE} clean ) - -sharedir: $(builddir)/share/Makefile + @ $(mkinstalldirs) ${INT}/hyper + @ $(mkinstalldirs) ${OBJ}/${SYS}/hyper + @ $(mkinstalldirs) ${OBJ}/${SYS}/bin + @ $(mkinstalldirs) ${OBJ}/${SYS}/lib + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/hypertex + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/src/hyper + @ cd hyper && ${ENV} ${MAKE} +$(share-stamp): $(interp-stamp) @echo 9 making $(axiom_src_srcdir)/share - @mkdir -p ${MNT}/${SYS}/doc/hypertex/pages - @mkdir -p ${MNT}/${SYS}/lib - @(cd share ; ${ENV} ${MAKE} ) - -sharedocument: $(builddir)/share/Makefile - @echo 11 documenting $(axiom_src_srcdir)/share - @mkdir -p ${INT}/doc/src/share - @( cd share ; ${ENV} ${MAKE} document ) - -shareclean: $(builddir)/share/Makefile - @echo 12 cleaning $(builddir)/share - @( cd share ; ${ENV} ${MAKE} clean ) - -docdir: $(builddir)/doc/Makefile + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/hypertex/pages + @ $(mkinstalldirs) ${MNT}/${SYS}/lib + @ cd share && ${ENV} ${MAKE} +$(doc-stamp): @echo 41 making ${INT}/doc - @mkdir -p ${INT}/doc - @mkdir -p ${MNT}/${SYS}/bin - @(cd doc ; ${ENV} ${MAKE} ) - -docdocument: $(builddir)/doc/Makefile - @echo 43 documenting ${INT}/doc - @mkdir -p ${INT}/doc/src/doc - @( cd doc ; ${ENV} ${MAKE} document ) - -docclean: $(builddir)/doc/Makefile - @echo 44 cleaning ${INT}/doc - @( cd doc ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/doc - -bookletsdir: $(builddir)/booklets/Makefile + @ $(mkinstalldirs) ${INT}/doc + @ $(mkinstalldirs) ${MNT}/${SYS}/bin + @ cd doc && ${ENV} ${MAKE} +$(book-stamp): @echo 13 making $(axiom_src_srcdir)/booklets - @(cd booklets ; ${ENV} ${MAKE} ) - -bookletsdocument: $(builddir)/booklets/Makefile - @echo 15 documenting $(axiom_src_srcdir)/booklets - @mkdir -p ${INT}/doc/src/booklets - @( cd booklets ; ${ENV} ${MAKE} ) - -bookletsclean: $(builddir)/booklets/Makefile - @echo 16 cleaning $(builddir)/booklets - @( cd booklets ; ${ENV} ${MAKE} clean ) - - -libdir: $(builddir)/lib/Makefile + @cd booklets && ${ENV} ${MAKE} +$(lib-stamp): @echo 17 making $(builddir)/lib - @mkdir -p ${INT}/lib - @mkdir -p ${OBJ}/${SYS}/lib - @mkdir -p ${INT}/doc/src/lib - @mkdir -p ${MNT}/${SYS}/doc/src/lib - @(cd lib ; ${ENV} ${MAKE} ) - -libdocument: $(builddir)/lib/Makefile - @echo 19 documenting ${INT}/lib - @mkdir -p ${INT}/doc/src/lib - @( cd lib ; ${ENV} ${MAKE} document ) - -libclean: $(builddir)/lib/Makefile - @echo 20 cleaning $(builddir)/lib - @( cd lib ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/lib - -bootdir: $(builddir)/boot/Makefile + @$(mkinstalldirs) ${INT}/lib + @$(mkinstalldirs) ${OBJ}/${SYS}/lib + @$(mkinstalldirs) ${INT}/doc/src/lib + @$(mkinstalldirs) ${MNT}/${SYS}/doc/src/lib + @cd lib && ${ENV} ${MAKE} +$(boot-stamp): $(lib-stamp) @echo 21 making ${INT}/boot - @mkdir -p ${INT}/boot - @mkdir -p ${OBJ}/${SYS}/boot - @mkdir -p ${MNT}/${SYS}/doc/src/boot - @(cd boot ; ${ENV} ${MAKE} ) - -bootdocument: $(builddir)/boot/Makefile - @echo 23 documenting ${INT}/boot - @mkdir -p ${MNT}/${SYS}/doc/src/boot - @mkdir -p ${INT}/doc/src/boot - @( cd boot ; ${ENV} ${MAKE} document ) - -bootclean: $(builddir)/boot/Makefile - @echo 24 cleaning $(builddir)/boot - @( cd boot ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/boot - -interpdir: $(builddir)/interp/Makefile + @$(mkinstalldirs) ${INT}/boot + @$(mkinstalldirs) ${OBJ}/${SYS}/boot + @$(mkinstalldirs) ${MNT}/${SYS}/doc/src/boot + @cd boot && ${ENV} ${MAKE} +$(interp-stamp): $(boot-stamp) @echo 25 making ${INT}/interp - @mkdir -p ${INT}/interp - @mkdir -p ${INT}/algebra - @mkdir -p ${OBJ}/${SYS}/interp - @mkdir -p ${MNT}/${SYS}/autoload - @mkdir -p ${MNT}/${SYS}/algebra - @mkdir -p ${MNT}/${SYS}/doc/msgs - @mkdir -p ${MNT}/${SYS}/doc/src/interp - @(cd interp ; ${ENV} ${MAKE} ) - -interpdocument: $(builddir)/interp/Makefile - @echo 27 documenting ${INT}/interp - @mkdir -p ${MNT}/${SYS}/doc/src/interp - @mkdir -p ${INT}/doc/src/interp - @( cd interp ; ${ENV} ${MAKE} document ) - -interpclean: $(builddir)/interp/Makefile - @echo 28 cleaning ${INT}/interp - @( cd interp ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/interp - -algebradir: $(srcdir)/algebra/Makefile.pamphlet + @$(mkinstalldirs) ${INT}/interp + @$(mkinstalldirs) ${INT}/algebra + @$(mkinstalldirs) ${OBJ}/${SYS}/interp + @$(mkinstalldirs) ${MNT}/${SYS}/autoload + @$(mkinstalldirs) ${MNT}/${SYS}/algebra + @$(mkinstalldirs) ${MNT}/${SYS}/doc/msgs + @$(mkinstalldirs) ${MNT}/${SYS}/doc/src/interp + @cd interp && ${ENV} ${MAKE} +$(alg-stamp): $(share-stamp) @echo 29 making $(builddir)/algebra - @mkdir -p ${INT}/algebra - @mkdir -p ${INT}/input - @mkdir -p ${OBJ}/${SYS}/algebra - @mkdir -p ${MNT}/${SYS}/algebra - @mkdir -p ${MNT}/${SYS}/doc/src/algebra - @mkdir -p ${MNT}/${SYS}/src/algebra - $(TANGLE) -t8 -RfindAlgebraFiles $< \ + @ $(mkinstalldirs) ${INT}/algebra + @ $(mkinstalldirs) ${INT}/input + @ $(mkinstalldirs) ${OBJ}/${SYS}/algebra + @$(mkinstalldirs) ${MNT}/${SYS}/algebra + @$(mkinstalldirs) ${MNT}/${SYS}/doc/src/algebra + @$(mkinstalldirs) ${MNT}/${SYS}/src/algebra + $(TANGLE) -t8 -RfindAlgebraFiles $(srcdir)/algebra/Makefile.pamphlet \ > $(INT)/algebra/findAlgebraFiles && \ echo 30b running ${INT}/algebra/findAlgebraFiles && \ (cd $(srcdir)/algebra && . $(INT)/algebra/findAlgebraFiles) \ - >> $(builddir)/algebra/more-rules.mk && \ + >> $(builddir)/algebra/more-rules.mk cd algebra && ${ENV} ${MAKE} - -algebradocument: $(builddir)/algebra/Makefile - @echo 31 documenting $(axiom_src_srcdir)/algebra - @mkdir -p ${MNT}/${SYS}/doc/src/algebra - @mkdir -p ${INT}/doc/src/algebra - @( cd algebra ; ${ENV} ${MAKE} document ) - -algebraclean: $(builddir)/algebra/Makefile - @echo 32 cleaning ${INT}/algebra - @( cd algebra ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/algebra - -inputdir: $(builddir)/input/Makefile +$(input-stamp): $(alg-stamp) $(etc-stamp) $(clef-stamp) @echo 33 making ${INT}/input - @mkdir -p ${INT}/input - @mkdir -p ${MNT}/${SYS}/input - @mkdir -p ${MNT}/${SYS}/doc/src/input - @(cd input ; ${ENV} ${MAKE} ) - -inputdocument: $(builddir)/input/Makefile - @echo 35 documenting ${INT}/input - @mkdir -p ${INT}/doc/src/input - @( cd input ; ${ENV} ${MAKE} document ) - -inputclean: $(builddir)/input/Makefile - @echo 36 cleaning ${INT}/input - @( cd input ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/input - -etcdir: $(builddir)/etc/Makefile + @ $(mkinstalldirs) ${INT}/input + @ $(mkinstalldirs) ${MNT}/${SYS}/input + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/src/input + @ cd input && ${ENV} ${MAKE} +$(etc-stamp): $(alg-stamp) @echo 37 making ${INT}/etc - @mkdir -p ${OBJ}/${SYS}/etc - @mkdir -p ${MNT}/${SYS}/bin - @mkdir -p ${MNT}/${SYS}/lib - @(cd etc ; ${ENV} ${MAKE} ) - -etcdocument: $(builddir)/etc/Makefile - @echo 39 documenting ${INT}/etc - @mkdir -p ${INT}/doc/src/etc - @( cd etc ; ${ENV} ${MAKE} document ) - -etcclean: $(builddir)/etc/Makefile - @echo 40 cleaning ${INT}/etc - @( cd etc ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/etc - -graphdir: $(builddir)/graph/Makefile + @ $(mkinstalldirs) ${OBJ}/${SYS}/etc + @ $(mkinstalldirs) ${MNT}/${SYS}/bin + @ $(mkinstalldirs) ${MNT}/${SYS}/lib + @ cd etc && ${ENV} ${MAKE} +$(graph-stamp): $(lib-stamp) @echo 45 making ${INT}/graph - @mkdir -p ${INT}/graph/parabola - @mkdir -p ${OBJ}/${SYS}/graph - @(cd graph ; ${ENV} ${MAKE} ) - -graphdocument: $(builddir)/graph/Makefile - @echo 47 documenting ${INT}/graph - @mkdir -p ${INT}/doc/src/graph - @( cd graph ; ${ENV} ${MAKE} document ) - -graphclean: $(builddir)/graph/Makefile - @echo 48 cleaning ${INT}/graph - @( cd graph ; ${ENV} ${MAKE} clean ) - @rm -rf ${INT}/graph - @rm -rf ${OBJ}/${SYS}/graph - @rm -rf ${MNT}/${SYS}/graph - - -document: ${DOCS} - @echo 50 making docs in $(builddir) - -clean: ${CLNS} - @echo 51 cleaning $(builddir) - + @ $(mkinstalldirs) ${INT}/graph/parabola + @ $(mkinstalldirs) ${OBJ}/${SYS}/graph + @ cd graph && ${ENV} ${MAKE} Modified: branches/build-improvements/src/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -10,191 +10,150 @@ \eject \tableofcontents \eject + \section{Directory overview} + \subsection{Environment variables} -DIRS is a list of directories with the suffix {\bf dir}. -DOCS is the same list with {\bf dir} suffix replaced with {\bf document}. -CLNS is the same list with {\bf dir} suffix replaced with {\bf clean}. -Thus if we have a new directory {\bf foo} add it to the {\bf DIRS} -variable as {\bf foodir}. It will automatically be added to {\bf DOCS} -as {\bf foodocument} and {\bf CLNS} as {\bf fooclean}. - These variables are used to drive the make, make document, and make clean processes, respectively. There is a partial order of the directories which is not apparent. -The [[bootdir]] must occur first as it builds the boot language +The [[boot]] must occur first as it builds the boot language compiler and the [[bootsys]] image. -The [[interpdir]] must come second because it builds the interpreter +The [[interp]] must come second because it builds the interpreter and the [[interpsys]] image, which is the basic algebra engine. -The [[sharedir]] must occur before the [[algebradir]] because it +The [[share]] must occur before the [[algebra]] because it needs to put the databases in the proper location. -The [[algebradir]] comes next. It contains the source code for all +The [[algebra]] comes next. It contains the source code for all of the algebra that Axiom knows. -The [[etcdir]] must occur after the [[algebradir]] because it +The [[etc]] must occur after the [[algebra]] because it builds the databases from all of the [[*.NRLIB]] directories -constructed by [[algebradir]]. +constructed by [[algebra]]. -The [[inputdir]] needs to occur last because it tests +The [[input]] needs to occur last because it tests various other parts of the system. -The [[SRCDIRS]] variable is a list of directory targets. +The [[SUBDIRS]] variable is a list of directory targets. Since this varies from system to system it has been lifted -up to the top level [[Makefile.pamphlet]]. If you add a new +up to the top level [[configure.ac.pamphlet]]. If you add a new stanza to this Makefile you should check that list. <<environment>>= -SETUP=libdir -DIRS=${SRCDIRS} -DOCS=libdocument ${DIRS:dir=document} -CLNS=libclean ${DIRS:dir=clean} +SUBDIRS = @SRC_SUBDIRS@ + +clef-stamp = clef/stamp +sman-stamp = sman/stamp +hyper-stamp = hyper/stamp +share-stamp = share/stamp +book-stamp = booklets/stamp +lib-stamp = lib/stamp +boot-stamp = boot/stamp +interp-stamp = interp/stamp +alg-stamp = algebra/stamp +input-stamp = input/stamp +etc-stamp = etc/stamp +doc-stamp = doc/stamp +graph-stamp = graph/stamp + @ \subsection{The scripts directory} + The {\bf scripts} directory contains shell scripts that we use to simplify system builds. They are generally either generated by [[confiugure]], or directly copied to the final directory. We might want to revisit that design point. \subsection{The clef directory} + The {\bf clef} directory contains an Axiom command that works similar to GNU Readline. <<clefdir>>= -clefdir: $(builddir)/clef/Makefile +$(clef-stamp): @echo 5 making $(axiom_src_srcdir)/clef - @mkdir -p ${OBJ}/${SYS}/clef - @mkdir -p ${MNT}/${SYS}/doc/src/clef - @(cd clef ; ${ENV} ${MAKE} ) - -clefdocument: $(builddir)/clef/Makefile - @echo 7 documenting $(axiom_src_srcdir)/clef - @mkdir -p ${INT}/doc/src/clef - @( cd clef ; ${ENV} ${MAKE} document ) - -clefclean: $(builddir)/clef/Makefile - @echo 8 cleaning $(axiom_src_srcdir)/clef - @( cd clef ; ${ENV} ${MAKE} clean ) - + @ $(mkinstalldirs) ${OBJ}/${SYS}/clef + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/src/clef + @ cd clef && ${ENV} ${MAKE} @ + \subsection{The clef directory} + Superman (sman) is the master process that runs all of the other processes including axiom, clef, nagman, graphics, and hyperdoc <<smandir>>= -smandir: $(builddir)/sman/Makefile +$(sman-stamp): $(lib-stamp) @echo 5 making $(axiom_src_srcdir)/sman - @mkdir -p ${INT}/sman - @mkdir -p ${OBJ}/${SYS}/sman - @mkdir -p ${MNT}/${SYS}/doc/src/sman - @(cd sman ; ${ENV} ${MAKE} ) - -smandocument: $(builddir)/sman/Makefile - @echo 7 documenting $(axiom_src_srcdir)/sman - @mkdir -p ${INT}/doc/src/sman - @( cd sman ; ${ENV} ${MAKE} document ) - -smanclean: $(builddir)/sman/Makefile - @echo 8 cleaning $(builddir)/sman - @( cd sman ; ${ENV} ${MAKE} clean ) - + @ $(mkinstalldirs) ${INT}/sman + @ $(mkinstalldirs) ${OBJ}/${SYS}/sman + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/src/sman + @ cd sman && ${ENV} ${MAKE} @ + \subsection{The hyper directory} + Hyperdoc is the Axiom document browser. <<hyperdir>>= -hyperdir: $(builddir)/hyper/Makefile +$(hyper-stamp): $(lib-stamp) @echo 13 making $(axiom_src_srcdir)/hyper - @mkdir -p ${INT}/hyper - @mkdir -p ${OBJ}/${SYS}/hyper - @mkdir -p ${OBJ}/${SYS}/bin - @mkdir -p ${OBJ}/${SYS}/lib - @mkdir -p ${MNT}/${SYS}/doc/hypertex - @mkdir -p ${MNT}/${SYS}/doc/src/hyper - @(cd hyper ; ${ENV} ${MAKE} ) - -hyperdocument: $(builddir)/hyper/Makefile - @echo 15 documenting $(axiom_src_srcdir)/hyper - @mkdir -p ${INT}/doc/src/hyper - @( cd hyper ; ${ENV} ${MAKE} document ) - -hyperclean: $(builddir)/hyper/Makefile - @echo 16 cleaning $(builddir)/hyper - @( cd hyper ; ${ENV} ${MAKE} clean ) - + @ $(mkinstalldirs) ${INT}/hyper + @ $(mkinstalldirs) ${OBJ}/${SYS}/hyper + @ $(mkinstalldirs) ${OBJ}/${SYS}/bin + @ $(mkinstalldirs) ${OBJ}/${SYS}/lib + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/hypertex + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/src/hyper + @ cd hyper && ${ENV} ${MAKE} @ + \subsection{The share directory} + The {\bf share} directory files that are shared by all version of the system. <<sharedir>>= -sharedir: $(builddir)/share/Makefile +$(share-stamp): $(interp-stamp) @echo 9 making $(axiom_src_srcdir)/share - @mkdir -p ${MNT}/${SYS}/doc/hypertex/pages - @mkdir -p ${MNT}/${SYS}/lib - @(cd share ; ${ENV} ${MAKE} ) - -sharedocument: $(builddir)/share/Makefile - @echo 11 documenting $(axiom_src_srcdir)/share - @mkdir -p ${INT}/doc/src/share - @( cd share ; ${ENV} ${MAKE} document ) - -shareclean: $(builddir)/share/Makefile - @echo 12 cleaning $(builddir)/share - @( cd share ; ${ENV} ${MAKE} clean ) - + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/hypertex/pages + @ $(mkinstalldirs) ${MNT}/${SYS}/lib + @ cd share && ${ENV} ${MAKE} @ + \subsection{The booklet directory} + The {\bf booklet} directory contains pamphlet files that document Axiom at a "higher level" than any particular pamphlet file. Booklets can be stand-alone descriptions (e.g. the Rosetta.pamphlet), top-down slices thru the system (e.g. the Integration.pamphlet), or horizontal slices thru the system (e.g. the Matrix.pamphlet). <<bookletsdir>>= -bookletsdir: $(builddir)/booklets/Makefile +$(book-stamp): @echo 13 making $(axiom_src_srcdir)/booklets - @(cd booklets ; ${ENV} ${MAKE} ) - -bookletsdocument: $(builddir)/booklets/Makefile - @echo 15 documenting $(axiom_src_srcdir)/booklets - @mkdir -p ${INT}/doc/src/booklets - @( cd booklets ; ${ENV} ${MAKE} ) - -bookletsclean: $(builddir)/booklets/Makefile - @echo 16 cleaning $(builddir)/booklets - @( cd booklets ; ${ENV} ${MAKE} clean ) - - + @cd booklets && ${ENV} ${MAKE} @ + \subsection{The lib directory} + The {\bf lib} directory is used to build {\bf libspad.a} which contains C code for extending the underlying Common Lisp systems. It is built early in the process of system building because we need to make {\bf libspad.a} before we make the Common Lisps. <<libdir>>= -libdir: $(builddir)/lib/Makefile +$(lib-stamp): @echo 17 making $(builddir)/lib - @mkdir -p ${INT}/lib - @mkdir -p ${OBJ}/${SYS}/lib - @mkdir -p ${INT}/doc/src/lib - @mkdir -p ${MNT}/${SYS}/doc/src/lib - @(cd lib ; ${ENV} ${MAKE} ) - -libdocument: $(builddir)/lib/Makefile - @echo 19 documenting ${INT}/lib - @mkdir -p ${INT}/doc/src/lib - @( cd lib ; ${ENV} ${MAKE} document ) - -libclean: $(builddir)/lib/Makefile - @echo 20 cleaning $(builddir)/lib - @( cd lib ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/lib - + @$(mkinstalldirs) ${INT}/lib + @$(mkinstalldirs) ${OBJ}/${SYS}/lib + @$(mkinstalldirs) ${INT}/doc/src/lib + @$(mkinstalldirs) ${MNT}/${SYS}/doc/src/lib + @cd lib && ${ENV} ${MAKE} @ + \subsection{The boot directory} + Axiom is built in layers. The first layer is contructed into an image called {\bf bootsys}. The {\bf bootsys} image is used to translate boot code to common lisp code. Since a boot coded @@ -204,55 +163,35 @@ common lisp form. This directory contains those files. <<bootdir>>= -bootdir: $(builddir)/boot/Makefile +$(boot-stamp): $(lib-stamp) @echo 21 making ${INT}/boot - @mkdir -p ${INT}/boot - @mkdir -p ${OBJ}/${SYS}/boot - @mkdir -p ${MNT}/${SYS}/doc/src/boot - @(cd boot ; ${ENV} ${MAKE} ) - -bootdocument: $(builddir)/boot/Makefile - @echo 23 documenting ${INT}/boot - @mkdir -p ${MNT}/${SYS}/doc/src/boot - @mkdir -p ${INT}/doc/src/boot - @( cd boot ; ${ENV} ${MAKE} document ) - -bootclean: $(builddir)/boot/Makefile - @echo 24 cleaning $(builddir)/boot - @( cd boot ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/boot - + @$(mkinstalldirs) ${INT}/boot + @$(mkinstalldirs) ${OBJ}/${SYS}/boot + @$(mkinstalldirs) ${MNT}/${SYS}/doc/src/boot + @cd boot && ${ENV} ${MAKE} @ + \subsection{The interp directory} + Once {\bf bootsys} exists we need to build {\bf depsys} and {\bf interpsys}. Since these two images share a lot of files they are built in the interp subdirectory using the same Makefile. <<interpdir>>= -interpdir: $(builddir)/interp/Makefile +$(interp-stamp): $(boot-stamp) @echo 25 making ${INT}/interp - @mkdir -p ${INT}/interp - @mkdir -p ${INT}/algebra - @mkdir -p ${OBJ}/${SYS}/interp - @mkdir -p ${MNT}/${SYS}/autoload - @mkdir -p ${MNT}/${SYS}/algebra - @mkdir -p ${MNT}/${SYS}/doc/msgs - @mkdir -p ${MNT}/${SYS}/doc/src/interp - @(cd interp ; ${ENV} ${MAKE} ) - -interpdocument: $(builddir)/interp/Makefile - @echo 27 documenting ${INT}/interp - @mkdir -p ${MNT}/${SYS}/doc/src/interp - @mkdir -p ${INT}/doc/src/interp - @( cd interp ; ${ENV} ${MAKE} document ) - -interpclean: $(builddir)/interp/Makefile - @echo 28 cleaning ${INT}/interp - @( cd interp ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/interp - + @$(mkinstalldirs) ${INT}/interp + @$(mkinstalldirs) ${INT}/algebra + @$(mkinstalldirs) ${OBJ}/${SYS}/interp + @$(mkinstalldirs) ${MNT}/${SYS}/autoload + @$(mkinstalldirs) ${MNT}/${SYS}/algebra + @$(mkinstalldirs) ${MNT}/${SYS}/doc/msgs + @$(mkinstalldirs) ${MNT}/${SYS}/doc/src/interp + @cd interp && ${ENV} ${MAKE} @ + \subsection{The algebra directory} + The algebra directory contains code written in Axiom's computer algebra language called {\bf spad}. There are two compilers for this language, the spad compiler and the {\bf Aldor}\cite{1} compiler. @@ -265,7 +204,9 @@ interpreter. Files which end in ``.spad'' use the internal spad compiler. Files which end in ``.as'' use the external Aldor compiler. + \subsubsection{Making the Makefile} + The main body of the algebra Makefile is extracted from the Makefile.pamphlet file as usual. It contains generic rules for making all the .spad files in a series of ``layers'' such that @@ -285,34 +226,24 @@ Further details are provided in [[src/algebra/Makefile.dvi]] file. <<algebradir>>= -algebradir: $(srcdir)/algebra/Makefile.pamphlet +$(alg-stamp): $(share-stamp) @echo 29 making $(builddir)/algebra - @mkdir -p ${INT}/algebra - @mkdir -p ${INT}/input - @mkdir -p ${OBJ}/${SYS}/algebra - @mkdir -p ${MNT}/${SYS}/algebra - @mkdir -p ${MNT}/${SYS}/doc/src/algebra - @mkdir -p ${MNT}/${SYS}/src/algebra - $(TANGLE) -t8 -RfindAlgebraFiles $< \ + @ $(mkinstalldirs) ${INT}/algebra + @ $(mkinstalldirs) ${INT}/input + @ $(mkinstalldirs) ${OBJ}/${SYS}/algebra + @$(mkinstalldirs) ${MNT}/${SYS}/algebra + @$(mkinstalldirs) ${MNT}/${SYS}/doc/src/algebra + @$(mkinstalldirs) ${MNT}/${SYS}/src/algebra + $(TANGLE) -t8 -RfindAlgebraFiles $(srcdir)/algebra/Makefile.pamphlet \ > $(INT)/algebra/findAlgebraFiles && \ echo 30b running ${INT}/algebra/findAlgebraFiles && \ (cd $(srcdir)/algebra && . $(INT)/algebra/findAlgebraFiles) \ - >> $(builddir)/algebra/more-rules.mk && \ + >> $(builddir)/algebra/more-rules.mk cd algebra && ${ENV} ${MAKE} - -algebradocument: $(builddir)/algebra/Makefile - @echo 31 documenting $(axiom_src_srcdir)/algebra - @mkdir -p ${MNT}/${SYS}/doc/src/algebra - @mkdir -p ${INT}/doc/src/algebra - @( cd algebra ; ${ENV} ${MAKE} document ) - -algebraclean: $(builddir)/algebra/Makefile - @echo 32 cleaning ${INT}/algebra - @( cd algebra ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/algebra - @ + \subsection{The input directory} + The input directory contains code used for examples, regression testing, and bug tracking. In a shipped system the working examples are collected and documented so a user can learn how to use Axiom's @@ -328,91 +259,51 @@ that nothing has been broken in the process of fixing bugs. <<inputdir>>= -inputdir: $(builddir)/input/Makefile +$(input-stamp): $(alg-stamp) $(etc-stamp) $(clef-stamp) @echo 33 making ${INT}/input - @mkdir -p ${INT}/input - @mkdir -p ${MNT}/${SYS}/input - @mkdir -p ${MNT}/${SYS}/doc/src/input - @(cd input ; ${ENV} ${MAKE} ) - -inputdocument: $(builddir)/input/Makefile - @echo 35 documenting ${INT}/input - @mkdir -p ${INT}/doc/src/input - @( cd input ; ${ENV} ${MAKE} document ) - -inputclean: $(builddir)/input/Makefile - @echo 36 cleaning ${INT}/input - @( cd input ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/input - + @ $(mkinstalldirs) ${INT}/input + @ $(mkinstalldirs) ${MNT}/${SYS}/input + @ $(mkinstalldirs) ${MNT}/${SYS}/doc/src/input + @ cd input && ${ENV} ${MAKE} @ + \subsection{The etc directory} + The etc directory contains code used as tools surrounding Axiom. The asq \cite{2} command, contained in this directory, is useful for finding detailed information about domains, packages, and categories from the shell without running Axiom. <<etcdir>>= -etcdir: $(builddir)/etc/Makefile +$(etc-stamp): $(alg-stamp) @echo 37 making ${INT}/etc - @mkdir -p ${OBJ}/${SYS}/etc - @mkdir -p ${MNT}/${SYS}/bin - @mkdir -p ${MNT}/${SYS}/lib - @(cd etc ; ${ENV} ${MAKE} ) - -etcdocument: $(builddir)/etc/Makefile - @echo 39 documenting ${INT}/etc - @mkdir -p ${INT}/doc/src/etc - @( cd etc ; ${ENV} ${MAKE} document ) - -etcclean: $(builddir)/etc/Makefile - @echo 40 cleaning ${INT}/etc - @( cd etc ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/etc - + @ $(mkinstalldirs) ${OBJ}/${SYS}/etc + @ $(mkinstalldirs) ${MNT}/${SYS}/bin + @ $(mkinstalldirs) ${MNT}/${SYS}/lib + @ cd etc && ${ENV} ${MAKE} @ + \subsection{The doc directory} The doc directory contains code used for documenting Axiom. <<docdir>>= -docdir: $(builddir)/doc/Makefile +$(doc-stamp): @echo 41 making ${INT}/doc - @mkdir -p ${INT}/doc - @mkdir -p ${MNT}/${SYS}/bin - @(cd doc ; ${ENV} ${MAKE} ) - -docdocument: $(builddir)/doc/Makefile - @echo 43 documenting ${INT}/doc - @mkdir -p ${INT}/doc/src/doc - @( cd doc ; ${ENV} ${MAKE} document ) - -docclean: $(builddir)/doc/Makefile - @echo 44 cleaning ${INT}/doc - @( cd doc ; ${ENV} ${MAKE} clean ) - @rm -rf ${OBJ}/${SYS}/doc - + @ $(mkinstalldirs) ${INT}/doc + @ $(mkinstalldirs) ${MNT}/${SYS}/bin + @ cd doc && ${ENV} ${MAKE} @ + \subsection{The graph directory} + <<graphdir>>= -graphdir: $(builddir)/graph/Makefile +$(graph-stamp): $(lib-stamp) @echo 45 making ${INT}/graph - @mkdir -p ${INT}/graph/parabola - @mkdir -p ${OBJ}/${SYS}/graph - @(cd graph ; ${ENV} ${MAKE} ) - -graphdocument: $(builddir)/graph/Makefile - @echo 47 documenting ${INT}/graph - @mkdir -p ${INT}/doc/src/graph - @( cd graph ; ${ENV} ${MAKE} document ) - -graphclean: $(builddir)/graph/Makefile - @echo 48 cleaning ${INT}/graph - @( cd graph ; ${ENV} ${MAKE} clean ) - @rm -rf ${INT}/graph - @rm -rf ${OBJ}/${SYS}/graph - @rm -rf ${MNT}/${SYS}/graph - + @ $(mkinstalldirs) ${INT}/graph/parabola + @ $(mkinstalldirs) ${OBJ}/${SYS}/graph + @ cd graph && ${ENV} ${MAKE} @ + \section{The Makefile} This Makefile gets called by the {\bf libdir} stanza is executed to build {\bf libspad.a} which contains code needed by the underlying lisp. @@ -427,11 +318,9 @@ subdir = src/ -all: ${DIRS} +all: $(addsuffix /stamp, $(SUBDIRS)) @echo 49 finished $(builddir) -setup: ${SETUP} - <<clefdir>> <<smandir>> <<hyperdir>> @@ -445,13 +334,6 @@ <<inputdir>> <<etcdir>> <<graphdir>> - -document: ${DOCS} - @echo 50 making docs in $(builddir) - -clean: ${CLNS} - @echo 51 cleaning $(builddir) - @ \eject \begin{thebibliography}{99} Modified: branches/build-improvements/src/algebra/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/algebra/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/algebra/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,7 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + 2006-09-19 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (all): Don't build $(DOCFILES) yet. Modified: branches/build-improvements/src/algebra/Makefile.in =================================================================== --- branches/build-improvements/src/algebra/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/algebra/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -753,6 +753,8 @@ all: src ${OUT}/libdb.text ${TESTS} @ echo 4302 finished $(builddir) + -rm -f stamp + $(STAMP) stamp #all: ${SUBPART} Modified: branches/build-improvements/src/algebra/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/algebra/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/algebra/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -2035,6 +2035,8 @@ all: src ${OUT}/libdb.text ${TESTS} @ echo 4302 finished $(builddir) + -rm -f stamp + $(STAMP) stamp #all: ${SUBPART} Modified: branches/build-improvements/src/boot/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Remove generic rules for making DVI, they are Modified: branches/build-improvements/src/boot/Makefile.in =================================================================== --- branches/build-improvements/src/boot/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/boot/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -51,6 +51,10 @@ pamphlet = Makefile.pamphlet $(boot_SOURCES) # this stanza will create the final bootsys image + +al: $(SAVESYS) + -rm -f stamp + $(STAMP) stamp ${SAVESYS}: ${OBJS} ${LOADSYS} @ echo 44 invoking make in `pwd` with parms: @@ -62,6 +66,7 @@ @ echo INT= ${INT} @ echo OBJ= ${OBJ} @ echo MNT= ${MNT} + $(mkinstalldirs) ${OBJ}/${SYS}/bin @ (cd ${OBJ}/${SYS}/bin ; echo '${CMD0}' | ${LOADSYS} > ${TMP}/trace ) @ echo 45 ${SAVESYS} created Modified: branches/build-improvements/src/boot/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -1278,6 +1278,10 @@ pamphlet = Makefile.pamphlet $(boot_SOURCES) # this stanza will create the final bootsys image + +all: $(SAVESYS) + -rm -f stamp + $(STAMP) stamp ${SAVESYS}: ${OBJS} ${LOADSYS} @ echo 44 invoking make in `pwd` with parms: @@ -1289,6 +1293,7 @@ @ echo INT= ${INT} @ echo OBJ= ${OBJ} @ echo MNT= ${MNT} + $(mkinstalldirs) ${OBJ}/${SYS}/bin @ (cd ${OBJ}/${SYS}/bin ; echo '${CMD0}' | ${LOADSYS} > ${TMP}/trace ) @ echo 45 ${SAVESYS} created Modified: branches/build-improvements/src/clef/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/clef/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/clef/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp files. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Simplify. Modified: branches/build-improvements/src/clef/Makefile.in =================================================================== --- branches/build-improvements/src/clef/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/clef/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -23,6 +23,8 @@ all: ${OUT}/clef @ echo 6 finished $(builddir) + -rm -f stamp + $(STAMP) stamp ${OUT}/clef: $(clef_objects) ${CC} $(clef_objects) $(LDFLAGS) -o $@ Modified: branches/build-improvements/src/clef/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/clef/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/clef/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -62,6 +62,8 @@ all: ${OUT}/clef @ echo 6 finished $(builddir) + -rm -f stamp + $(STAMP) stamp <<edible>> Modified: branches/build-improvements/src/doc/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/doc/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/doc/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (subdir): New. Modified: branches/build-improvements/src/doc/Makefile.in =================================================================== --- branches/build-improvements/src/doc/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/doc/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -15,6 +15,8 @@ all: ${FILES} ${CMDS} @echo 9 finished $(builddir) + -rm -f stamp + $(STAMP) stamp ${OUT}/booklet: ${MID}/booklet.o @echo 6 making ${OUT}/booklet from ${MID}/booklet.o Modified: branches/build-improvements/src/doc/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/doc/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/doc/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -160,6 +160,8 @@ all: ${FILES} ${CMDS} @echo 9 finished $(builddir) + -rm -f stamp + $(STAMP) stamp <<booklet>> <<bibtex>> Modified: branches/build-improvements/src/etc/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/etc/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/etc/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (subdir): New. Modified: branches/build-improvements/src/etc/Makefile.in =================================================================== --- branches/build-improvements/src/etc/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/etc/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -10,6 +10,8 @@ all: ${MNT}/${SYS}/algebra/*.daase ${OUT}/asq ${LIB}/summary \ ${LIB}/copyright ${OUT}/axiom @echo 6 finished $(builddir) + -rm -f stamp + $(STAMP) stamp ${MNT}/${SYS}/algebra/*.daase: ${INT}/algebra/*.NRLIB/code.o @ echo 4 rebuilding databases... Modified: branches/build-improvements/src/etc/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/etc/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/etc/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -92,6 +92,8 @@ all: ${MNT}/${SYS}/algebra/*.daase ${OUT}/asq ${LIB}/summary \ ${LIB}/copyright ${OUT}/axiom @echo 6 finished $(builddir) + -rm -f stamp + $(STAMP) stamp <<dbcomplete>> <<asq>> Modified: branches/build-improvements/src/graph/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/graph/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/graph/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Simplify. Modified: branches/build-improvements/src/graph/Makefile.in =================================================================== --- branches/build-improvements/src/graph/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/graph/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -12,6 +12,8 @@ all: ${DIRS} $(MID)/data $(MID)/graph0 @ echo 24 finished ${IN} + -rm -f stamp + $(STAMP) stamp viewmandir: $(builddir)/viewman/Makefile @ echo 1 making $(axiom_src_srcdir)/graph/viewman Modified: branches/build-improvements/src/graph/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/graph/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/graph/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -330,6 +330,8 @@ all: ${DIRS} $(MID)/data $(MID)/graph0 @ echo 24 finished ${IN} + -rm -f stamp + $(STAMP) stamp <<viewmandir>> <<Gdrawsdir>> Modified: branches/build-improvements/src/hyper/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/hyper/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/hyper/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-25 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (${HYPER}/pages/ht.db): Create Modified: branches/build-improvements/src/hyper/Makefile.in =================================================================== --- branches/build-improvements/src/hyper/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/hyper/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -93,6 +93,8 @@ all: $(HEADERS) ${BITMAPS} ${SCRIPTS} ${BINFILES} ${HYPER}/pages/ht.db @ echo 141 finished ${IN} + -rm -f stamp + $(STAMP) stamp mostclean-local: Modified: branches/build-improvements/src/hyper/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/hyper/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/hyper/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -247,6 +247,8 @@ all: $(HEADERS) ${BITMAPS} ${SCRIPTS} ${BINFILES} ${HYPER}/pages/ht.db @ echo 141 finished ${IN} + -rm -f stamp + $(STAMP) stamp mostclean-local: Modified: branches/build-improvements/src/input/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/input/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/input/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (subdir): New. Modified: branches/build-improvements/src/input/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/input/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/input/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -150,6 +150,8 @@ all: ${OUTS} @ echo done with ${OUTS} + -rm -f stamp + $(STAMP) stamp .input.rec: @ echo creating `pwd`/$*.rec Modified: branches/build-improvements/src/interp/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/interp/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/interp/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-25 Gabriel Dos Reis <gd...@cs...> * debugsys.lisp.pamphlet: Don't load interp/sockio.o twice. Modified: branches/build-improvements/src/interp/Makefile.in =================================================================== --- branches/build-improvements/src/interp/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/interp/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -252,6 +252,8 @@ all: ${SAVESYS} ${DEBUGSYS} @echo 618 finished $(srcdir) + -rm -f stamp + $(STAMP) stamp clean: @echo 619 cleaning $(builddir) Modified: branches/build-improvements/src/interp/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -5664,6 +5664,8 @@ all: ${SAVESYS} ${DEBUGSYS} @echo 618 finished $(srcdir) + -rm -f stamp + $(STAMP) stamp clean: @echo 619 cleaning $(builddir) Modified: branches/build-improvements/src/share/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/share/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/share/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (subdir): New. Modified: branches/build-improvements/src/share/Makefile.in =================================================================== --- branches/build-improvements/src/share/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/share/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -8,6 +8,8 @@ all: ${FILES} @ echo 3 finished ${IN} + -rm -f stamp + $(STAMP) stamp clean: @echo 4 cleaning $(axiom_src_srcdir)/share Modified: branches/build-improvements/src/share/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/share/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/share/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -43,6 +43,8 @@ all: ${FILES} @ echo 3 finished ${IN} + -rm -f stamp + $(STAMP) stamp clean: @echo 4 cleaning $(axiom_src_srcdir)/share Modified: branches/build-improvements/src/sman/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/sman/ChangeLog.build-improvements 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/sman/ChangeLog.build-improvements 2006-09-26 07:56:46 UTC (rev 160) @@ -1,3 +1,8 @@ +2006-09-26 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Create stamp file. + * Makefile.in: Regenerate. + 2006-09-25 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (${OUTLIB}/session, ${OUTLIB}/spadclient, Modified: branches/build-improvements/src/sman/Makefile.in =================================================================== --- branches/build-improvements/src/sman/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/sman/Makefile.in 2006-09-26 07:56:46 UTC (rev 160) @@ -44,6 +44,8 @@ pamphlets = $(session_SOURCES) $(spadclient_SOURCES) $(sman_SOURCES) all: $(OUTLIB)/session $(OUTLIB)/spadclient $(OUT)/sman + -rm -f stamp + $(STAMP) stamp .PRECIOUS: $(builddir)/%.o .PRECIOUS: $(builddir)/%.c Modified: branches/build-improvements/src/sman/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/sman/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) +++ branches/build-improvements/src/sman/Makefile.pamphlet 2006-09-26 07:56:46 UTC (rev 160) @@ -94,6 +94,8 @@ <<environment>> all: $(OUTLIB)/session $(OUTLIB)/spadclient $(OUT)/sman + -rm -f stamp + $(STAMP) stamp .PRECIOUS: $(builddir)/%.o .PRECIOUS: $(builddir)/%.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-25 22:32:41
|
Revision: 159 http://svn.sourceforge.net/axiom/?rev=159&view=rev Author: dos-reis Date: 2006-09-25 15:32:37 -0700 (Mon, 25 Sep 2006) Log Message: ----------- Modified Paths: -------------- branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-25 22:30:00 UTC (rev 158) +++ branches/build-improvements/Makefile.in 2006-09-25 22:32:37 UTC (rev 159) @@ -168,7 +168,7 @@ $(src_stamp): $(lsp_stamp) $(lib_stamp) $(lsp_stamp) $(src_stamp): - d=`dirname $@` + d=`dirname $@`; export d $(mkinstalldirs) $$d cd $$d && $(MAKE) Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-25 22:30:00 UTC (rev 158) +++ branches/build-improvements/Makefile.pamphlet 2006-09-25 22:32:37 UTC (rev 159) @@ -67,7 +67,7 @@ $(src_stamp): $(lsp_stamp) $(lib_stamp) $(lsp_stamp) $(src_stamp): - d=`dirname $@` + d=`dirname $@`; export d $(mkinstalldirs) $$d cd $$d && $(MAKE) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-25 22:30:06
|
Revision: 158 http://svn.sourceforge.net/axiom/?rev=158&view=rev Author: dos-reis Date: 2006-09-25 15:30:00 -0700 (Mon, 25 Sep 2006) Log Message: ----------- Modified Paths: -------------- branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-25 21:49:53 UTC (rev 157) +++ branches/build-improvements/Makefile.in 2006-09-25 22:30:00 UTC (rev 158) @@ -49,7 +49,15 @@ subdir = build_libdir = $(builddir)/src/lib +lib_stamp = $(build_libdir)/stamp +build_lspdir = $(builddir)/lsp +lsp_stamp = $(build_lspdir)/stamp + +build_srcdir = $(builddir)/src +src_stamp = $(build_srcdir)/stamp + + .PHONY: all all: $(PATH_EXPORTS) $(MAKE) do-all @@ -59,16 +67,9 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ${ENV} $(MAKE) $(build_libdir)/stamp lspdir srcdir + @ ${ENV} $(MAKE) $(lib_stamp) $(lsp_stamp) $(src_stamp) @echo 3 finished system build on `date` | tee >lastBuildDate -.PHONY: start -start: - $(PATH_EXPORTS) $(MAKE) do-start - -.PHONY: do-start -do-start: @axiom_required_build_utils@ stamp-build-scripts - book: @ echo 79 building the book as ${MNT}/${SYS}/doc/book.dvi @ mkdir -p ${TMP} @@ -163,14 +164,14 @@ @rm -rf ${INT}/ccl @rm -rf ${OBJ}/${SYS}/ccl -$(build_libdir)/stamp: - $(mkinstalldirs) $(build_libdir) - cd $(build_libdir) && $(MAKE) +$(lsp_stamp): $(lib_stamp) +$(src_stamp): $(lsp_stamp) -lspdir: $(build_libdir)/stamp +$(lib_stamp) $(lsp_stamp) $(src_stamp): + d=`dirname $@` + $(mkinstalldirs) $$d + cd $$d && $(MAKE) -srcdir: lspdir - stamp-rootdirs: stamp-build-scripts @echo 11 checking directory structure @echo 12 Environment: ${ENV} Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-25 21:49:53 UTC (rev 157) +++ branches/build-improvements/Makefile.pamphlet 2006-09-25 22:30:00 UTC (rev 158) @@ -35,7 +35,15 @@ subdir = build_libdir = $(builddir)/src/lib +lib_stamp = $(build_libdir)/stamp +build_lspdir = $(builddir)/lsp +lsp_stamp = $(build_lspdir)/stamp + +build_srcdir = $(builddir)/src +src_stamp = $(build_srcdir)/stamp + + .PHONY: all all: $(PATH_EXPORTS) $(MAKE) do-all @@ -45,16 +53,9 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ${ENV} $(MAKE) $(build_libdir)/stamp lspdir srcdir + @ ${ENV} $(MAKE) $(lib_stamp) $(lsp_stamp) $(src_stamp) @echo 3 finished system build on `date` | tee >lastBuildDate -.PHONY: start -start: - $(PATH_EXPORTS) $(MAKE) do-start - -.PHONY: do-start -do-start: @axiom_required_build_utils@ stamp-build-scripts - <<book>> <<noweb>> <<literate commands>> @@ -62,14 +63,14 @@ <<src>> <<lsp>> -$(build_libdir)/stamp: - $(mkinstalldirs) $(build_libdir) - cd $(build_libdir) && $(MAKE) +$(lsp_stamp): $(lib_stamp) +$(src_stamp): $(lsp_stamp) -lspdir: $(build_libdir)/stamp +$(lib_stamp) $(lsp_stamp) $(src_stamp): + d=`dirname $@` + $(mkinstalldirs) $$d + cd $$d && $(MAKE) -srcdir: lspdir - <<rootdirs>> mostlyclean-local: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-25 21:49:59
|
Revision: 157 http://svn.sourceforge.net/axiom/?rev=157&view=rev Author: dos-reis Date: 2006-09-25 14:49:53 -0700 (Mon, 25 Sep 2006) Log Message: ----------- Modified Paths: -------------- branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-25 21:44:21 UTC (rev 156) +++ branches/build-improvements/Makefile.in 2006-09-25 21:49:53 UTC (rev 157) @@ -59,7 +59,7 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ${ENV} $(MAKE) $(build_libdir)/libspad.a lspdir srcdir + @ ${ENV} $(MAKE) $(build_libdir)/stamp lspdir srcdir @echo 3 finished system build on `date` | tee >lastBuildDate .PHONY: start Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-25 21:44:21 UTC (rev 156) +++ branches/build-improvements/Makefile.pamphlet 2006-09-25 21:49:53 UTC (rev 157) @@ -45,7 +45,7 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ${ENV} $(MAKE) $(build_libdir)/libspad.a lspdir srcdir + @ ${ENV} $(MAKE) $(build_libdir)/stamp lspdir srcdir @echo 3 finished system build on `date` | tee >lastBuildDate .PHONY: start This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-25 21:44:33
|
Revision: 156 http://svn.sourceforge.net/axiom/?rev=156&view=rev Author: dos-reis Date: 2006-09-25 14:44:21 -0700 (Mon, 25 Sep 2006) Log Message: ----------- Fix missing "setup" target issue. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet branches/build-improvements/configure branches/build-improvements/configure.ac branches/build-improvements/configure.ac.pamphlet branches/build-improvements/src/lib/ChangeLog.build-improvements branches/build-improvements/src/lib/Makefile.in branches/build-improvements/src/lib/Makefile.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-25 21:44:21 UTC (rev 156) @@ -1,5 +1,22 @@ 2006-09-25 Gabriel Dos Reis <gd...@cs...> + * Makefile.pamphlet (do-all): Don't make srcsetup. + ($(addprefix $(axiom_build_bindir)/, notangle noweave)): Rename + from noweb. + (nowebclean): Remove. + (srcsetup): Likewise. + ($(build_libdir)/stamp): New rule. + (srcdir): Depends on lspdir. + (build_libdir): New variable. + * Makefile.in: Regenerate. + + * configure.ac.pamphlet: Find complete path for notangle and + noweave. Update axiom_required_build_utils. + * configure.ac: Regenerate. + * configure. Likewise. + +2006-09-25 Gabriel Dos Reis <gd...@cs...> + * configure.ac.pamphlet (GCLOPTS): Refine logic with respect to BFD. Check for <bfd.h> and libbfd.a before telling GCL to build its own version. Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/Makefile.in 2006-09-25 21:44:21 UTC (rev 156) @@ -48,6 +48,7 @@ subdir = +build_libdir = $(builddir)/src/lib .PHONY: all all: @@ -58,7 +59,7 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ${ENV} $(MAKE) srcsetup lspdir srcdir + @ ${ENV} $(MAKE) $(build_libdir)/libspad.a lspdir srcdir @echo 3 finished system build on `date` | tee >lastBuildDate .PHONY: start @@ -88,7 +89,7 @@ rm book.aux ) @ echo 80 The book is at ${MNT}/${SYS}/doc/book.dvi -noweb: +$(addprefix $(axiom_build_bindir)/, notangle noweave): @echo 13 making noweb @mkdir -p $(axiom_build_nowebdir) @mkdir -p ${TMP} @@ -111,13 +112,7 @@ MAN=$(axiom_build_mandir) \ TEXINPUTS=$(axiom_build_texdir) \ all install > ${TMP}/trace ) - @ $(STAMP) noweb -nowebclean: - @echo 14 cleaning $(axiom_build_nowebdir) - @rm -rf $(axiom_build_nowebdir) - @rm -f noweb - ## We need to have axiom.sty installed before latexing the pamphlets $(axiom_build_texdir)/axiom.sty: $(axiom_src_srcdir)/doc/axiom.sty.pamphlet $(mkinstalldirs) $(axiom_build_texdir) @@ -146,10 +141,6 @@ @echo Start Axiom with the command $(shell basename ${COMMAND}) @echo -srcsetup: stamp-rootdirs - @echo 18 making ${SPD}/src - @( cd src ; ${ENV} ${MAKE} setup ) - srcdir: stamp-rootdirs @echo 15 making ${SPD}/src @( cd src ; ${ENV} ${MAKE} ) @@ -172,6 +163,14 @@ @rm -rf ${INT}/ccl @rm -rf ${OBJ}/${SYS}/ccl +$(build_libdir)/stamp: + $(mkinstalldirs) $(build_libdir) + cd $(build_libdir) && $(MAKE) + +lspdir: $(build_libdir)/stamp + +srcdir: lspdir + stamp-rootdirs: stamp-build-scripts @echo 11 checking directory structure @echo 12 Environment: ${ENV} @@ -186,8 +185,8 @@ mostlyclean-local: clean-local: mostlyclean-local + @rm -rf $(axiom_build_nowebdir) @ rm -f stamp-* - @ rm -f noweb @ rm -rf int @ rm -rf obj @ rm -rf mnt Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/Makefile.pamphlet 2006-09-25 21:44:21 UTC (rev 156) @@ -34,6 +34,7 @@ subdir = +build_libdir = $(builddir)/src/lib .PHONY: all all: @@ -44,7 +45,7 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ${ENV} $(MAKE) srcsetup lspdir srcdir + @ ${ENV} $(MAKE) $(build_libdir)/libspad.a lspdir srcdir @echo 3 finished system build on `date` | tee >lastBuildDate .PHONY: start @@ -58,17 +59,24 @@ <<noweb>> <<literate commands>> <<install>> -<<srcsetup>> <<src>> <<lsp>> +$(build_libdir)/stamp: + $(mkinstalldirs) $(build_libdir) + cd $(build_libdir) && $(MAKE) + +lspdir: $(build_libdir)/stamp + +srcdir: lspdir + <<rootdirs>> mostlyclean-local: clean-local: mostlyclean-local + @rm -rf $(axiom_build_nowebdir) @ rm -f stamp-* - @ rm -f noweb @ rm -rf int @ rm -rf obj @ rm -rf mnt @@ -477,7 +485,7 @@ exist in the zips directory. <<noweb>>= -noweb: +$(addprefix $(axiom_build_bindir)/, notangle noweave): @echo 13 making noweb @mkdir -p $(axiom_build_nowebdir) @mkdir -p ${TMP} @@ -500,13 +508,7 @@ MAN=$(axiom_build_mandir) \ TEXINPUTS=$(axiom_build_texdir) \ all install > ${TMP}/trace ) - @ $(STAMP) noweb -nowebclean: - @echo 14 cleaning $(axiom_build_nowebdir) - @rm -rf $(axiom_build_nowebdir) - @rm -f noweb - @ \subsection{src} @@ -532,14 +534,6 @@ @ -\subsection{src setup} -<<srcsetup>>= -srcsetup: stamp-rootdirs - @echo 18 making ${SPD}/src - @( cd src ; ${ENV} ${MAKE} setup ) - -@ - \subsection{lsp} We delegate the details of constructing common lisp to the Makefiles in the subtree. We need only ensure that the Makefiles are up to date. Modified: branches/build-improvements/configure =================================================================== --- branches/build-improvements/configure 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/configure 2006-09-25 21:44:21 UTC (rev 156) @@ -3048,29 +3048,33 @@ set dummy notangle; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_NOTANGLE+set}" = set; then +if test "${ac_cv_path_NOTANGLE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$NOTANGLE"; then - ac_cv_prog_NOTANGLE="$NOTANGLE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $NOTANGLE in + [\\/]* | ?:[\\/]*) + ac_cv_path_NOTANGLE="$NOTANGLE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NOTANGLE="notangle" + ac_cv_path_NOTANGLE="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done + ;; +esac fi -fi -NOTANGLE=$ac_cv_prog_NOTANGLE +NOTANGLE=$ac_cv_path_NOTANGLE + if test -n "$NOTANGLE"; then echo "$as_me:$LINENO: result: $NOTANGLE" >&5 echo "${ECHO_T}$NOTANGLE" >&6 @@ -3083,29 +3087,33 @@ set dummy noweave; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_NOWEAVE+set}" = set; then +if test "${ac_cv_path_NOWEAVE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$NOWEAVE"; then - ac_cv_prog_NOWEAVE="$NOWEAVE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $NOWEAVE in + [\\/]* | ?:[\\/]*) + ac_cv_path_NOWEAVE="$NOWEAVE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NOWEAVE="noweave" + ac_cv_path_NOWEAVE="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done + ;; +esac fi -fi -NOWEAVE=$ac_cv_prog_NOWEAVE +NOWEAVE=$ac_cv_path_NOWEAVE + if test -n "$NOWEAVE"; then echo "$as_me:$LINENO: result: $NOWEAVE" >&5 echo "${ECHO_T}$NOWEAVE" >&6 @@ -3128,10 +3136,10 @@ if test -z $NOTANGLE -o -z $NOWEAVE ; then NOTANGLE=$axiom_build_bindir/notangle NOWEAVE=$axiom_build_bindir/noweave - axiom_required_build_utils="$axiom_required_build_utils noweb" fi +axiom_required_build_utils="$axiom_required_build_utils $NOTANGLE $NOWEAVE" ## ----------------------- ## -- Which GCL to use? -- Modified: branches/build-improvements/configure.ac =================================================================== --- branches/build-improvements/configure.ac 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/configure.ac 2006-09-25 21:44:21 UTC (rev 156) @@ -99,8 +99,8 @@ ## Check for notangle and noweb if we are not explicitly told ## to build noweb from Axiom sources. if test x$axiom_use_noweb != xno; then - AC_CHECK_PROG([NOTANGLE], [notangle], [notangle]) - AC_CHECK_PROG([NOWEAVE], [noweave], [noweave]) + AC_PATH_PROG([NOTANGLE], [notangle]) + AC_PATH_PROG([NOWEAVE], [noweave]) ## Ensure the build environment is consistent with specified option. if test x$axiom_use_noweb = xyes \ @@ -113,10 +113,10 @@ if test -z $NOTANGLE -o -z $NOWEAVE ; then NOTANGLE=$axiom_build_bindir/notangle NOWEAVE=$axiom_build_bindir/noweave - axiom_required_build_utils="$axiom_required_build_utils noweb" AC_SUBST(NOTANGLE) AC_SUBST(NOWEAVE) fi +axiom_required_build_utils="$axiom_required_build_utils $NOTANGLE $NOWEAVE" ## ----------------------- ## -- Which GCL to use? -- Modified: branches/build-improvements/configure.ac.pamphlet =================================================================== --- branches/build-improvements/configure.ac.pamphlet 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/configure.ac.pamphlet 2006-09-25 21:44:21 UTC (rev 156) @@ -323,8 +323,8 @@ ## Check for notangle and noweb if we are not explicitly told ## to build noweb from Axiom sources. if test x$axiom_use_noweb != xno; then - AC_CHECK_PROG([NOTANGLE], [notangle], [notangle]) - AC_CHECK_PROG([NOWEAVE], [noweave], [noweave]) + AC_PATH_PROG([NOTANGLE], [notangle]) + AC_PATH_PROG([NOWEAVE], [noweave]) ## Ensure the build environment is consistent with specified option. if test x$axiom_use_noweb = xyes \ @@ -337,10 +337,10 @@ if test -z $NOTANGLE -o -z $NOWEAVE ; then NOTANGLE=$axiom_build_bindir/notangle NOWEAVE=$axiom_build_bindir/noweave - axiom_required_build_utils="$axiom_required_build_utils noweb" AC_SUBST(NOTANGLE) AC_SUBST(NOWEAVE) fi +axiom_required_build_utils="$axiom_required_build_utils $NOTANGLE $NOWEAVE" @ \paragraph{The Lisp platform.} Modified: branches/build-improvements/src/lib/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/lib/ChangeLog.build-improvements 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/src/lib/ChangeLog.build-improvements 2006-09-25 21:44:21 UTC (rev 156) @@ -1,3 +1,7 @@ +2006-09-25 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Tidy. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Simplify. Modified: branches/build-improvements/src/lib/Makefile.in =================================================================== --- branches/build-improvements/src/lib/Makefile.in 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/src/lib/Makefile.in 2006-09-25 21:44:21 UTC (rev 156) @@ -21,20 +21,22 @@ subdir = src/lib/ -all: $(builddir)/libspad.a $(other_objects) +all: libspad.a $(other_objects) + rm -f stamp + $(STAMP) stamp -$(builddir)/libspad.a: $(libspad_a_objects) - $(AR) ru $(builddir)/libspad.a $(libspad_a_objects) - $(RANLIB) $(builddir)/libspad.a +libspad.a: $(libspad_a_objects) + $(AR) ru libspad.a $(libspad_a_objects) + $(RANLIB) libspad.a -.PRECIOUS: $(builddir)/%.c +.PRECIOUS: %.c -$(builddir)/%.c: $(srcdir)/%.c.pamphlet +%.c: $(srcdir)/%.c.pamphlet $(axiom_build_document) --tangle --output=$@ $< -.PRECIOUS: $(builddir)/%.o +.PRECIOUS: %.o -$(builddir)/%.o: $(builddir)/%.c +%.o: $(builddir)/%.c $(CC) $(CCF) -c -I$(INC) $< -o $@ clean-local: Modified: branches/build-improvements/src/lib/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/lib/Makefile.pamphlet 2006-09-25 18:24:53 UTC (rev 155) +++ branches/build-improvements/src/lib/Makefile.pamphlet 2006-09-25 21:44:21 UTC (rev 156) @@ -38,17 +38,17 @@ \subsection{C from pamphlet} <<C from pamphlet>>= -.PRECIOUS: $(builddir)/%.c +.PRECIOUS: %.c -$(builddir)/%.c: $(srcdir)/%.c.pamphlet +%.c: $(srcdir)/%.c.pamphlet $(axiom_build_document) --tangle --output=$@ $< @ \subsection{object from C} <<object from C>>= -.PRECIOUS: $(builddir)/%.o +.PRECIOUS: %.o -$(builddir)/%.o: $(builddir)/%.c +%.o: $(builddir)/%.c $(CC) $(CCF) -c -I$(INC) $< -o $@ @ @@ -85,11 +85,13 @@ subdir = src/lib/ -all: $(builddir)/libspad.a $(other_objects) +all: libspad.a $(other_objects) + rm -f stamp + $(STAMP) stamp -$(builddir)/libspad.a: $(libspad_a_objects) - $(AR) ru $(builddir)/libspad.a $(libspad_a_objects) - $(RANLIB) $(builddir)/libspad.a +libspad.a: $(libspad_a_objects) + $(AR) ru libspad.a $(libspad_a_objects) + $(RANLIB) libspad.a <<C from pamphlet>> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-25 18:25:00
|
Revision: 155 http://svn.sourceforge.net/axiom/?rev=155&view=rev Author: dos-reis Date: 2006-09-25 11:24:53 -0700 (Mon, 25 Sep 2006) Log Message: ----------- fix thinko Modified Paths: -------------- branches/build-improvements/src/hyper/ChangeLog.build-improvements branches/build-improvements/src/hyper/Makefile.in branches/build-improvements/src/hyper/Makefile.pamphlet Modified: branches/build-improvements/src/hyper/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/hyper/ChangeLog.build-improvements 2006-09-25 08:07:43 UTC (rev 154) +++ branches/build-improvements/src/hyper/ChangeLog.build-improvements 2006-09-25 18:24:53 UTC (rev 155) @@ -1,5 +1,11 @@ 2006-09-25 Gabriel Dos Reis <gd...@cs...> + * Makefile.pamphlet (${HYPER}/pages/ht.db): Create + $(axiom_target_datadir), if it does not exist. + * Makefile.in: Regenerate. + +2006-09-25 Gabriel Dos Reis <gd...@cs...> + * pages/util.ht: Fix path to bitmap files and .VIEW directories. This file should actually not be in business of hardcoding pathnames. Modified: branches/build-improvements/src/hyper/Makefile.in =================================================================== --- branches/build-improvements/src/hyper/Makefile.in 2006-09-25 08:07:43 UTC (rev 154) +++ branches/build-improvements/src/hyper/Makefile.in 2006-09-25 18:24:53 UTC (rev 155) @@ -165,6 +165,7 @@ rm -f ht.db ; \ rm -f *~ ; \ ${HTADD} *.ht *.pht ) + @ $(mkinstalldirs) $(axiom_target_datadir) @ cp -pr $(srcdir)/bitmaps ${HYPER} @ cp -pr $(srcdir)/viewports $(axiom_target_datadir) Modified: branches/build-improvements/src/hyper/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/hyper/Makefile.pamphlet 2006-09-25 08:07:43 UTC (rev 154) +++ branches/build-improvements/src/hyper/Makefile.pamphlet 2006-09-25 18:24:53 UTC (rev 155) @@ -234,6 +234,7 @@ rm -f ht.db ; \ rm -f *~ ; \ ${HTADD} *.ht *.pht ) + @ $(mkinstalldirs) $(axiom_target_datadir) @ cp -pr $(srcdir)/bitmaps ${HYPER} @ cp -pr $(srcdir)/viewports $(axiom_target_datadir) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-25 08:07:53
|
Revision: 154 http://svn.sourceforge.net/axiom/?rev=154&view=rev Author: dos-reis Date: 2006-09-25 01:07:43 -0700 (Mon, 25 Sep 2006) Log Message: ----------- Refine logic for building GCL. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/configure branches/build-improvements/configure.ac branches/build-improvements/configure.ac.pamphlet branches/build-improvements/lsp/ChangeLog.build-improvements branches/build-improvements/lsp/Makefile.in branches/build-improvements/lsp/Makefile.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-25 07:31:16 UTC (rev 153) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-25 08:07:43 UTC (rev 154) @@ -1,5 +1,13 @@ 2006-09-25 Gabriel Dos Reis <gd...@cs...> + * configure.ac.pamphlet (GCLOPTS): Refine logic with respect to + BFD. Check for <bfd.h> and libbfd.a before telling GCL to build + its own version. + * configure.ac: Regenerate. + * configure: Regenerate. + +2006-09-25 Gabriel Dos Reis <gd...@cs...> + * config/var-def.mk (axiom_target_datadir): New. (axiom_target_texdir): Use it. Modified: branches/build-improvements/configure =================================================================== --- branches/build-improvements/configure 2006-09-25 07:31:16 UTC (rev 153) +++ branches/build-improvements/configure 2006-09-25 08:07:43 UTC (rev 154) @@ -274,7 +274,44 @@ PACKAGE_BUGREPORT='axi...@no...' ac_unique_file="src/Makefile.pamphlet" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TOUCH AWK TAR PATCH RANLIB ac_ct_RANLIB AR LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#if HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# if HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#if HAVE_STRINGS_H +# include <strings.h> +#endif +#if HAVE_INTTYPES_H +# include <inttypes.h> +#else +# if HAVE_STDINT_H +# include <stdint.h> +# endif +#endif +#if HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TOUCH AWK TAR PATCH RANLIB ac_ct_RANLIB AR LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM EGREP PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -4831,9 +4868,478 @@ SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " -GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" +axiom_host_has_bfd_h= +axiom_host_has_libbfd= +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ctype.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +if test "${ac_cv_header_bfd_h+set}" = set; then + echo "$as_me:$LINENO: checking for bfd.h" >&5 +echo $ECHO_N "checking for bfd.h... $ECHO_C" >&6 +if test "${ac_cv_header_bfd_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_bfd_h" >&5 +echo "${ECHO_T}$ac_cv_header_bfd_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking bfd.h usability" >&5 +echo $ECHO_N "checking bfd.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <bfd.h> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking bfd.h presence" >&5 +echo $ECHO_N "checking bfd.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <bfd.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: bfd.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: bfd.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: bfd.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: bfd.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: bfd.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: bfd.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: bfd.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: bfd.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: bfd.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: bfd.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: bfd.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: bfd.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: bfd.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: bfd.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: bfd.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: bfd.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ----------------------------------------- ## +## Report this to axi...@no... ## +## ----------------------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for bfd.h" >&5 +echo $ECHO_N "checking for bfd.h... $ECHO_C" >&6 +if test "${ac_cv_header_bfd_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_bfd_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_bfd_h" >&5 +echo "${ECHO_T}$ac_cv_header_bfd_h" >&6 + +fi +if test $ac_cv_header_bfd_h = yes; then + axiom_host_has_bfd_h=yes +fi + + +echo "$as_me:$LINENO: checking for main in -lbfd" >&5 +echo $ECHO_N "checking for main in -lbfd... $ECHO_C" >&6 +if test "${ac_cv_lib_bfd_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbfd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_bfd_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_bfd_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_bfd_main" >&5 +echo "${ECHO_T}$ac_cv_lib_bfd_main" >&6 +if test $ac_cv_lib_bfd_main = yes; then + axiom_host_has_libbfd=yes +fi +ac_cv_lib_bfd=ac_cv_lib_bfd_main + + +axiom_gcl_bfd_option= +if test x"$axiom_host_has_bfd_h" = xyes \ + && test x"$axiom_host_has_libbfd" = xyes; then + axiom_gcl_bfd_option="--enable-statsysbfd" +else + axiom_gcl_bfd_option="--disable-statsysbfd --enable-locbfd" +fi + +GCLOPTS="--enable-vssize=65536*2 --disable-dynsysbfd \ + $axiom_gcl_bfd_option --enable-maxpage=256*1024" + PFL= CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D\${PLF}" LDF= @@ -5634,6 +6140,7 @@ s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t s,@X_CLFAGS@,$X_CLFAGS,;t t s,@AXIOM@,$AXIOM,;t t +s,@EGREP@,$EGREP,;t t s,@PLF@,$PLF,;t t s,@CCF@,$CCF,;t t s,@LDF@,$LDF,;t t Modified: branches/build-improvements/configure.ac =================================================================== --- branches/build-improvements/configure.ac 2006-09-25 07:31:16 UTC (rev 153) +++ branches/build-improvements/configure.ac 2006-09-25 08:07:43 UTC (rev 154) @@ -184,9 +184,22 @@ SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " -GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" +axiom_host_has_bfd_h= +axiom_host_has_libbfd= +AC_CHECK_HEADER([bfd.h], [axiom_host_has_bfd_h=yes]) +AC_HAVE_LIBRARY([bfd], [axiom_host_has_libbfd=yes]) +axiom_gcl_bfd_option= +if test x"$axiom_host_has_bfd_h" = xyes \ + && test x"$axiom_host_has_libbfd" = xyes; then + axiom_gcl_bfd_option="--enable-statsysbfd" +else + axiom_gcl_bfd_option="--disable-statsysbfd --enable-locbfd" +fi + +GCLOPTS="--enable-vssize=65536*2 --disable-dynsysbfd \ + $axiom_gcl_bfd_option --enable-maxpage=256*1024" + PFL= CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D\${PLF}" LDF= Modified: branches/build-improvements/configure.ac.pamphlet =================================================================== --- branches/build-improvements/configure.ac.pamphlet 2006-09-25 07:31:16 UTC (rev 153) +++ branches/build-improvements/configure.ac.pamphlet 2006-09-25 08:07:43 UTC (rev 154) @@ -413,20 +413,39 @@ near future the logic will be improved to support more platforms. If GCL is not present in the build environment (a very common situation on -most platform), when we must build one from a copy included in the +most platforms), we must build one from a copy included in the Axiom tarball. However, GCL relies on the libirary BFD, the include -headers of which may exist (quite common). In order to avoid -failure while building GCL, on most platforms, we configure GCL to -use its own copy of BFD. That is not an optimal choice for platforms -that do provide BFD headers, but we cover more platforms that way. -Future work may refine the logic here. +headers of which may not exist (quite common). In order to avoid +failure while building GCL, we test for the existence of [[<bfd.h>]] +and the corresponding library. We configure GCL to +use its own copy of BFD accordingly. +<<gcl options>>= +axiom_host_has_bfd_h= +axiom_host_has_libbfd= +AC_CHECK_HEADER([bfd.h], [axiom_host_has_bfd_h=yes]) +AC_HAVE_LIBRARY([bfd], [axiom_host_has_libbfd=yes]) + +axiom_gcl_bfd_option= +if test x"$axiom_host_has_bfd_h" = xyes \ + && test x"$axiom_host_has_libbfd" = xyes; then + axiom_gcl_bfd_option="--enable-statsysbfd" +else + axiom_gcl_bfd_option="--disable-statsysbfd --enable-locbfd" +fi + +GCLOPTS="--enable-vssize=65536*2 --disable-dynsysbfd \ + $axiom_gcl_bfd_option --enable-maxpage=256*1024" +@ + +Other aspects depend on the platform being considered. + + <<platform specific bits>>= SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " -GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" +<<gcl options>> PFL= CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D\${PLF}" Modified: branches/build-improvements/lsp/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/lsp/ChangeLog.build-improvements 2006-09-25 07:31:16 UTC (rev 153) +++ branches/build-improvements/lsp/ChangeLog.build-improvements 2006-09-25 08:07:43 UTC (rev 154) @@ -1,3 +1,9 @@ +2006-09-25 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet ($(GCLVERSION)): New rule. + ($(axiom_build_bindir)/gcl): Use it as prerequisite. + * Makefile.in: Regenerate. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Use $(axiom_builddir) to store GCL image. Modified: branches/build-improvements/lsp/Makefile.in =================================================================== --- branches/build-improvements/lsp/Makefile.in 2006-09-25 07:31:16 UTC (rev 153) +++ branches/build-improvements/lsp/Makefile.in 2006-09-25 08:07:43 UTC (rev 154) @@ -14,8 +14,11 @@ all: $(OUT)/lisp # Rules for building GCL from Axiom distribution. -$(axiom_build_bindir)/gcl: + +$(GCLVERSION): $(TAR) -zxf $(axiom_optional_srcdir)/${GCLVERSION}.tgz + +$(axiom_build_bindir)/gcl: $(GCLVERSION) @(cd ${GCLVERSION}/unixport ; \ echo 7 applying toploop patch to unixport/init_gcl.lsp ; \ $(PATCH) < $(axiom_optional_srcdir)/${GCLVERSION}.unixport.init_gcl.lsp.in.patch ) Modified: branches/build-improvements/lsp/Makefile.pamphlet =================================================================== --- branches/build-improvements/lsp/Makefile.pamphlet 2006-09-25 07:31:16 UTC (rev 153) +++ branches/build-improvements/lsp/Makefile.pamphlet 2006-09-25 08:07:43 UTC (rev 154) @@ -117,8 +117,11 @@ \subsection{The GCL-2.6.8pre stanza} <<gcl-2.6.8pre>>= # Rules for building GCL from Axiom distribution. -$(axiom_build_bindir)/gcl: + +$(GCLVERSION): $(TAR) -zxf $(axiom_optional_srcdir)/${GCLVERSION}.tgz + +$(axiom_build_bindir)/gcl: $(GCLVERSION) <<gcl-2.6.8pre.toploop.patch>> <<gclConfigureMake>> @ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-25 07:31:34
|
Revision: 153 http://svn.sourceforge.net/axiom/?rev=153&view=rev Author: dos-reis Date: 2006-09-25 00:31:16 -0700 (Mon, 25 Sep 2006) Log Message: ----------- Fix hyperdoc issue. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/README.build-improvements branches/build-improvements/config/var-def.mk branches/build-improvements/src/hyper/ChangeLog.build-improvements branches/build-improvements/src/hyper/Makefile.in branches/build-improvements/src/hyper/Makefile.pamphlet branches/build-improvements/src/hyper/addfile.pamphlet branches/build-improvements/src/hyper/htadd.pamphlet branches/build-improvements/src/hyper/hyper.pamphlet branches/build-improvements/src/hyper/pages/util.ht branches/build-improvements/src/hyper/search.pamphlet branches/build-improvements/src/hyper/titlebar.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-25 07:31:16 UTC (rev 153) @@ -1,5 +1,10 @@ 2006-09-25 Gabriel Dos Reis <gd...@cs...> + * config/var-def.mk (axiom_target_datadir): New. + (axiom_target_texdir): Use it. + +2006-09-25 Gabriel Dos Reis <gd...@cs...> + * configure.ac.pamphlet: Tidy. Remove old configure behaviour. Defiine AXIOM based on target canonical triplet. * configure: Regenerate. Modified: branches/build-improvements/README.build-improvements =================================================================== --- branches/build-improvements/README.build-improvements 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/README.build-improvements 2006-09-25 07:31:16 UTC (rev 153) @@ -92,6 +92,9 @@ * Improve boot documentation +* Fix coes in src/interp, src/hyper, and src/hyper/pages/util.ht that + hardcode pathnames. + ============ === DONE === ============ Modified: branches/build-improvements/config/var-def.mk =================================================================== --- branches/build-improvements/config/var-def.mk 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/config/var-def.mk 2006-09-25 07:31:16 UTC (rev 153) @@ -90,7 +90,8 @@ axiom_target_bindir = $(axiom_targetdir)/bin axiom_target_libdir = $(axiom_targetdir)/lib axiom_target_docdir = $(axiom_targetdir)/doc -axiom_target_texdir = $(axiom_targetdir)/share/texmf/tex +axiom_target_datadir = $(axiom_targetdir)/share +axiom_target_texdir = $(axiom_target_datadir)/texmf/tex ## Where Axiom keeps the tarballs for optional components Modified: branches/build-improvements/src/hyper/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/hyper/ChangeLog.build-improvements 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/ChangeLog.build-improvements 2006-09-25 07:31:16 UTC (rev 153) @@ -1,3 +1,13 @@ +2006-09-25 Gabriel Dos Reis <gd...@cs...> + + * pages/util.ht: Fix path to bitmap files and .VIEW directories. + This file should actually not be in business of hardcoding pathnames. + + * Makefile.pamphlet (HYPER): Put hypertex under the share + directory, not doc. + (${HYPER}/pages/ht.db): Copy viewports to the share dir, not the + doc dir. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Simplify Modified: branches/build-improvements/src/hyper/Makefile.in =================================================================== --- branches/build-improvements/src/hyper/Makefile.in 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/Makefile.in 2006-09-25 07:31:16 UTC (rev 153) @@ -18,7 +18,7 @@ LIB= ${OBJ}/${SYS}/lib # this is where the hypertex documentation files are -HYPER=${MNT}/${SYS}/doc/hypertex +HYPER=${MNT}/${SYS}/share/hypertex CFLAGS= ${CCF} -I$(INC) -I$(builddir) ${AXIOM_X11_CFLAGS} LDFLAGS= ${AXIOM_X11_LDFLAGS} -lm @@ -166,7 +166,7 @@ rm -f *~ ; \ ${HTADD} *.ht *.pht ) @ cp -pr $(srcdir)/bitmaps ${HYPER} - @ cp -pr $(srcdir)/viewports ${MNT}/${SYS}/doc + @ cp -pr $(srcdir)/viewports $(axiom_target_datadir) ${MID}/ReadBitmap.c: $(srcdir)/ReadBitmap.pamphlet Modified: branches/build-improvements/src/hyper/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/hyper/Makefile.pamphlet 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/Makefile.pamphlet 2006-09-25 07:31:16 UTC (rev 153) @@ -32,7 +32,7 @@ LIB= ${OBJ}/${SYS}/lib # this is where the hypertex documentation files are -HYPER=${MNT}/${SYS}/doc/hypertex +HYPER=${MNT}/${SYS}/share/hypertex CFLAGS= ${CCF} -I$(INC) -I$(builddir) ${AXIOM_X11_CFLAGS} LDFLAGS= ${AXIOM_X11_LDFLAGS} -lm @@ -235,7 +235,7 @@ rm -f *~ ; \ ${HTADD} *.ht *.pht ) @ cp -pr $(srcdir)/bitmaps ${HYPER} - @ cp -pr $(srcdir)/viewports ${MNT}/${SYS}/doc + @ cp -pr $(srcdir)/viewports $(axiom_target_datadir) @ Modified: branches/build-improvements/src/hyper/addfile.pamphlet =================================================================== --- branches/build-improvements/src/hyper/addfile.pamphlet 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/addfile.pamphlet 2006-09-25 07:31:16 UTC (rev 153) @@ -149,7 +149,7 @@ HTPATH = (char *) getenv("HTPATH"); if (HTPATH == NULL) { /** The user does not have a HTPATH, so I will use the the directory - $AXIOM/doc/hypertex/pages/ as the default path ***/ + $AXIOM/share/hypertex/pages/ as the default path ***/ char *spad = (char *) getenv("AXIOM"); if (spad == NULL) { fprintf(stderr, @@ -158,7 +158,7 @@ } HTPATH = (char *) halloc(1024 * sizeof(char), "HTPATH"); strcpy(HTPATH, spad); - strcat(HTPATH, "/doc/hypertex/pages"); + strcat(HTPATH, "/share/hypertex/pages"); } /** Now that I have filled HTPATH, I should try to open a file by the @@ -231,7 +231,7 @@ /* * This function is responsible for actually opening the database file. For the * moment it gets the $AXIOM environment variable, and appends to it - * "doc/hypertex/ht.db", and then opens it + * "share/hypertex/ht.db", and then opens it */ /* @@ -278,7 +278,7 @@ } gDatabasePath = (char *) halloc(sizeof(char) * 1024, "db_file_open"); strcpy(gDatabasePath, spad); - strcat(gDatabasePath, "/doc/hypertex/pages"); + strcat(gDatabasePath, "/share/hypertex/pages"); } db_path_trace = gDatabasePath; } Modified: branches/build-improvements/src/hyper/htadd.pamphlet =================================================================== --- branches/build-improvements/src/hyper/htadd.pamphlet 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/htadd.pamphlet 2006-09-25 07:31:16 UTC (rev 153) @@ -11,7 +11,7 @@ \eject \section{htadd.c} The [[htadd]] function can manipulate the database of hypertex pages. -To rebuild the hypertex database changes to the [[$AXIOM/doc/hypertex]] +To rebuild the hypertex database changes to the [[$AXIOM/share/hypertex]] subdirectory and type: \begin{verbatim} htadd -f pages -n pages/* @@ -234,8 +234,8 @@ "Build_db_filename: Defaulting on $AXIOM\n"); SPAD = (char *) def_spad; } - sprintf(dbfilename, "%s/doc/hypertex/pages/%s", SPAD, db_file_name); - sprintf(path, "%s/doc/hypertex/pages", SPAD); + sprintf(dbfilename, "%s/share/hypertex/pages/%s", SPAD, db_file_name); + sprintf(path, "%s/share/hypertex/pages", SPAD); } else if (flag & Named) { sprintf(dbfilename, "%s/%s", db_dir, db_file_name); Modified: branches/build-improvements/src/hyper/hyper.pamphlet =================================================================== --- branches/build-improvements/src/hyper/hyper.pamphlet 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/hyper.pamphlet 2006-09-25 07:31:16 UTC (rev 153) @@ -12,7 +12,7 @@ \section{hyper.h} The [[hypertex]] function, of which this is the top level, is a browser for Axiom information. It works off a database of pages. The pages are -stored in the [[$AXIOM/doc/hypertex/pages]] subdirectory and there is +stored in the [[$AXIOM/share/hypertex/pages]] subdirectory and there is a key file called [[ht.db]] in that subdirectory which contains critical information about each page. If you add or delete pages you must rerun the [[htadd]] command. @@ -21,12 +21,12 @@ Generally, if you add or delete pages you can recreate a proper [[pages/ht.db]] file by doing: \begin{verbatim} -cd $AXIOM/doc/hypertex +cd $AXIOM/share/hypertex htadd -f pages -n pages/* \end{verbatim} -The [[hypertex]] function looks in [[$AXIOM/doc/hypertex/pages]] by +The [[hypertex]] function looks in [[$AXIOM/share/hypertex/pages]] by default. This can be over-ridden by setting the [[HTPATH]] shell variable to point to the desired directory containing the pages and the ht.db file. Modified: branches/build-improvements/src/hyper/pages/util.ht =================================================================== --- branches/build-improvements/src/hyper/pages/util.ht 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/pages/util.ht 2006-09-25 07:31:16 UTC (rev 153) @@ -135,7 +135,7 @@ % 5. Bitmaps and bitmap manipulation macros. % ---------------------------------------------------------------------- -\newcommand{\htbmdir}{\env{AXIOM}/../../share/doc/hypertex/bitmaps} +\newcommand{\htbmdir}{\env{AXIOM}/share/hypertex/bitmaps} \newcommand{\htbmfile}[1]{\htbmdir /#1.bitmap} \newcommand{\htbitmap}[1]{\inputbitmap{\htbmfile{#1}}} \newcommand{\ControlBitmap}[1]{\controlbitmap{\htbmfile{#1}}} @@ -153,7 +153,7 @@ % Including control panel pixmaps for help pages: -\newcommand{\helpbit}[1]{\centerline{\inputpixmap{\env{AXIOM}/../../share/doc/hypertex/pixmaps/{#1}}}} +\newcommand{\helpbit}[1]{\centerline{\inputpixmap{\env{AXIOM}/share/hypertex/pixmaps/{#1}}}} % ---------------------------------------------------------------------- % 6. HyperDoc button objects. @@ -194,19 +194,19 @@ % Including viewport bitmaps within \HyperName pages: \newcommand{\viewport}[1]{\inputimage{{#1}.VIEW/image}} -\newcommand{\axiomViewport}[1]{\inputimage{\env{AXIOM}/../../share/doc/viewports/{#1}.VIEW/image}} +\newcommand{\axiomViewport}[1]{\inputimage{\env{AXIOM}/share/viewports/{#1}.VIEW/image}} \newcommand{\spadviewport}[1]{\axiomViewport{#1}} % Creating a real live viewport: \newcommand{\viewportbutton}[2]{\unixcommand{#1}{viewAlone #2}} -\newcommand{\axiomViewportbutton}[2]{\unixcommand{#1}{viewAlone \$AXIOM/../../share/doc/viewports/{#2}}} +\newcommand{\axiomViewportbutton}[2]{\unixcommand{#1}{viewAlone \$AXIOM/share/viewports/{#2}}} \newcommand{\spadviewportbutton}[2]{\axiomViewportbutton{#1}{#2}} % Making active viewport buttons: \newcommand{\viewportasbutton}[1]{\unixcommand{\inputimage{{#1}.VIEW/image}}{viewAlone {#1}}} -\newcommand{\axiomViewportasbutton}[1]{\unixcommand{\inputimage{\env{AXIOM}/../../share/doc/viewports/{#1}.VIEW/image}}{viewAlone \$AXIOM/../../share/doc/viewports/{#1}}} +\newcommand{\axiomViewportasbutton}[1]{\unixcommand{\inputimage{\env{AXIOM}/share/viewports/{#1}.VIEW/image}}{viewAlone \$AXIOM/share/viewports/{#1}}} \newcommand{\spadviewportasbutton}[1]{\axiomViewportasbutton{#1}} % ---------------------------------------------------------------------- Modified: branches/build-improvements/src/hyper/search.pamphlet =================================================================== --- branches/build-improvements/src/hyper/search.pamphlet 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/search.pamphlet 2006-09-25 07:31:16 UTC (rev 153) @@ -19,7 +19,7 @@ #!/bin/sh htbindir=$AXIOM/lib -htpagedir=$AXIOM/doc/hypertex/pages +htpagedir=$AXIOM/share/hypertex/pages if test -z "$1" Modified: branches/build-improvements/src/hyper/titlebar.pamphlet =================================================================== --- branches/build-improvements/src/hyper/titlebar.pamphlet 2006-09-25 06:53:23 UTC (rev 152) +++ branches/build-improvements/src/hyper/titlebar.pamphlet 2006-09-25 07:31:16 UTC (rev 153) @@ -316,14 +316,14 @@ axiomEnvVar = getenv("AXIOM"); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, tw1file); + sprintf(filename, "%s/share/hypertex/bitmaps/%s", axiomEnvVar, tw1file); else sprintf(filename, "%s", tw1file); tw1image = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, &twwidth, &twheight); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, tw2file); + sprintf(filename, "%s/share/hypertex/bitmaps/%s", axiomEnvVar, tw2file); else sprintf(filename, "%s", tw2file); tw2image = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, @@ -331,7 +331,7 @@ twwidth = ((twwidth >= w) ? (twwidth) : (w)); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, tw3file); + sprintf(filename, "%s/share/hypertex/bitmaps/%s", axiomEnvVar, tw3file); else sprintf(filename, "%s", tw3file); tw3image = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, @@ -339,7 +339,7 @@ twwidth = ((twwidth >= w) ? (twwidth) : (w)); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, tw4file); + sprintf(filename, "%s/share/hypertex/bitmaps/%s", axiomEnvVar, tw4file); else sprintf(filename, "%s", tw4file); tw4image = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, @@ -348,7 +348,7 @@ if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, noopfile); + sprintf(filename, "%s/share/hypertex/bitmaps/%s", axiomEnvVar, noopfile); else sprintf(filename, "%s", noopfile); noopimage = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-25 06:53:42
|
Revision: 152 http://svn.sourceforge.net/axiom/?rev=152&view=rev Author: dos-reis Date: 2006-09-24 23:53:23 -0700 (Sun, 24 Sep 2006) Log Message: ----------- More cleanup work. Fix thinko in the original build system. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet branches/build-improvements/config/var-def.mk branches/build-improvements/configure branches/build-improvements/configure.ac branches/build-improvements/configure.ac.pamphlet branches/build-improvements/src/interp/ChangeLog.build-improvements branches/build-improvements/src/interp/debugsys.lisp.pamphlet branches/build-improvements/src/sman/ChangeLog.build-improvements branches/build-improvements/src/sman/Makefile.in branches/build-improvements/src/sman/Makefile.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-25 06:53:23 UTC (rev 152) @@ -1,3 +1,18 @@ +2006-09-25 Gabriel Dos Reis <gd...@cs...> + + * configure.ac.pamphlet: Tidy. Remove old configure behaviour. + Defiine AXIOM based on target canonical triplet. + * configure: Regenerate. + * configure.ac: Likewise. + + * config/var-def.mk (SYS, DAASE): Move from toplevel + Makefile.pamphlet. Export. + + * Makefile.pamphlet (SYS, DAASE): Move to config/var-def.mk. + (ENV): Don't pass DAASE, SYS, AXIOM_X11_CFLAGS, and + AXIOM_X11_LDFLAGS here. + * Makefile.in: Regenerate. + 2006-09-19 Gabriel Dos Reis <gd...@cs...> * configure.ac.pamphlet (LISP, PFL, CCF, LDF): Provide default Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/Makefile.in 2006-09-25 06:53:23 UTC (rev 152) @@ -5,7 +5,6 @@ VERSION="Axiom (build improvements branch) -- 2006-09-17" SPD=$(shell pwd) -SYS=$(notdir $(AXIOM)) SPAD=${SPD}/mnt/${SYS} LSP=${SPD}/lsp SRC=${SPD}/src @@ -19,7 +18,6 @@ CCLBASE=${OBJ}/${SYS}/ccl/ccllisp DESTDIR=$(prefix)/axiom COMMAND=${DESTDIR}/mnt/${SYS}/bin/axiom -DAASE = $(axiom_src_datadir) NOISE="-o ${TMP}/trace" PLF=@PLF@ @@ -35,14 +33,13 @@ SUBPART= everything -ENV= SPAD=${SPAD} SYS=${SYS} SPD=${SPD} LSP=${LSP} GCLDIR=${GCLDIR} \ +ENV= SPAD=${SPAD} SPD=${SPD} LSP=${LSP} GCLDIR=${GCLDIR} \ SRC=${SRC} INT=${INT} OBJ=${OBJ} MNT=${MNT} ZIPS=${ZIPS} TMP=${TMP} \ SPADBIN=${SPADBIN} INC=${INC} CCLBASE=${CCLBASE} PART=${PART} \ SUBPART=${SUBPART} NOISE=${NOISE} \ TANGLE=${TANGLE} VERSION=${VERSION} \ - DOCUMENT=${axiom_build_document} DAASE=$(DAASE) \ - WEAVE=${WEAVE} AXIOM_X11_CFLAGS="${AXIOM_X11_CFLAGS}" \ - AXIOM_X11_LDFLAGS="${AXIOM_X11_LDFLAGS}" \ + DOCUMENT=${axiom_build_document} \ + WEAVE=${WEAVE} \ PLF="$(PLF)" CCF="$(CCF)" LDF="$(LDF)" LISP=$(LISP) \ GCLOPTS="$(GCLOPTS)" SRCDIRS="$(SRCDIRS)" Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/Makefile.pamphlet 2006-09-25 06:53:23 UTC (rev 152) @@ -358,7 +358,6 @@ VERSION="Axiom (build improvements branch) -- 2006-09-17" SPD=$(shell pwd) -SYS=$(notdir $(AXIOM)) SPAD=${SPD}/mnt/${SYS} LSP=${SPD}/lsp SRC=${SPD}/src @@ -372,7 +371,6 @@ CCLBASE=${OBJ}/${SYS}/ccl/ccllisp DESTDIR=$(prefix)/axiom COMMAND=${DESTDIR}/mnt/${SYS}/bin/axiom -DAASE = $(axiom_src_datadir) NOISE="-o ${TMP}/trace" PLF=@PLF@ @@ -386,14 +384,13 @@ <<part>> -ENV= SPAD=${SPAD} SYS=${SYS} SPD=${SPD} LSP=${LSP} GCLDIR=${GCLDIR} \ +ENV= SPAD=${SPAD} SPD=${SPD} LSP=${LSP} GCLDIR=${GCLDIR} \ SRC=${SRC} INT=${INT} OBJ=${OBJ} MNT=${MNT} ZIPS=${ZIPS} TMP=${TMP} \ SPADBIN=${SPADBIN} INC=${INC} CCLBASE=${CCLBASE} PART=${PART} \ SUBPART=${SUBPART} NOISE=${NOISE} \ TANGLE=${TANGLE} VERSION=${VERSION} \ - DOCUMENT=${axiom_build_document} DAASE=$(DAASE) \ - WEAVE=${WEAVE} AXIOM_X11_CFLAGS="${AXIOM_X11_CFLAGS}" \ - AXIOM_X11_LDFLAGS="${AXIOM_X11_LDFLAGS}" \ + DOCUMENT=${axiom_build_document} \ + WEAVE=${WEAVE} \ PLF="$(PLF)" CCF="$(CCF)" LDF="$(LDF)" LISP=$(LISP) \ GCLOPTS="$(GCLOPTS)" SRCDIRS="$(SRCDIRS)" Modified: branches/build-improvements/config/var-def.mk =================================================================== --- branches/build-improvements/config/var-def.mk 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/config/var-def.mk 2006-09-25 06:53:23 UTC (rev 152) @@ -99,6 +99,14 @@ AXIOM_X11_CFLAGS = @X_CFLAGS@ AXIOM_X11_LDFLAGS = @X_LIBS@ @X_PRE_LIBS@ -lX11 @X_EXTRA_LIBS@ +## Where to find Axiom data bases. +DAASE = $(axiom_src_datadir) +export DAASE + +# What platform is this build for? +SYS = $(target) +export SYS + ## ------------------------------------------- ## -- Files generated for the build machine -- ## ------------------------------------------- Modified: branches/build-improvements/configure =================================================================== --- branches/build-improvements/configure 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/configure 2006-09-25 06:53:23 UTC (rev 152) @@ -274,7 +274,7 @@ PACKAGE_BUGREPORT='axi...@no...' ac_unique_file="src/Makefile.pamphlet" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S AWK TAR PATCH MAKE RANLIB ac_ct_RANLIB AR TOUCH LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S TOUCH AWK TAR PATCH RANLIB ac_ct_RANLIB AR LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1426,6 +1426,48 @@ { (exit 1); exit 1; }; } fi +## Accumulate list of utils needed for the build platform +axiom_required_build_utils= + +# Extract the first word of "make", so it can be a program name with args. +set dummy make; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_MAKE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$MAKE"; then + ac_cv_prog_MAKE="$MAKE" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MAKE="make" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_MAKE" && ac_cv_prog_MAKE="{ { echo "$as_me:$LINENO: error: 'make' program missing." >&5 +echo "$as_me: error: 'make' program missing." >&2;} + { (exit 1); exit 1; }; }" +fi +fi +MAKE=$ac_cv_prog_MAKE +if test -n "$MAKE"; then + echo "$as_me:$LINENO: result: $MAKE" >&5 +echo "${ECHO_T}$MAKE" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + ## Make sure the C compiler is from GCC ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2458,7 +2500,45 @@ echo "${ECHO_T}no, using $LN_S" >&6 fi +# Extract the first word of "touch", so it can be a program name with args. +set dummy touch; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_TOUCH+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$TOUCH"; then + ac_cv_prog_TOUCH="$TOUCH" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_TOUCH="touch" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + test -z "$ac_cv_prog_TOUCH" && ac_cv_prog_TOUCH="{ { echo "$as_me:$LINENO: error: 'touch' program is missing." >&5 +echo "$as_me: error: 'touch' program is missing." >&2;} + { (exit 1); exit 1; }; }" +fi +fi +TOUCH=$ac_cv_prog_TOUCH +if test -n "$TOUCH"; then + echo "$as_me:$LINENO: result: $TOUCH" >&5 +echo "${ECHO_T}$TOUCH" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + case $build in *-solaris9) # Extract the first word of "gawk", so it can be a program name with args. @@ -2711,45 +2791,6 @@ ;; esac -# Extract the first word of "make", so it can be a program name with args. -set dummy make; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MAKE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MAKE"; then - ac_cv_prog_MAKE="$MAKE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MAKE="make" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_MAKE" && ac_cv_prog_MAKE="{ { echo "$as_me:$LINENO: error: 'make' program missing." >&5 -echo "$as_me: error: 'make' program missing." >&2;} - { (exit 1); exit 1; }; }" -fi -fi -MAKE=$ac_cv_prog_MAKE -if test -n "$MAKE"; then - echo "$as_me:$LINENO: result: $MAKE" >&5 -echo "${ECHO_T}$MAKE" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 @@ -2830,7 +2871,6 @@ RANLIB="$ac_cv_prog_RANLIB" fi - # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -2870,45 +2910,6 @@ fi -# Extract the first word of "touch", so it can be a program name with args. -set dummy touch; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_TOUCH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$TOUCH"; then - ac_cv_prog_TOUCH="$TOUCH" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_TOUCH="touch" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_TOUCH" && ac_cv_prog_TOUCH="{ { echo "$as_me:$LINENO: error: 'touch' program is missing." >&5 -echo "$as_me: error: 'touch' program is missing." >&2;} - { (exit 1); exit 1; }; }" -fi -fi -TOUCH=$ac_cv_prog_TOUCH -if test -n "$TOUCH"; then - echo "$as_me:$LINENO: result: $TOUCH" >&5 -echo "${ECHO_T}$TOUCH" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - # Extract the first word of "latex", so it can be a program name with args. set dummy latex; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -2986,9 +2987,6 @@ fi -## Accumulate list of utils needed for the build platform -axiom_required_build_utils= - ## ------------------------- ## -- Which noweb to use? -- ## ------------------------- @@ -4827,69 +4825,9 @@ X_PRE_LIBS="-lXpm $X_PRE_LIBS" -if test -f /etc/redhat-release; then - SYSNAME=`cat /etc/redhat-release` - if test "$SYSNAME" = "Fedora Core release 3 (Heidelberg)"; then - SYSNAME=fedora3 - fi - { echo "$as_me:$LINENO: SYSNAME=$SYSNAME" >&5 -echo "$as_me: SYSNAME=$SYSNAME" >&6;} -fi -if test "$SYSNAME" != "fedora3"; then - SYSNAME=`uname -s` - { echo "$as_me:$LINENO: $SYSNAME" >&5 -echo "$as_me: $SYSNAME" >&6;} - case "$SYSNAME" in - Linux) - SYSNAME=linux ;; - MINGW32_NT-5.1) - SYSNAME=windows ;; - SunOS) - SYSNAME=solaris9 ;; - freebsd) - ;; - *) - SYSNAME=$target - { echo "$as_me:$LINENO: Your system name is $SYSNAME" >&5 -echo "$as_me: Your system name is $SYSNAME" >&6;} - { echo "$as_me:$LINENO: Building Axiom on this kind of system was not tried before" >&5 -echo "$as_me: Building Axiom on this kind of system was not tried before" >&6;} - { echo "$as_me:$LINENO: Send a note to axi...@no... about it" >&5 -echo "$as_me: Send a note to axi...@no... about it" >&6;} - esac -fi +AXIOM=`pwd`/mnt/$target -must_set_AXIOM() { - case "$SYSNAME" in - freebsd) - { echo "$as_me:$LINENO: Note that freebsd usually has noweb available" >&5 -echo "$as_me: Note that freebsd usually has noweb available" >&6;} - { echo "$as_me:$LINENO: echo If you wish to use the standard version you must type" >&5 -echo "$as_me: echo If you wish to use the standard version you must type" >&6;} - { echo "$as_me:$LINENO: touch noweb" >&5 -echo "$as_me: touch noweb" >&6;} - { echo "$as_me:$LINENO: If you wish to use a pre-installed GCL you must type" >&5 -echo "$as_me: If you wish to use a pre-installed GCL you must type" >&6;} - { echo "$as_me:$LINENO: make GCLVERSION=gcl-system" >&5 -echo "$as_me: make GCLVERSION=gcl-system" >&6;} - ;; - esac -} -if test "x$AXIOM" = "x"; then - must_set_AXIOM -elif test "`dirname $AXIOM`" != "`pwd`/mnt"; then - must_set_AXIOM -else - { echo "$as_me:$LINENO: configure complete. Now type " >&5 -echo "$as_me: configure complete. Now type " >&6;} - { echo "$as_me:$LINENO: " >&5 -echo "$as_me: " >&6;} - { echo "$as_me:$LINENO: make" >&5 -echo "$as_me: make" >&6;} -fi -AXIOM=`pwd`/mnt/$SYSNAME - SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " @@ -5663,6 +5601,7 @@ s,@axiom_build_bindir@,$axiom_build_bindir,;t t s,@axiom_build_libdir@,$axiom_build_libdir,;t t s,@axiom_targetdir@,$axiom_targetdir,;t t +s,@MAKE@,$MAKE,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t @@ -5675,14 +5614,13 @@ s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@LN_S@,$LN_S,;t t +s,@TOUCH@,$TOUCH,;t t s,@AWK@,$AWK,;t t s,@TAR@,$TAR,;t t s,@PATCH@,$PATCH,;t t -s,@MAKE@,$MAKE,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@AR@,$AR,;t t -s,@TOUCH@,$TOUCH,;t t s,@LATEX@,$LATEX,;t t s,@MAKEINDEX@,$MAKEINDEX,;t t s,@NOTANGLE@,$NOTANGLE,;t t Modified: branches/build-improvements/configure.ac =================================================================== --- branches/build-improvements/configure.ac 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/configure.ac 2006-09-25 06:53:23 UTC (rev 152) @@ -32,6 +32,12 @@ AC_MSG_ERROR([Sorry, only native builds are currently supported]) fi +## Accumulate list of utils needed for the build platform +axiom_required_build_utils= + +AC_CHECK_PROG([MAKE], [make], + [make], [AC_MSG_ERROR(['make' program missing.])]) + ## Make sure the C compiler is from GCC AC_PROG_CC if test x$GCC != xyes; then @@ -45,6 +51,8 @@ AC_PROG_INSTALL AC_PROG_LN_S +AC_CHECK_PROG([TOUCH], [touch], + [touch], [AC_MSG_ERROR(['touch' program is missing.])]) case $build in *-solaris9) @@ -69,24 +77,14 @@ ;; esac -AC_CHECK_PROG([MAKE], [make], - [make], [AC_MSG_ERROR(['make' program missing.])]) - AC_PROG_RANLIB - AC_CHECK_PROG([AR], [ar], [ar], [AC_MSG_ERROR([program 'ar' is missing])]) -AC_CHECK_PROG([TOUCH], [touch], - [touch], [AC_MSG_ERROR(['touch' program is missing.])]) - AC_CHECK_PROG([LATEX], [latex], [latex], [AC_MSG_ERROR([Axiom needs a latex program.])]) AC_CHECK_PROG([MAKEINDEX], [makeindex], [makeindex], [AC_MSG_ERROR([Axiom needs a makeindex program])]) -## Accumulate list of utils needed for the build platform -axiom_required_build_utils= - ## ------------------------- ## -- Which noweb to use? -- ## ------------------------- @@ -180,56 +178,9 @@ X_PRE_LIBS="-lXpm $X_PRE_LIBS" AC_SUBST(X_PRE_LIBS) -if test -f /etc/redhat-release; then - SYSNAME=`cat /etc/redhat-release` - if test "$SYSNAME" = "Fedora Core release 3 (Heidelberg)"; then - SYSNAME=fedora3 - fi - AC_MSG_NOTICE([SYSNAME=$SYSNAME]) -fi -if test "$SYSNAME" != "fedora3"; then - SYSNAME=`uname -s` - AC_MSG_NOTICE([$SYSNAME]) - case "$SYSNAME" in - Linux) - SYSNAME=linux ;; - MINGW32_NT-5.1) - SYSNAME=windows ;; - SunOS) - SYSNAME=solaris9 ;; - freebsd) - ;; - *) - SYSNAME=$target - AC_MSG_NOTICE([Your system name is $SYSNAME]) - AC_MSG_NOTICE([Building Axiom on this kind of system was not tried before]) - AC_MSG_NOTICE([Send a note to axi...@no... about it]) - esac -fi - -must_set_AXIOM() { - case "$SYSNAME" in - freebsd) - AC_MSG_NOTICE([Note that freebsd usually has noweb available]) - AC_MSG_NOTICE([echo If you wish to use the standard version you must type]) - AC_MSG_NOTICE([touch noweb]) - AC_MSG_NOTICE([If you wish to use a pre-installed GCL you must type]) - AC_MSG_NOTICE([make GCLVERSION=gcl-system]) - ;; - esac -} - -if test "x$AXIOM" = "x"; then - must_set_AXIOM -elif test "`dirname $AXIOM`" != "`pwd`/mnt"; then - must_set_AXIOM -else - AC_MSG_NOTICE([configure complete. Now type ]) - AC_MSG_NOTICE([ ]) - AC_MSG_NOTICE([make]) -fi -AXIOM=`pwd`/mnt/$SYSNAME +AXIOM=`pwd`/mnt/$target AC_SUBST(AXIOM) + SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " Modified: branches/build-improvements/configure.ac.pamphlet =================================================================== --- branches/build-improvements/configure.ac.pamphlet 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/configure.ac.pamphlet 2006-09-25 06:53:23 UTC (rev 152) @@ -184,29 +184,49 @@ \subsubsection{Build utilities} Most of the tools we're testing for are with respect to the build -environment, neither the host nor the target. +environment. However, notice that since we only support \emph{native} +build at the moment, the tests are also for the host and target +platforms. +<<build utils>>= +## Accumulate list of utils needed for the build platform +axiom_required_build_utils= -First of all, check for a C compiler --- \textsl{GCC/gcc} preferably. As -written, this test is OK because currently we support only native -builds. However, it needs to be more carefully written when we move -to cross-compilation. +<<find make>> -Then, check for a usable 'install' program. +<<find C compiler>> -The old build machinery needs 'awk'. Currently, it checks for -'gawk', 'nawk', and 'awk'. Autoconf has a predefined test for that -task. It checks for 'gawk', 'mawk', 'nawk', and 'awk' in that order. -That should be OK and match Axiom's need. +<<file utils>> -The old build system claims that on solaris9, gawk, gtar -and gpatch are required (with no much explanation of why). Notice -that these programs are needed only to build Axiom; so we do -check based on the value of [[build]]. To date, no build of Axiom -with a C compiler other than from GCC is known. We now take it -granted that GCC is pretty much needed to build Axiom in its present -form. +<<awk and tar program>> -<<build utils>>= +<<binary utils>> + +<<doc utils>> + +<<find lisp>> + +AC_SUBST(axiom_required_build_utils) +@ + +The next paragraphs detail each of the cluster of build utilities +[[configure]] looks for. + +\paragraph{The [[make]] program.} + +Of course, no build can proceed with [[make]] inexisting from +the build-environment. +<<find make>>= +AC_CHECK_PROG([MAKE], [make], + [make], [AC_MSG_ERROR(['make' program missing.])]) +@ + +\paragraph{C compiler} +First of all, check for a C compiler. As written, this test is OK +because currently we support only native builds. However, + it needs to be more carefully written when we move to cross-compilation. +Axiom, in its current form, cannot be compiled with a C compiler +other than from GNU. We take that as a requirement. +<<find C compiler>>= ## Make sure the C compiler is from GCC AC_PROG_CC if test x$GCC != xyes; then @@ -217,10 +237,29 @@ ## What is the extension of object files on this platform? AC_OBJEXT +@ +\paragraph{File utils} +Then, check for a usable [[install]] program. Also, find out +way to hard- or soft-link files. +<<file utils>>= AC_PROG_INSTALL AC_PROG_LN_S +AC_CHECK_PROG([TOUCH], [touch], + [touch], [AC_MSG_ERROR(['touch' program is missing.])]) +@ +\paragraph{The [[awk]] program} +The old build machinery needs 'awk'. Currently, it checks for +'gawk', 'nawk', and 'awk'. Autoconf has a predefined test for that +task. It checks for 'gawk', 'mawk', 'nawk', and 'awk' in that order. +That should be OK and match Axiom's need. + +The old build system claims that on solaris9, gawk, gtar +and gpatch are required (with no much explanation of why). Notice +that these programs are needed only to build Axiom; so we do +check based on the value of [[build]]. +<<awk and tar program>>= case $build in *-solaris9) AC_CHECK_PROG([AWK], [gawk], @@ -243,25 +282,33 @@ [AC_MSG_ERROR([Axiom needs a patch program])]) ;; esac +@ -AC_CHECK_PROG([MAKE], [make], - [make], [AC_MSG_ERROR(['make' program missing.])]) +\paragraph{Binary utils.} +We need to know how to put object files into archives. +<<binary utils>>= AC_PROG_RANLIB - AC_CHECK_PROG([AR], [ar], [ar], [AC_MSG_ERROR([program 'ar' is missing])]) +@ -AC_CHECK_PROG([TOUCH], [touch], - [touch], [AC_MSG_ERROR(['touch' program is missing.])]) +\paragraph{Doc utils.} +Axiom sources is literate, and it uses the [[noweb]] technology. +[[noweb]] is used to extract both the actual source code from the +pamphlet files, and the documentation as \LaTeX{} source files. +There are many platforms on which [[noweb]] is inexistent. +Consequently, Axioms tarballs has a copy of [[noweb]] that it builds +when [[noweb]] is missing (or when Axiom is made to believe so). +Axiom does not, however, go as far as hosting source files needed +to build \LaTeX{}. Yet. + +<<doc utils>>= AC_CHECK_PROG([LATEX], [latex], [latex], [AC_MSG_ERROR([Axiom needs a latex program.])]) AC_CHECK_PROG([MAKEINDEX], [makeindex], [makeindex], [AC_MSG_ERROR([Axiom needs a makeindex program])]) -## Accumulate list of utils needed for the build platform -axiom_required_build_utils= - ## ------------------------- ## -- Which noweb to use? -- ## ------------------------- @@ -294,7 +341,17 @@ AC_SUBST(NOTANGLE) AC_SUBST(NOWEAVE) fi +@ +\paragraph{The Lisp platform.} + +Axiom uses Lisp as its main platform. If no Lisp implementation +is available in the build environment (or if Axiom is told not +to look for one) then Axiom msut build its own version from the +copy of GCL sources it keeps in the [[zips]] directory. In fact, +at the moment Axiom is reported to work only with GCL. + +<<find lisp>>= ## ----------------------- ## -- Which GCL to use? -- ## ----------------------- @@ -331,70 +388,22 @@ ## FIXME: add gcl to axiom_required_build_utils fi - -AC_SUBST(axiom_required_build_utils) @ -\subsubsection{Old behaviour} -Here, we replicate the behaviour of the old configure, waiting for -a better alternative, e.g. where it is not needed. THIS WILL BE -REMOVED IN THE NEAR FUTURE. +\subsubsection{The [[AXIOM]] variable} -First, the old machinery has a very coarse target name "discovery" -<<replicate old behaviour>>= -if test -f /etc/redhat-release; then - SYSNAME=`cat /etc/redhat-release` - if test "$SYSNAME" = "Fedora Core release 3 (Heidelberg)"; then - SYSNAME=fedora3 - fi - AC_MSG_NOTICE([SYSNAME=$SYSNAME]) -fi -if test "$SYSNAME" != "fedora3"; then - SYSNAME=`uname -s` - AC_MSG_NOTICE([$SYSNAME]) - case "$SYSNAME" in - Linux) - SYSNAME=linux ;; - MINGW32_NT-5.1) - SYSNAME=windows ;; - SunOS) - SYSNAME=solaris9 ;; - freebsd) - ;; - *) - SYSNAME=$target - AC_MSG_NOTICE([Your system name is $SYSNAME]) - AC_MSG_NOTICE([Building Axiom on this kind of system was not tried before]) - AC_MSG_NOTICE([Send a note to axi...@no... about it]) - esac -fi +The Axiom source files (especially the source files for the +interpreter) use the environment variable [[AXIOM]] in a very +pervasive way. That variable needs to be set before the +build start --- or else, it will fail. -must_set_AXIOM() { - case "$SYSNAME" in - freebsd) - AC_MSG_NOTICE([Note that freebsd usually has noweb available]) - AC_MSG_NOTICE([echo If you wish to use the standard version you must type]) - AC_MSG_NOTICE([touch noweb]) - AC_MSG_NOTICE([If you wish to use a pre-installed GCL you must type]) - AC_MSG_NOTICE([make GCLVERSION=gcl-system]) - ;; - esac -} - -if test "x$AXIOM" = "x"; then - must_set_AXIOM -elif test "`dirname $AXIOM`" != "`pwd`/mnt"; then - must_set_AXIOM -else - AC_MSG_NOTICE([configure complete. Now type ]) - AC_MSG_NOTICE([ ]) - AC_MSG_NOTICE([make]) -fi -AXIOM=`pwd`/mnt/$SYSNAME +<<define AXIOM>>= +AXIOM=`pwd`/mnt/$target AC_SUBST(AXIOM) @ +\subsubsection{Platform specific bits} The old build machinery has hard-coded special-cased Makefile for some known platforms. We would like to have a uniform, Makefiles with @@ -566,7 +575,8 @@ <<locate X11>> -<<replicate old behaviour>> +<<define AXIOM>> + <<platform specific bits>> <<instantiate config files>> @ Modified: branches/build-improvements/src/interp/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/interp/ChangeLog.build-improvements 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/src/interp/ChangeLog.build-improvements 2006-09-25 06:53:23 UTC (rev 152) @@ -1,3 +1,7 @@ +2006-09-25 Gabriel Dos Reis <gd...@cs...> + + * debugsys.lisp.pamphlet: Don't load interp/sockio.o twice. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (subdir): New. Modified: branches/build-improvements/src/interp/debugsys.lisp.pamphlet =================================================================== --- branches/build-improvements/src/interp/debugsys.lisp.pamphlet 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/src/interp/debugsys.lisp.pamphlet 2006-09-25 06:53:23 UTC (rev 152) @@ -169,7 +169,6 @@ (thesymb "/int/interp/simpbool.clisp") (thesymb "/int/interp/slam.clisp") (thesymb (concatenate 'string "/obj/" *sys* "/interp/sockio.o")) - (thesymb "/obj/linux/interp/sockio.o") (thesymb "/int/interp/spad.lisp") (thesymb "/int/interp/spaderror.lisp") (thesymb "/int/interp/template.clisp") Modified: branches/build-improvements/src/sman/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/sman/ChangeLog.build-improvements 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/src/sman/ChangeLog.build-improvements 2006-09-25 06:53:23 UTC (rev 152) @@ -1,3 +1,8 @@ +2006-09-25 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (${OUTLIB}/session, ${OUTLIB}/spadclient, + ${OUT}/sman): Fix thinko. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Simplify. Modified: branches/build-improvements/src/sman/Makefile.in =================================================================== --- branches/build-improvements/src/sman/Makefile.in 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/src/sman/Makefile.in 2006-09-25 06:53:23 UTC (rev 152) @@ -56,15 +56,15 @@ $(axiom_build_document) --tangle --output=$@ $< ${OUTLIB}/session: $(session_objects) $(session_DEPENDENCIES) - $(CC) $(session_objects) -o $@ $(session_LDADD) $(LDFLAGS) + $(CC) $(session_objects) -o $@ $(session_LDADD) $(LDFLAGS) -o $@ ${OUTLIB}/spadclient: $(spadclient_objects) $(spadclient_DEPENDENCIES) - $(CC) $(spadclient_objects) $(spadclient_LDADD) $(LDFLAGS) + $(CC) $(spadclient_objects) $(spadclient_LDADD) $(LDFLAGS) -o $@ $(builddir)/spadclient.o: ${INC}/useproto.h ${INC}/spadclient.H1 ${OUT}/sman: $(sman_objects) $(sman_DEPENDENCIES) - $(CC) $(sman_objects) $(sman_LDADD) $(LDFLAGS) + $(CC) $(sman_objects) $(sman_LDADD) $(LDFLAGS) -o $@ $(sman_objects): $(builddir)/sman.h Modified: branches/build-improvements/src/sman/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/sman/Makefile.pamphlet 2006-09-20 18:23:11 UTC (rev 151) +++ branches/build-improvements/src/sman/Makefile.pamphlet 2006-09-25 06:53:23 UTC (rev 152) @@ -58,7 +58,7 @@ \section{session} <<session>>= ${OUTLIB}/session: $(session_objects) $(session_DEPENDENCIES) - $(CC) $(session_objects) -o $@ $(session_LDADD) $(LDFLAGS) + $(CC) $(session_objects) -o $@ $(session_LDADD) $(LDFLAGS) -o $@ @ \section{nagman} @@ -72,7 +72,7 @@ \section{spadclient} <<spadclient>>= ${OUTLIB}/spadclient: $(spadclient_objects) $(spadclient_DEPENDENCIES) - $(CC) $(spadclient_objects) $(spadclient_LDADD) $(LDFLAGS) + $(CC) $(spadclient_objects) $(spadclient_LDADD) $(LDFLAGS) -o $@ $(builddir)/spadclient.o: ${INC}/useproto.h ${INC}/spadclient.H1 @ @@ -80,7 +80,7 @@ \section{sman} <<sman>>= ${OUT}/sman: $(sman_objects) $(sman_DEPENDENCIES) - $(CC) $(sman_objects) $(sman_LDADD) $(LDFLAGS) + $(CC) $(sman_objects) $(sman_LDADD) $(LDFLAGS) -o $@ $(sman_objects): $(builddir)/sman.h This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-20 18:23:19
|
Revision: 151 http://svn.sourceforge.net/axiom/?rev=151&view=rev Author: dos-reis Date: 2006-09-20 11:23:11 -0700 (Wed, 20 Sep 2006) Log Message: ----------- Remove obsolete GCL-2.6.8pre patches Removed Paths: ------------- branches/build-improvements/zips/gcl-2.6.8pre.h.linux.defs.patch branches/build-improvements/zips/gcl-2.6.8pre.unixport.makefile.patch Deleted: branches/build-improvements/zips/gcl-2.6.8pre.h.linux.defs.patch =================================================================== --- branches/build-improvements/zips/gcl-2.6.8pre.h.linux.defs.patch 2006-09-20 18:19:48 UTC (rev 150) +++ branches/build-improvements/zips/gcl-2.6.8pre.h.linux.defs.patch 2006-09-20 18:23:11 UTC (rev 151) @@ -1,13 +0,0 @@ ---- linux.defs Sun Jul 24 12:55:14 2005 -+++ linux.defs.tpd Sun Jul 24 13:55:26 2005 -@@ -8,6 +8,10 @@ - - # Machine dependent makefile definitions for intel 386,486 running linux - -+# 20031022000 tpd link Axiom's code into the image -+EXTRAS = ${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o -+OFLAG = -O -+ - LBINDIR=/usr/local/bin - - #OFLAG = -g -Wall Deleted: branches/build-improvements/zips/gcl-2.6.8pre.unixport.makefile.patch =================================================================== --- branches/build-improvements/zips/gcl-2.6.8pre.unixport.makefile.patch 2006-09-20 18:19:48 UTC (rev 150) +++ branches/build-improvements/zips/gcl-2.6.8pre.unixport.makefile.patch 2006-09-20 18:23:11 UTC (rev 151) @@ -1,12 +0,0 @@ ---- makefile Sun Jul 24 12:55:39 2005 -+++ makefile.tpd Sun Jul 24 15:40:01 2005 -@@ -14,7 +14,8 @@ - PORTDIR = $(shell pwd) - - LD_LIBS_PRE=$(FIRST_FILE) $(addprefix -u ,$(PATCHED_SYMBOLS)) --LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp $(LAST_FILE) -+# 20031022000 tpd link axiom's C library code -+LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp ${OBJ}/${SYS}/lib/libspad.a $(LAST_FILE) - - ifeq ($(ARRS),) - ARRS:=ar rs This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-20 18:19:50
|
Revision: 150 http://svn.sourceforge.net/axiom/?rev=150&view=rev Author: dos-reis Date: 2006-09-20 11:19:48 -0700 (Wed, 20 Sep 2006) Log Message: ----------- Remove unneded tla tarball Removed Paths: ------------- branches/build-improvements/zips/tla-1.1.tar.gz Deleted: branches/build-improvements/zips/tla-1.1.tar.gz =================================================================== --- branches/build-improvements/zips/tla-1.1.tar.gz 2006-09-20 18:18:44 UTC (rev 149) +++ branches/build-improvements/zips/tla-1.1.tar.gz 2006-09-20 18:19:48 UTC (rev 150) @@ -1,31504 +0,0 @@ -\x8B |
From: <dos...@us...> - 2006-09-20 18:18:49
|
Revision: 149 http://svn.sourceforge.net/axiom/?rev=149&view=rev Author: dos-reis Date: 2006-09-20 11:18:44 -0700 (Wed, 20 Sep 2006) Log Message: ----------- Remove unneeded patch files Modified Paths: -------------- branches/build-improvements/zips/ChangeLog.build-improvements Removed Paths: ------------- branches/build-improvements/zips/noweb.modules.nw.patch branches/build-improvements/zips/noweb.src.Makefile.nw.patch branches/build-improvements/zips/noweb.src.awk.totex.nw.patch branches/build-improvements/zips/noweb.src.awkname.patch branches/build-improvements/zips/noweb.src.lib.toascii.nw.patch branches/build-improvements/zips/noweb.src.lib.toascii.patch branches/build-improvements/zips/noweb.src.shell.cpif.patch branches/build-improvements/zips/noweb.src.shell.nonu.patch branches/build-improvements/zips/noweb.src.shell.noroff.patch branches/build-improvements/zips/noweb.src.shell.roff.mm.patch branches/build-improvements/zips/noweb.src.shell.roff.nw.patch branches/build-improvements/zips/noweb.src.shell.toroff.patch Modified: branches/build-improvements/zips/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/zips/ChangeLog.build-improvements 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/ChangeLog.build-improvements 2006-09-20 18:18:44 UTC (rev 149) @@ -1,3 +1,18 @@ +2006-09-20 Gabriel Dos Reis <gd...@cs...> + + * noweb.modules.nw.patch: Delete. + * noweb.src.awkname.patch: Likewise. + * noweb.src.awk.totex.nw.patch: Likewise. + * noweb.src.lib.toascii.nw.patch: Likewise. + * noweb.src.lib.toascii.patch: Likewise. + * noweb.src.Makefile.nw.patch: Likewise + * noweb.src.shell.cpif.patch: Likewise. + * noweb.src.shell.noroff.patch: Likewise. + * noweb.src.shell.roff.mm.patch: Likewise. + * noweb.src.shell.roff.nw.patch: Likewise. + * noweb.src.shell.toroff.patch: Likewise. + * tla-1.1.tar.gz: Likewise. + 2006-09-17 Gabriel Dos Reis <gd...@cs...> * gcl-2.6.8pre.tgz: Update. Deleted: branches/build-improvements/zips/noweb.modules.nw.patch =================================================================== --- branches/build-improvements/zips/noweb.modules.nw.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.modules.nw.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,21 +0,0 @@ ---- modules.nw.tpd Mon Nov 18 20:56:03 2002 -+++ modules.nw Mon Nov 18 21:59:57 2002 -@@ -197,11 +197,17 @@ - out as a special case. - This change probably blows the case where the module being expanded is - empty. -+ -+If the lookup fails then the module (or chunk) is an undefined name. -+We complain about it but want to output the original source. -+We just wrap it in the bogus chunk name in the angle brackets -+that it must have had in the input and output it. (Tim Daly Nov 13, 2002) - <<expand a module>>= - newmod = lookup(p->contents); - if (newmod==NULL) { -- errormsg (Error, "undefined chunk name: @<<%s@>>", p->contents); -+ errormsg (Error, "ignoring undefined chunk name: @<<%s@>>", p->contents); - error=Error; -+ printf("@<<%s@>>",p->contents); - } else { - int retcode; - if (*locformat == 0 && partial_distance == 0) { Deleted: branches/build-improvements/zips/noweb.src.Makefile.nw.patch =================================================================== --- branches/build-improvements/zips/noweb.src.Makefile.nw.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.Makefile.nw.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,74 +0,0 @@ ---- Makefile.nw Wed Mar 28 13:40:21 2001 -+++ noweb.src.Makefile.nw Wed Nov 27 16:56:48 2002 -@@ -22,14 +22,14 @@ - # MANEXT is the extension for your commands' man pages (usually 1 or l) - # MAN7EXT is the extension for the nowebstyle man page (usually 7) - # TEXINPUTS is the directory for TeX macro files --# ELISP is the directory for emacs lisp files, or /dev/null not to install -+# ELISP is the directory for emacs lisp files, or ${TMP}/null not to install - BIN=/usr/local/noweb - LIB=/usr/local/noweb/lib - MAN=/usr/local/noweb/man - MANEXT=1 - MAN7EXT=7 - TEXINPUTS=/usr/local/tex/inputs --ELISP=/dev/null -+ELISP=${TMP}/null - - # change WEAVE if you want a different version of noweave to be installed - WEAVE=noweave -@@ -61,13 +61,13 @@ - install: install-code install-man install-tex install-elisp - - install-shell: -- -mkdir $(BIN) $(LIB) 2>/dev/null -+ -mkdir $(BIN) $(LIB) 2>${TMP}/null - <<shell binaries>> - cp shell/tmac.w $(LIB) - - install-code: install-shell -- -mkdir $(BIN) $(LIB) 2>/dev/null -- strip c/nt c/markup c/mnt c/finduses -+ -mkdir $(BIN) $(LIB) 2>${TMP}/null -+ #strip c/nt c/markup c/mnt c/finduses - cp c/nt c/markup c/mnt c/finduses $(LIB) - cd $(LIBSRC); make ICONT=$(ICONT) ICONC=$(ICONC) LIB=$(LIB) BIN=$(BIN) install - cd lib; make LIB=$(LIB) install -@@ -90,19 +90,19 @@ - done - <<*>>= - install-man: -- -mkdir $(MAN) $(MANDIR) $(MAN7DIR) 2>/dev/null -+ -mkdir $(MAN) $(MANDIR) $(MAN7DIR) 2>${TMP}/null - <<ordinary pages>> - @ - Slackware no longer uses preformatted compressed pages, just - compressed pages. - <<*>>= - install-gzipped-man: -- -mkdir $(MAN) $(MANDIR) $(MAN7DIR) 2>/dev/null -+ -mkdir $(MAN) $(MANDIR) $(MAN7DIR) 2>${TMP}/null - <<compressed pages>> - <<*>>= - install-preformat-man: - -echo "Warning: install-preformat-man is obsolete, even on Slackware systems" 1>&2 -- -mkdir $(MAN) $(CATDIR) $(CAT7DIR) 2>/dev/null -+ -mkdir $(MAN) $(CATDIR) $(CAT7DIR) 2>${TMP}/null - <<preformatted compressed pages>> - <<generate chunks>>= - NORMALPAGES="cpif nodefs noroots noweb noindex nuweb2noweb notangle noroff sl2h htmltoc" -@@ -158,12 +158,12 @@ - done - <<*>>= - install-tex: -- -mkdir $(TEXINPUTS) 2>/dev/null -+ -mkdir $(TEXINPUTS) 2>${TMP}/null - cp tex/nwmac.tex tex/noweb.sty $(TEXINPUTS) - -texhash || echo "Program texhash not found or failed" - - install-elisp: -- -mkdir $(ELISP) 2>/dev/null -+ -mkdir $(ELISP) 2>${TMP}/null - cp elisp/noweb-mode.el $(ELISP) - - <<*>>= Deleted: branches/build-improvements/zips/noweb.src.awk.totex.nw.patch =================================================================== --- branches/build-improvements/zips/noweb.src.awk.totex.nw.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.awk.totex.nw.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,15 +0,0 @@ ---- totex.nw Mon Mar 27 18:52:13 2000 -+++ totex.nw.tpd Sun Apr 16 15:46:01 2006 -@@ -23,8 +23,11 @@ - nawk '<<awk program for conversion to {\TeX}>>' delay=$delay noindex=$noindex - @ - On an ugly system, we have to put it in a file. -+ -+The awkfile has been changed to use tempfile because creating files -+directly in tmp creates an insecure hole. - <<invoke awk program using file>>= --awkfile=/tmp/totex$$.awk -+awkfile=$(tempfile -p totex) - trap 'rm -f $awkfile; exit 1' 0 1 2 15 # clean up files - cat > $awkfile << 'EOF' - <<awk program for conversion to {\TeX}>> Deleted: branches/build-improvements/zips/noweb.src.awkname.patch =================================================================== --- branches/build-improvements/zips/noweb.src.awkname.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.awkname.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,11 +0,0 @@ ---- awkname Fri Jun 16 16:26:42 2000 -+++ awkname.tpd Sun Apr 16 15:40:19 2006 -@@ -5,7 +5,7 @@ - esac - - rc=0 --new=/tmp/$$.new; old=/tmp/$$.old -+new=$(tempfile -p new); old=$(tempfile -p old) - - for file in lib/emptydefn lib/unmarkup lib/toascii lib/btdefn \ - awk/noidx awk/totex awk/tohtml awk/noindex \ Deleted: branches/build-improvements/zips/noweb.src.lib.toascii.nw.patch =================================================================== --- branches/build-improvements/zips/noweb.src.lib.toascii.nw.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.lib.toascii.nw.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,15 +0,0 @@ ---- toascii.nw Mon Mar 27 18:52:17 2000 -+++ toascii.nw.tpd Sun Apr 16 16:59:59 2006 -@@ -28,9 +28,9 @@ - Also arranged here is a temporary file for storage of the awk program on an - ugly system, as discussed below. - <<arrange temporary files>>= --awkfile="tmp/awk$$.tmp" --textfile="/tmp/text$$.tmp" --tagsfile="/tmp/tags$$.tmp" -+awkfile=$(tempfile -p awk -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; } -+textfile=$(tempfile -p text -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; } -+tagsfile=$(tempfile -p tags -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; } - export awkfile textfile tagsfile - trap 'rm -f $awkfile $textfile $tagsfile' 0 1 2 10 14 15 - @ %def textfile tagsfile awkfile Deleted: branches/build-improvements/zips/noweb.src.lib.toascii.patch =================================================================== --- branches/build-improvements/zips/noweb.src.lib.toascii.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.lib.toascii.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,15 +0,0 @@ ---- toascii Wed Mar 28 13:49:22 2001 -+++ toascii.tpd Sun Apr 16 15:48:52 2006 -@@ -7,9 +7,9 @@ - *) echo "This can't happen -- $i passed to toascii" 1>&2 ; exit 1 ;; - esac - done --awkfile="tmp/awk$$.tmp" --textfile="/tmp/text$$.tmp" --tagsfile="/tmp/tags$$.tmp" -+awkfile=$(tempfile -p awk -s .tmp) -+textfile=$(tempfile -p text -s .tmp) -+tagsfile=$(tempfile -p tags -s .tmp) - export awkfile textfile tagsfile - trap 'rm -f $awkfile $textfile $tagsfile' 0 1 2 10 14 15 - nawk 'BEGIN { textfile=ENVIRON["textfile"] Deleted: branches/build-improvements/zips/noweb.src.shell.cpif.patch =================================================================== --- branches/build-improvements/zips/noweb.src.shell.cpif.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.shell.cpif.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,11 +0,0 @@ ---- cpif Mon Mar 27 18:52:19 2000 -+++ cpif.tpd Sun Apr 16 16:42:48 2006 -@@ -17,7 +17,7 @@ - 0) echo 'Usage: '`basename $0`' [ -eq -ne ] file...' 1>&2; exit 2 - esac - --new=/tmp/$$ -+new=$(tempfile) - trap 'rm -f $new; exit 1' 1 2 15 # clean up files - - cat >$new Deleted: branches/build-improvements/zips/noweb.src.shell.nonu.patch =================================================================== --- branches/build-improvements/zips/noweb.src.shell.nonu.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.shell.nonu.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,11 +0,0 @@ ---- nonu Mon Mar 27 18:52:19 2000 -+++ nonu.tpd Sun Apr 16 16:45:55 2006 -@@ -2,7 +2,7 @@ - LIB=/usr/public/pkg/noweb/lib - # attempt to convert nuweb to noweb using sam - --tmp=/tmp/nonu$$ -+tmp=$(tempfile -p nonu) - trap '/bin/rm -f $tmp; exit 1' 1 2 15 # clean up files - cp $1 $tmp || exit 1 - Deleted: branches/build-improvements/zips/noweb.src.shell.noroff.patch =================================================================== --- branches/build-improvements/zips/noweb.src.shell.noroff.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.shell.noroff.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,22 +0,0 @@ ---- noroff Wed Mar 28 13:49:22 2001 -+++ noroff.tpd Sun Apr 16 16:53:49 2006 -@@ -37,7 +37,7 @@ - tagsfile="$base.nwt" - (echo ".so $macrodir/tmac.w" - if [ -r "$tagsfile" ]; then -- cp $tagsfile /tmp/tags.$$ -+ cp $tagsfile $tmpfile - $AWK '{ - if (sub(/^###TAG### / , "")) tags[$1] = $2 - else if (sub(/^###BEGINCHUNKS###/, "")) printf ".de CLIST\n.CLISTBEGIN\n" -@@ -88,8 +88,8 @@ - # print str3 - # print convquote(str3) - # } -- function tag(s) { if (s in tags) return tags[s]; else return "???" }' /tmp/tags.$$ -- rm -f /tmp/tags.$$ -+ function tag(s) { if (s in tags) return tags[s]; else return "???" }' $tmpfile -+ rm -f $tmpfile - fi - cat "$@") | - ($ROFF $opts 2>$tagsfile) Deleted: branches/build-improvements/zips/noweb.src.shell.roff.mm.patch =================================================================== --- branches/build-improvements/zips/noweb.src.shell.roff.mm.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.shell.roff.mm.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,30 +0,0 @@ ---- roff.mm Mon Mar 27 18:52:19 2000 -+++ roff.mm.tpd Sun Apr 16 17:06:44 2006 -@@ -214,7 +214,7 @@ - .ADDLIST 1a - .PRINTLIST - --awkfile="/tmp/noweb$$.awk" -+awkfile=$(tempfile -p noweb -s .awk) || { echo "$0: Cannot create temporary file" >&2; exit 1; } - trap 'rm -f $awkfile' 0 1 2 10 14 15 - cat > $awkfile \&<< 'EOF' - \c -@@ -1628,14 +1628,15 @@ - tagsfile="$base.nwt" - (echo ".so $macrodir/tmac.w" - if [ -r "$tagsfile" ]; then -- cp $tagsfile /tmp/tags.$$ -+ tagstemp=$(tempfile -p tags) || { echo "$0: Cannot create temporary file" >&2; exit 1; } -+ cp $tagsfile $tagstemp - $AWK '\c - .USE "action for \*[BEGINCONVQUOTE]tags\*[ENDCONVQUOTE] line" 11c - \& - \c - .USE "functions" 8a --\&' /tmp/tags.$$ -- rm -f /tmp/tags.$$ -+\&' $tagstemp -+ rm -f $tagstemp - fi - cat "$@") | - ($ROFF $opts 2>$tagsfile) Deleted: branches/build-improvements/zips/noweb.src.shell.roff.nw.patch =================================================================== --- branches/build-improvements/zips/noweb.src.shell.roff.nw.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.shell.roff.nw.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,28 +0,0 @@ ---- roff.nw Mon Mar 27 18:52:19 2000 -+++ roff.nw.tpd Sun Apr 16 16:50:27 2006 -@@ -80,7 +80,7 @@ - other, and quoting each quote is ugly. The pragmatic solution is to - copy the awk program into a temporary file, using a shell here-document. - <<invoke awk program>>= --awkfile="/tmp/noweb$$.awk" -+awkfile=$(tempfile -p noweb -s .awk) - trap 'rm -f $awkfile' 0 1 2 10 14 15 - cat > $awkfile << 'EOF' - <<awk program>> -@@ -662,12 +662,13 @@ - - base="`basename $1 | sed '/\./s/\.[^.]*$//'`" - tagsfile="$base.nwt" -+tmpfile=$(tempfile -p tags) - (echo ".so $macrodir/tmac.w" - if [ -r "$tagsfile" ]; then -- cp $tagsfile /tmp/tags.$$ -+ cp $tagsfile $tmpfile - $AWK '<<action for [[tags]] line>> -- <<functions>>' /tmp/tags.$$ -- rm -f /tmp/tags.$$ -+ <<functions>>' $tmpfile -+ rm -f $tmpfile - fi - cat "$@") | - ($ROFF $opts 2>$tagsfile) Deleted: branches/build-improvements/zips/noweb.src.shell.toroff.patch =================================================================== --- branches/build-improvements/zips/noweb.src.shell.toroff.patch 2006-09-20 02:53:34 UTC (rev 148) +++ branches/build-improvements/zips/noweb.src.shell.toroff.patch 2006-09-20 18:18:44 UTC (rev 149) @@ -1,11 +0,0 @@ ---- toroff Wed Mar 28 13:49:22 2001 -+++ toroff.tpd Sun Apr 16 16:56:35 2006 -@@ -9,7 +9,7 @@ - exit 1;; - esac - done --awkfile="/tmp/noweb$$.awk" -+awkfile=$(tempfile -p noweb -s .awk) - trap 'rm -f $awkfile' 0 1 2 10 14 15 - cat > $awkfile << 'EOF' - /^@begin docs 0$/ { if (delay) next } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-20 02:53:44
|
Revision: 148 http://svn.sourceforge.net/axiom/?rev=148&view=rev Author: dos-reis Date: 2006-09-19 19:53:34 -0700 (Tue, 19 Sep 2006) Log Message: ----------- don't build docfiles as part of 'make all' Modified Paths: -------------- branches/build-improvements/src/algebra/ChangeLog.build-improvements branches/build-improvements/src/algebra/Makefile.in branches/build-improvements/src/algebra/Makefile.pamphlet branches/build-improvements/src/interp/ChangeLog branches/build-improvements/src/interp/Makefile.in branches/build-improvements/src/interp/Makefile.pamphlet Modified: branches/build-improvements/src/algebra/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/algebra/ChangeLog.build-improvements 2006-09-20 02:25:41 UTC (rev 147) +++ branches/build-improvements/src/algebra/ChangeLog.build-improvements 2006-09-20 02:53:34 UTC (rev 148) @@ -1,3 +1,7 @@ +2006-09-19 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Don't build $(DOCFILES) yet. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (subdir): New. Modified: branches/build-improvements/src/algebra/Makefile.in =================================================================== --- branches/build-improvements/src/algebra/Makefile.in 2006-09-20 02:25:41 UTC (rev 147) +++ branches/build-improvements/src/algebra/Makefile.in 2006-09-20 02:53:34 UTC (rev 148) @@ -751,7 +751,7 @@ ${LAYER22} ${LAYER23} ${USERLAYER} ${LAYER0COPY} -all: src ${OUT}/libdb.text ${DOCFILES} ${TESTS} +all: src ${OUT}/libdb.text ${TESTS} @ echo 4302 finished $(builddir) #all: ${SUBPART} Modified: branches/build-improvements/src/algebra/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/algebra/Makefile.pamphlet 2006-09-20 02:25:41 UTC (rev 147) +++ branches/build-improvements/src/algebra/Makefile.pamphlet 2006-09-20 02:53:34 UTC (rev 148) @@ -2033,7 +2033,7 @@ <<USERLAYER>> <<order>> -all: src ${OUT}/libdb.text ${DOCFILES} ${TESTS} +all: src ${OUT}/libdb.text ${TESTS} @ echo 4302 finished $(builddir) #all: ${SUBPART} Modified: branches/build-improvements/src/interp/ChangeLog =================================================================== --- branches/build-improvements/src/interp/ChangeLog 2006-09-20 02:25:41 UTC (rev 147) +++ branches/build-improvements/src/interp/ChangeLog 2006-09-20 02:53:34 UTC (rev 148) @@ -0,0 +1,4 @@ +2006-09-19 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (all): Don't build $(DOCFILES) yet. + Modified: branches/build-improvements/src/interp/Makefile.in =================================================================== --- branches/build-improvements/src/interp/Makefile.in 2006-09-20 02:25:41 UTC (rev 147) +++ branches/build-improvements/src/interp/Makefile.in 2006-09-20 02:53:34 UTC (rev 148) @@ -250,7 +250,7 @@ ${DOC}/redefs.boot.dvi ${DOC}/word.boot.dvi -all: ${SAVESYS} ${DOCFILES} ${DEBUGSYS} +all: ${SAVESYS} ${DEBUGSYS} @echo 618 finished $(srcdir) clean: Modified: branches/build-improvements/src/interp/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-20 02:25:41 UTC (rev 147) +++ branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-20 02:53:34 UTC (rev 148) @@ -5662,7 +5662,7 @@ <<environment>> -all: ${SAVESYS} ${DOCFILES} ${DEBUGSYS} +all: ${SAVESYS} ${DEBUGSYS} @echo 618 finished $(srcdir) clean: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-20 02:25:52
|
Revision: 147 http://svn.sourceforge.net/axiom/?rev=147&view=rev Author: dos-reis Date: 2006-09-19 19:25:41 -0700 (Tue, 19 Sep 2006) Log Message: ----------- More on build simplification. Use to refine variable settings Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/configure branches/build-improvements/configure.ac branches/build-improvements/configure.ac.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-19 21:30:49 UTC (rev 146) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-20 02:25:41 UTC (rev 147) @@ -1,5 +1,10 @@ 2006-09-19 Gabriel Dos Reis <gd...@cs...> + * configure.ac.pamphlet (LISP, PFL, CCF, LDF): Provide default + definition. Use $target to refine logic. + +2006-09-19 Gabriel Dos Reis <gd...@cs...> + * Makefile.pamphlet (install): Use $(axiom_src_srcdir), not ${SRC}. 2006-09-18 Gabriel Dos Reis <gd...@cs...> Modified: branches/build-improvements/configure =================================================================== --- branches/build-improvements/configure 2006-09-19 21:30:49 UTC (rev 146) +++ branches/build-improvements/configure 2006-09-20 02:25:41 UTC (rev 147) @@ -4893,105 +4893,38 @@ SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " -case $SYSNAME in - freebsd) +GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ + --disable-statsysbfd --enable-maxpage=256*1024" + +PFL= +CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D\${PLF}" +LDF= +LISP=lsp + +case $target in + *bsd*) PLF=BSDplatform CCF="-O2 -pipe -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} -I/usr/local/include" LDF="-L/usr/local/lib" - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" ;; - windows) PLF=MSYSplatform - CCF="-O2 -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" SRCDIRS=bootdir interpdir sharedir algebradir etcdir docdir inputdir ;; - linux) + *linux*) PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" ;; - gentoo) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" + *solaris*) + PLF=SUNplatform ;; - fedora64) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF="-L/usr/local/lib64 -L/usr/openwin/lib64 -L/usr/lib64 " - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - fedora3) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" - ;; - linuxglibc) - PLF= LINUXplatform - CCF=" -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - linuxglibc2.1) - PLF= LINUXplatform - CCF=" -g -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - solaris9) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" - ;; - sun4os55g) - PLF= SUN4OS5platform - CCF=" -O3 -D__EXTENSIONS__ -Wall -ansi -D${PLF} -I /usr/openwin/include" - LDF=-L /usr/openwin/lib -lnsl -lsocket - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - sung) - PLF= SUNplatform - CCF=" -O -D${PLF} -I/usr/openwin/include" - LDF= -L/usr/openwin/lib - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - MACOSX) + *darwin*) PLF=MACOSXplatform CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} \ -I/usr/include -I/usr/include/sys" - LDF= - LISP=lsp GCLOPTS="--enable-vssize=65536*2 --enable-maxpage=256*1024 --disable-locbfd \ --disable-statsysbfd --enable-custreloc --disable-tkconfig \ --enable-machine=pwerpc-macosx" ;; - *) - PFL= - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; esac Modified: branches/build-improvements/configure.ac =================================================================== --- branches/build-improvements/configure.ac 2006-09-19 21:30:49 UTC (rev 146) +++ branches/build-improvements/configure.ac 2006-09-20 02:25:41 UTC (rev 147) @@ -233,105 +233,38 @@ SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " -case $SYSNAME in - freebsd) +GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ + --disable-statsysbfd --enable-maxpage=256*1024" + +PFL= +CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D\${PLF}" +LDF= +LISP=lsp + +case $target in + *bsd*) PLF=BSDplatform CCF="-O2 -pipe -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} -I/usr/local/include" LDF="-L/usr/local/lib" - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" ;; - windows) PLF=MSYSplatform - CCF="-O2 -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" SRCDIRS=bootdir interpdir sharedir algebradir etcdir docdir inputdir ;; - linux) + *linux*) PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" ;; - gentoo) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" + *solaris*) + PLF=SUNplatform ;; - fedora64) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF="-L/usr/local/lib64 -L/usr/openwin/lib64 -L/usr/lib64 " - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - fedora3) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" - ;; - linuxglibc) - PLF= LINUXplatform - CCF=" -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - linuxglibc2.1) - PLF= LINUXplatform - CCF=" -g -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - solaris9) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" - ;; - sun4os55g) - PLF= SUN4OS5platform - CCF=" -O3 -D__EXTENSIONS__ -Wall -ansi -D${PLF} -I /usr/openwin/include" - LDF=-L /usr/openwin/lib -lnsl -lsocket - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - sung) - PLF= SUNplatform - CCF=" -O -D${PLF} -I/usr/openwin/include" - LDF= -L/usr/openwin/lib - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - MACOSX) + *darwin*) PLF=MACOSXplatform CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} \ -I/usr/include -I/usr/include/sys" - LDF= - LISP=lsp GCLOPTS="--enable-vssize=65536*2 --enable-maxpage=256*1024 --disable-locbfd \ --disable-statsysbfd --enable-custreloc --disable-tkconfig \ --enable-machine=pwerpc-macosx" ;; - *) - PFL= - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; esac AC_SUBST(PLF) Modified: branches/build-improvements/configure.ac.pamphlet =================================================================== --- branches/build-improvements/configure.ac.pamphlet 2006-09-19 21:30:49 UTC (rev 146) +++ branches/build-improvements/configure.ac.pamphlet 2006-09-20 02:25:41 UTC (rev 147) @@ -402,109 +402,52 @@ from the current system to the new build framework, we have moved the old logic from toplevel Makefile to here. It is understood that in the near future the logic will be improved to support more platforms. + +If GCL is not present in the build environment (a very common situation on +most platform), when we must build one from a copy included in the +Axiom tarball. However, GCL relies on the libirary BFD, the include +headers of which may exist (quite common). In order to avoid +failure while building GCL, on most platforms, we configure GCL to +use its own copy of BFD. That is not an optimal choice for platforms +that do provide BFD headers, but we cover more platforms that way. +Future work may refine the logic here. + <<platform specific bits>>= SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " -case $SYSNAME in - freebsd) +GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ + --disable-statsysbfd --enable-maxpage=256*1024" + +PFL= +CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D\${PLF}" +LDF= +LISP=lsp + +case $target in + *bsd*) PLF=BSDplatform CCF="-O2 -pipe -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} -I/usr/local/include" LDF="-L/usr/local/lib" - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" ;; - windows) PLF=MSYSplatform - CCF="-O2 -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" SRCDIRS=bootdir interpdir sharedir algebradir etcdir docdir inputdir ;; - linux) + *linux*) PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" ;; - gentoo) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" + *solaris*) + PLF=SUNplatform ;; - fedora64) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF="-L/usr/local/lib64 -L/usr/openwin/lib64 -L/usr/lib64 " - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - fedora3) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" - ;; - linuxglibc) - PLF= LINUXplatform - CCF=" -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - linuxglibc2.1) - PLF= LINUXplatform - CCF=" -g -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - solaris9) - PLF=LINUXplatform - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - LISP=lsp - GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \ - --disable-statsysbfd --enable-maxpage=256*1024" - ;; - sun4os55g) - PLF= SUN4OS5platform - CCF=" -O3 -D__EXTENSIONS__ -Wall -ansi -D${PLF} -I /usr/openwin/include" - LDF=-L /usr/openwin/lib -lnsl -lsocket - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - sung) - PLF= SUNplatform - CCF=" -O -D${PLF} -I/usr/openwin/include" - LDF= -L/usr/openwin/lib - LISP=lisp - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; - MACOSX) + *darwin*) PLF=MACOSXplatform CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} \ -I/usr/include -I/usr/include/sys" - LDF= - LISP=lsp GCLOPTS="--enable-vssize=65536*2 --enable-maxpage=256*1024 --disable-locbfd \ --disable-statsysbfd --enable-custreloc --disable-tkconfig \ --enable-machine=pwerpc-macosx" ;; - *) - PFL= - CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF}" - LDF= - GCLOPTS="--enable-vssize=65536*2 --enable-statsysbfd --enable-maxpage=256*1024" - ;; esac AC_SUBST(PLF) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-19 21:30:58
|
Revision: 146 http://svn.sourceforge.net/axiom/?rev=146&view=rev Author: dos-reis Date: 2006-09-19 14:30:49 -0700 (Tue, 19 Sep 2006) Log Message: ----------- Use $(axiom_src_srcdir), not $(SRC) Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-18 12:07:12 UTC (rev 145) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-19 21:30:49 UTC (rev 146) @@ -1,3 +1,7 @@ +2006-09-19 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (install): Use $(axiom_src_srcdir), not ${SRC}. + 2006-09-18 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Tidy. Describe the new cleanup Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-18 12:07:12 UTC (rev 145) +++ branches/build-improvements/Makefile.in 2006-09-19 21:30:49 UTC (rev 146) @@ -141,7 +141,7 @@ @echo export AXIOM >>${COMMAND} @echo PATH='$${AXIOM}/bin':'$${PATH}' >>${COMMAND} @echo export PATH >>${COMMAND} - @cat ${SRC}/etc/axiom >>${COMMAND} + @cat $(axiom_src_srcdir)/etc/axiom >>${COMMAND} @chmod +x ${COMMAND} @echo 79 Axiom installation finished. @echo Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-18 12:07:12 UTC (rev 145) +++ branches/build-improvements/Makefile.pamphlet 2006-09-19 21:30:49 UTC (rev 146) @@ -590,7 +590,7 @@ @echo export AXIOM >>${COMMAND} @echo PATH='$${AXIOM}/bin':'$${PATH}' >>${COMMAND} @echo export PATH >>${COMMAND} - @cat ${SRC}/etc/axiom >>${COMMAND} + @cat $(axiom_src_srcdir)/etc/axiom >>${COMMAND} @chmod +x ${COMMAND} @echo 79 Axiom installation finished. @echo This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-18 12:07:19
|
Revision: 145 http://svn.sourceforge.net/axiom/?rev=145&view=rev Author: dos-reis Date: 2006-09-18 05:07:12 -0700 (Mon, 18 Sep 2006) Log Message: ----------- More makefile simplification Modified Paths: -------------- branches/build-improvements/src/boot/ChangeLog.build-improvements branches/build-improvements/src/boot/Makefile.in branches/build-improvements/src/boot/Makefile.pamphlet Modified: branches/build-improvements/src/boot/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) +++ branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-18 12:07:12 UTC (rev 145) @@ -1,5 +1,16 @@ 2006-09-18 Gabriel Dos Reis <gd...@cs...> + * Makefile.pamphlet: Remove generic rules for making DVI, they are + now generated by the build machinery. + (DOCFILES): Remove. + (document): Remove. + (clean-local): Rename from clean. + (distclean-local): Rename from distclean. + (mostlyclean): New. + (pamphlet, boot_SOURCES): New. + +2006-09-18 Gabriel Dos Reis <gd...@cs...> + * Makefile.pamphlet (subdir): New. * Makefile.in: Regenerate. Modified: branches/build-improvements/src/boot/Makefile.in =================================================================== --- branches/build-improvements/src/boot/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) +++ branches/build-improvements/src/boot/Makefile.in 2006-09-18 12:07:12 UTC (rev 145) @@ -27,14 +27,7 @@ CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) -DOCFILES=${DOC}/boothdr.lisp.dvi ${DOC}/btincl2.boot.dvi \ - ${DOC}/btpile2.boot.dvi ${DOC}/btscan2.boot.dvi \ - ${DOC}/exports.lisp.dvi ${DOC}/npextras.lisp.dvi \ - ${DOC}/ptyout.boot.dvi ${DOC}/tyextra.boot.dvi \ - ${DOC}/typars.boot.dvi ${DOC}/typrops.boot.dvi \ - ${DOC}/tytree1.boot.dvi - LISP_COMPILE = echo '(progn $(PROCLAIMS) \ (compile-file "$<" :output-file "$@") \ ($(BYE)))' | $(LISPSYS) @@ -48,10 +41,18 @@ subdir = src/boot/ + +boot_sources = boothdr.boot bootload.lisp btincl2.boot btpile2.boot \ + btscan2.boot exports.lisp npextras.lisp ptyout.boot \ + tyextra.boot typars.boot typrops.boot tytree1.boot + +boot_SOURCES = $(addsuffix .pamphlet, $(boot_sources)) + +pamphlet = Makefile.pamphlet $(boot_SOURCES) # this stanza will create the final bootsys image -${SAVESYS}: ${OBJS} ${LOADSYS} ${DOCFILES} +${SAVESYS}: ${OBJS} ${LOADSYS} @ echo 44 invoking make in `pwd` with parms: @ echo SYS= ${SYS} @ echo LSP= ${LSP} @@ -61,7 +62,7 @@ @ echo INT= ${INT} @ echo OBJ= ${OBJ} @ echo MNT= ${MNT} - @ (cd ${OBJ}/${SYS}/bin ; echo '${CMD0}' | ${LOADSYS} >${TMP}/console ) + @ (cd ${OBJ}/${SYS}/bin ; echo '${CMD0}' | ${LOADSYS} > ${TMP}/trace ) @ echo 45 ${SAVESYS} created boot: ${BOOTS} @@ -103,29 +104,12 @@ $(axiom_build_document) --tangle $< && \ $(BOOT_TO_LISP) -document: ${DOCFILES} - @ echo 42 making tex and dvi files in ${DOC} +mostlyclean-local: -.PRECIOUS: $(DOC)/%.dvi -.PRECIOUS: $(builddir)/%.tex -.PRECIOUS: $(builddir)/%.dvi +clean-local: mostlyclean-local + -rm -f $(OBJS) + -rm -f $(SAVESYS) + -rm -f *.boot *.lisp -$(DOC)/%.dvi: $(builddir)/%.dvi - $(INSTALL) $< $@ - -$(builddir)/%.dvi: $(axiom_build_texdir)/axiom.sty - -$(builddir)/%.dvi: $(builddir)/%.tex - $(axiom_build_document) --latex $< $(SINK_NOISE) - -$(builddir)/%.tex: $(srcdir)/%.pamphlet - $(axiom_build_document) --weave $< -clean: - @echo 43 cleaning ${OUT} - @rm -rf ${OUT} - rm -f $(builddir)/*.log $(builddir)/*.aux - -distclean: clean - rm -f $(builddir)/*.dvi $(builddir)/*.tex - rm -f $(builddir)/*.boot $(builddir)/*.lisp - rm -rf $(DOC) +distclean-local: clean-local + -rm -rf $(OUT) Modified: branches/build-improvements/src/boot/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) +++ branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-18 12:07:12 UTC (rev 145) @@ -1176,24 +1176,6 @@ @ -\subsection{dvi from pamphlet} -<<dvi from pamphlet>>= -.PRECIOUS: $(DOC)/%.dvi -.PRECIOUS: $(builddir)/%.tex -.PRECIOUS: $(builddir)/%.dvi - -$(DOC)/%.dvi: $(builddir)/%.dvi - $(INSTALL) $< $@ - -$(builddir)/%.dvi: $(axiom_build_texdir)/axiom.sty - -$(builddir)/%.dvi: $(builddir)/%.tex - $(axiom_build_document) --latex $< $(SINK_NOISE) - -$(builddir)/%.tex: $(srcdir)/%.pamphlet - $(axiom_build_document) --weave $< -@ - \subsection{compiled lisp from pamphlet} <<compiled lisp from pamphlet>>= .PRECIOUS: $(OUT)/%.$(OBJEXT) @@ -1252,14 +1234,7 @@ \section{Making the documentation} <<environment>>= -DOCFILES=${DOC}/boothdr.lisp.dvi ${DOC}/btincl2.boot.dvi \ - ${DOC}/btpile2.boot.dvi ${DOC}/btscan2.boot.dvi \ - ${DOC}/exports.lisp.dvi ${DOC}/npextras.lisp.dvi \ - ${DOC}/ptyout.boot.dvi ${DOC}/tyextra.boot.dvi \ - ${DOC}/typars.boot.dvi ${DOC}/typrops.boot.dvi \ - ${DOC}/tytree1.boot.dvi - LISP_COMPILE = echo '(progn $(PROCLAIMS) \ (compile-file "$<" :output-file "$@") \ ($(BYE)))' | $(LISPSYS) @@ -1273,24 +1248,17 @@ @ -<<document>>= -document: ${DOCFILES} - @ echo 42 making tex and dvi files in ${DOC} - -@ - - \section{Cleanup} -<<clean>>= -clean: - @echo 43 cleaning ${OUT} - @rm -rf ${OUT} - rm -f $(builddir)/*.log $(builddir)/*.aux +<<cleanup>>= +mostlyclean-local: -distclean: clean - rm -f $(builddir)/*.dvi $(builddir)/*.tex - rm -f $(builddir)/*.boot $(builddir)/*.lisp - rm -rf $(DOC) +clean-local: mostlyclean-local + -rm -f $(OBJS) + -rm -f $(SAVESYS) + -rm -f *.boot *.lisp + +distclean-local: clean-local + -rm -rf $(OUT) @ @@ -1300,10 +1268,18 @@ <<environment>> subdir = src/boot/ + +boot_sources = boothdr.boot bootload.lisp btincl2.boot btpile2.boot \ + btscan2.boot exports.lisp npextras.lisp ptyout.boot \ + tyextra.boot typars.boot typrops.boot tytree1.boot + +boot_SOURCES = $(addsuffix .pamphlet, $(boot_sources)) + +pamphlet = Makefile.pamphlet $(boot_SOURCES) # this stanza will create the final bootsys image -${SAVESYS}: ${OBJS} ${LOADSYS} ${DOCFILES} +${SAVESYS}: ${OBJS} ${LOADSYS} @ echo 44 invoking make in `pwd` with parms: @ echo SYS= ${SYS} @ echo LSP= ${LSP} @@ -1313,7 +1289,7 @@ @ echo INT= ${INT} @ echo OBJ= ${OBJ} @ echo MNT= ${MNT} - @ (cd ${OBJ}/${SYS}/bin ; echo '${CMD0}' | ${LOADSYS} >${TMP}/console ) + @ (cd ${OBJ}/${SYS}/bin ; echo '${CMD0}' | ${LOADSYS} > ${TMP}/trace ) @ echo 45 ${SAVESYS} created boot: ${BOOTS} @@ -1322,9 +1298,7 @@ <<compiled lisp with deps from pamphlet>> <<boot from pamphlet>> -<<document>> -<<dvi from pamphlet>> -<<clean>> +<<cleanup>> @ \eject This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-18 07:54:24
|
Revision: 144 http://svn.sourceforge.net/axiom/?rev=144&view=rev Author: dos-reis Date: 2006-09-18 00:52:52 -0700 (Mon, 18 Sep 2006) Log Message: ----------- First patch a series that simplify the Makefiles. There may be some fallouts from this work. They will be fixed as I know them. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet branches/build-improvements/README.build-improvements branches/build-improvements/config/setup-dep.mk branches/build-improvements/config/var-def.mk branches/build-improvements/configure branches/build-improvements/configure.ac branches/build-improvements/configure.ac.pamphlet branches/build-improvements/lsp/ChangeLog.build-improvements branches/build-improvements/lsp/Makefile.in branches/build-improvements/lsp/Makefile.pamphlet branches/build-improvements/src/ChangeLog.build-improvements branches/build-improvements/src/Makefile.in branches/build-improvements/src/Makefile.pamphlet branches/build-improvements/src/algebra/ChangeLog.build-improvements branches/build-improvements/src/algebra/Makefile.in branches/build-improvements/src/algebra/Makefile.pamphlet branches/build-improvements/src/booklets/ChangeLog.build-improvements branches/build-improvements/src/booklets/Makefile.in branches/build-improvements/src/booklets/Makefile.pamphlet branches/build-improvements/src/boot/ChangeLog.build-improvements branches/build-improvements/src/boot/Makefile.in branches/build-improvements/src/boot/Makefile.pamphlet branches/build-improvements/src/clef/ChangeLog.build-improvements branches/build-improvements/src/clef/Makefile.in branches/build-improvements/src/clef/Makefile.pamphlet branches/build-improvements/src/doc/ChangeLog.build-improvements branches/build-improvements/src/doc/Makefile.in branches/build-improvements/src/doc/Makefile.pamphlet branches/build-improvements/src/etc/ChangeLog.build-improvements branches/build-improvements/src/etc/Makefile.in branches/build-improvements/src/etc/Makefile.pamphlet branches/build-improvements/src/graph/ChangeLog.build-improvements branches/build-improvements/src/graph/Gdraws/ChangeLog.build-improvements branches/build-improvements/src/graph/Gdraws/Makefile.in branches/build-improvements/src/graph/Gdraws/Makefile.pamphlet branches/build-improvements/src/graph/Makefile.in branches/build-improvements/src/graph/Makefile.pamphlet branches/build-improvements/src/graph/view2D/ChangeLog.build-improvements branches/build-improvements/src/graph/view2D/Makefile.in branches/build-improvements/src/graph/view2D/Makefile.pamphlet branches/build-improvements/src/graph/view3D/ChangeLog.build-improvements branches/build-improvements/src/graph/view3D/Makefile.in branches/build-improvements/src/graph/view3D/Makefile.pamphlet branches/build-improvements/src/graph/viewAlone/ChangeLog.build-improvements branches/build-improvements/src/graph/viewAlone/Makefile.in branches/build-improvements/src/graph/viewAlone/Makefile.pamphlet branches/build-improvements/src/graph/viewman/ChangeLog.build-improvements branches/build-improvements/src/graph/viewman/Makefile.in branches/build-improvements/src/graph/viewman/Makefile.pamphlet branches/build-improvements/src/hyper/ChangeLog.build-improvements branches/build-improvements/src/hyper/Makefile.in branches/build-improvements/src/hyper/Makefile.pamphlet branches/build-improvements/src/hyper/parse_aux.pamphlet branches/build-improvements/src/hyper/parse_paste.pamphlet branches/build-improvements/src/hyper/parse_types.pamphlet branches/build-improvements/src/hyper/show_types.pamphlet branches/build-improvements/src/input/ChangeLog.build-improvements branches/build-improvements/src/input/Makefile.in branches/build-improvements/src/input/Makefile.pamphlet branches/build-improvements/src/interp/ChangeLog.build-improvements branches/build-improvements/src/interp/Makefile.in branches/build-improvements/src/interp/Makefile.pamphlet branches/build-improvements/src/lib/ChangeLog.build-improvements branches/build-improvements/src/lib/Makefile.in branches/build-improvements/src/lib/Makefile.pamphlet branches/build-improvements/src/share/ChangeLog.build-improvements branches/build-improvements/src/share/Makefile.in branches/build-improvements/src/share/Makefile.pamphlet branches/build-improvements/src/sman/ChangeLog.build-improvements branches/build-improvements/src/sman/Makefile.in branches/build-improvements/src/sman/Makefile.pamphlet Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,28 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Tidy. Describe the new cleanup + methodology. + (subdir): New. Describe. + (all): Don't LaTeX main Makefile pamphlet. + (document, do-document): Remove. + (clean-local): Rename from do-clean]. Tidy. + (mostlyclean-local, distclean-local): New. + (pamphlets): New. Describe. + ($(axiom_build_texdir)/axiom.sty): Use $(axiom_build_document). + (VERSION): Update. + * Makefile.in: Regenerate. + + * config/setup-dep.mk: Tidy. Implement general rules to make DVI + files. Likewise for cleanups. + + * configure.ac.pamphlet: Check for the 'ar' program. + * configure.ac: Regenerate. + * configure: Likewise. + +2006-09-15 Gabriel Dos Reis <gd...@cs...> + + * config/var-def.mk (subdir): Remove. + 2006-09-17 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (GCLVERSION): Don't set here. Remove Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -3,7 +3,7 @@ ## -- Old-style Axiom makefile variables -- ## ---------------------------------------- -VERSION="Axiom (build improvements branch) -- 2006-09-12" +VERSION="Axiom (build improvements branch) -- 2006-09-17" SPD=$(shell pwd) SYS=$(notdir $(AXIOM)) SPAD=${SPD}/mnt/${SYS} @@ -29,6 +29,8 @@ GCLOPTS=@GCLOPTS@ SRCDIRS=@SRCDIRS@ +pamphlets = configure.ac.pamphlet Makefile.pamphlet + PART= cprogs SUBPART= everything @@ -47,6 +49,9 @@ PATH_EXPORTS = AXIOM=@AXIOM@; export AXIOM; PATH=@AXIOM@/bin:$${PATH}; +subdir = + + .PHONY: all all: $(PATH_EXPORTS) $(MAKE) do-all @@ -56,10 +61,6 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ($(axiom_build_document) --weave --latex \ - $(srcdir)/Makefile.pamphlet && \ - $(mkinstalldirs) ${MNT}/${SYS}/doc/src && \ - cp Makefile.dvi ${MNT}/${SYS}/doc/root.Makefile.dvi) @ ${ENV} $(MAKE) srcsetup lspdir srcdir @echo 3 finished system build on `date` | tee >lastBuildDate @@ -122,8 +123,8 @@ ## We need to have axiom.sty installed before latexing the pamphlets $(axiom_build_texdir)/axiom.sty: $(axiom_src_srcdir)/doc/axiom.sty.pamphlet - $(mkinstalldirs) $(axiom_build_texdir) && \ - $(TANGLE) -Raxiom.sty $< > $@ + $(mkinstalldirs) $(axiom_build_texdir) + $(axiom_build_document) --tangle=axiom.sty --output=$@ $< stamp-build-scripts: $(axiom_build_document) \ $(axiom_build_texdir)/axiom.sty @@ -174,20 +175,6 @@ @rm -rf ${INT}/ccl @rm -rf ${OBJ}/${SYS}/ccl -.PHONY: document -document: - $(PATH_EXPORTS) $(MAKE) do-document - -.PHONY: do-document -do-document: @axiom_build_utils@ stamp-build-scripts - @ echo 4 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} - @ echo 5 Environment ${ENV} - @mkdir -p ${INT}/doc/lsp - @mkdir -p ${INT}/doc/src - @(cd lsp ; ${ENV} ${MAKE} document ) - @(cd src ; ${ENV} ${MAKE} document ) - @echo 6 finished system build on `date` | tee >lastBuildDate - stamp-rootdirs: stamp-build-scripts @echo 11 checking directory structure @echo 12 Environment: ${ENV} @@ -199,35 +186,21 @@ @$(STAMP) stamp-rootdirs -.PHONY: clean -clean: - $(PATH_EXPORTS) $(MAKE) do-clean +mostlyclean-local: -.PHONY: do-clean -do-clean: - @ echo 7 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} - @ echo 8 Environment ${ENV} - @ rm -f lsp/Makefile.dvi - @ rm -rf lsp/gcl* +clean-local: mostlyclean-local + @ rm -f stamp-* @ rm -f noweb - @ rm -f trace - @ rm -f Makefile.${SYS} - @ rm -f Makefile.tex - @ rm -f Makefile.dvi @ rm -rf int @ rm -rf obj @ rm -rf mnt - @ rm -f stamp-* - @ for i in `find . -name "*~"` ; do rm -f $$i ; done - @ for i in `find src -name "Makefile.dvi"` ; do rm -f $$i ; done + @ rm -f trace +distclean-local: clean-local + -rm -rf build + -rm -rf $(axiom_targetdir) + -rm -f config.status config.log + -rm -f Makefile -distclean: clean - rm -rf $(axiom_builddir) - rm -rf $(axiom_targetdir) - rm -rf $(MNT) - rm -rf $(OBJ) - rm -rf $(INT) - $(top_builddir)/config.status: $(top_srcdir)/configure $(SHELL) ./config.status --recheck Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -32,6 +32,9 @@ PATH_EXPORTS = AXIOM=@AXIOM@; export AXIOM; PATH=@AXIOM@/bin:$${PATH}; +subdir = + + .PHONY: all all: $(PATH_EXPORTS) $(MAKE) do-all @@ -41,10 +44,6 @@ @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} @ echo 2 Environment ${ENV} @ $(MAKE) stamp-rootdirs - @ ($(axiom_build_document) --weave --latex \ - $(srcdir)/Makefile.pamphlet && \ - $(mkinstalldirs) ${MNT}/${SYS}/doc/src && \ - cp Makefile.dvi ${MNT}/${SYS}/doc/root.Makefile.dvi) @ ${ENV} $(MAKE) srcsetup lspdir srcdir @echo 3 finished system build on `date` | tee >lastBuildDate @@ -63,56 +62,41 @@ <<src>> <<lsp>> -.PHONY: document -document: - $(PATH_EXPORTS) $(MAKE) do-document - -.PHONY: do-document -do-document: @axiom_build_utils@ stamp-build-scripts - @ echo 4 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} - @ echo 5 Environment ${ENV} - @mkdir -p ${INT}/doc/lsp - @mkdir -p ${INT}/doc/src - @(cd lsp ; ${ENV} ${MAKE} document ) - @(cd src ; ${ENV} ${MAKE} document ) - @echo 6 finished system build on `date` | tee >lastBuildDate - <<rootdirs>> -.PHONY: clean -clean: - $(PATH_EXPORTS) $(MAKE) do-clean +mostlyclean-local: -.PHONY: do-clean -do-clean: - @ echo 7 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART} - @ echo 8 Environment ${ENV} - @ rm -f lsp/Makefile.dvi - @ rm -rf lsp/gcl* +clean-local: mostlyclean-local + @ rm -f stamp-* @ rm -f noweb - @ rm -f trace - @ rm -f Makefile.${SYS} - @ rm -f Makefile.tex - @ rm -f Makefile.dvi @ rm -rf int @ rm -rf obj @ rm -rf mnt - @ rm -f stamp-* - @ for i in `find . -name "*~"` ; do rm -f $$i ; done - @ for i in `find src -name "Makefile.dvi"` ; do rm -f $$i ; done + @ rm -f trace +distclean-local: clean-local + -rm -rf build + -rm -rf $(axiom_targetdir) + -rm -f config.status config.log + -rm -f Makefile -distclean: clean - rm -rf $(axiom_builddir) - rm -rf $(axiom_targetdir) - rm -rf $(MNT) - rm -rf $(OBJ) - rm -rf $(INT) - $(top_builddir)/config.status: $(top_srcdir)/configure $(SHELL) ./config.status --recheck @ +\subsection{[[pamphlets]]} + +The [[pamphlets]] variable is to be defined by every Makefile. It shall +contain the list of all pamphlet files of interest in the directory. The +value of this variable is used to build documentation files. + +At the moment, the toplevel directory contains only two pamphlet files +of interest: +<<pamphlets>>= +pamphlets = configure.ac.pamphlet Makefile.pamphlet +@ + + \subsection{Literate Commands} Since this is the first build message that gets generated we echo the ENV variable for debugging purposes. We use the specific file @@ -121,8 +105,8 @@ <<literate commands>>= ## We need to have axiom.sty installed before latexing the pamphlets $(axiom_build_texdir)/axiom.sty: $(axiom_src_srcdir)/doc/axiom.sty.pamphlet - $(mkinstalldirs) $(axiom_build_texdir) && \ - $(TANGLE) -Raxiom.sty $< > $@ + $(mkinstalldirs) $(axiom_build_texdir) + $(axiom_build_document) --tangle=axiom.sty --output=$@ $< stamp-build-scripts: $(axiom_build_document) \ $(axiom_build_texdir)/axiom.sty @@ -132,6 +116,7 @@ @ + \subsection{Environment} \subsubsection{VERSION} @@ -340,6 +325,18 @@ SUBPART= everything @ + +\subusection{[[subdir]]} + +This variable should be defined every Makefile. It shall contain the +relative path (ending with a slash) from the toplevel source directory +to the directory contaning that Makefile. For the toplevel directory, it +is empty. + +[[subdir]] is used to instruct [[config.status]] --- created at +configuration time --- to recreate a particular Makefile if needed. + + \subsubsection{DESTDIR and COMMAND} The install directory is [[/usr/local/axiom]] by default but this can be changed on the command line by typing: @@ -359,7 +356,7 @@ ## -- Old-style Axiom makefile variables -- ## ---------------------------------------- -VERSION="Axiom (build improvements branch) -- 2006-09-12" +VERSION="Axiom (build improvements branch) -- 2006-09-17" SPD=$(shell pwd) SYS=$(notdir $(AXIOM)) SPAD=${SPD}/mnt/${SYS} @@ -385,6 +382,8 @@ GCLOPTS=@GCLOPTS@ SRCDIRS=@SRCDIRS@ +<<pamphlets>> + <<part>> ENV= SPAD=${SPAD} SYS=${SYS} SPD=${SPD} LSP=${LSP} GCLDIR=${GCLDIR} \ @@ -480,53 +479,6 @@ has been removed pending a fix. The referenced patch files still exist in the zips directory. -\begin{verbatim} -The [[mv noweb.src.awkname.patch]] file, -the [[noweb.src.awk.totex.nw.patch]] file, -the [[noweb.src.lib.toascii.patch]] file, -the [[noweb.src.shell.cpif.patch]] file, -the [[noweb.src.shell.nonu.patch]] file, -the [[noweb.src.shell.roff.nw.patch]] file, -the [[noweb.src.shell.noroff.patch]] file, -the [[noweb.src.shell.toroff.patch]] file, -the [[noweb.src.lib.toascii.nw.patch]] file, and -the [[noweb.src.shell.roff.mm.patch]] file remove the insecure temp file -problem. - -We removed the same patch to -[[noweb.src.lib.toascii.patch]] because this is not a source file. - -noweb: - @echo 13 making noweb - @mkdir -p ${OBJ}/noweb - @mkdir -p ${TMP} - @mkdir -p ${MNT}/${SYS}/bin/lib - @( cd ${OBJ}/noweb ; \ - tar -zxf ${ZIPS}/noweb-2.10a.tgz ; \ - cd ${OBJ}/noweb/src ; \ - ${PATCH} <${ZIPS}/noweb.src.Makefile.patch ; \ - ${PATCH} <${ZIPS}/noweb.src.awkname.patch ; \ - cd ${OBJ}/noweb/src/c ; \ - ${PATCH} <${ZIPS}/noweb.modules.c.patch ; \ - cd ${OBJ}/noweb/src/awk ; \ - ${PATCH} <${ZIPS}/noweb.src.awk.totex.nw.patch ; \ - cd ${OBJ}/noweb/src/lib ; \ - ${PATCH} <${ZIPS}/noweb.src.lib.toascii.nw.patch ; \ - cd ${OBJ}/noweb/src/shell ; \ - ${PATCH} <${ZIPS}/noweb.src.shell.cpif.patch ; \ - ${PATCH} <${ZIPS}/noweb.src.shell.nonu.patch ; \ - ${PATCH} <${ZIPS}/noweb.src.shell.roff.nw.patch ; \ - ${PATCH} <${ZIPS}/noweb.src.shell.noroff.patch ; \ - ${PATCH} <${ZIPS}/noweb.src.shell.toroff.patch ; \ - ${PATCH} <${ZIPS}/noweb.src.shell.roff.mm.patch ; \ - cd ${OBJ}/noweb/src ; \ - ./awkname ${AWK} ; \ - ${ENV} ${MAKE} BIN=${MNT}/${SYS}/bin/lib LIB=${MNT}/${SYS}/bin/lib \ - MAN=${MNT}/${SYS}/bin/man \ - TEXINPUTS=${MNT}/${SYS}/bin/tex all install >${TMP}/trace ) - @echo The file marks the fact that noweb has been made > noweb - -\end{verbatim} <<noweb>>= noweb: @echo 13 making noweb @@ -559,6 +511,7 @@ @rm -f noweb @ + \subsection{src} We should recompile the world with the .fn information but not here. \begin{verbatim} @@ -646,6 +599,7 @@ @echo @ + \subsection{document} Each file in the system is in pamphlet form. This stanza, which is not @@ -668,6 +622,15 @@ @ + +Until now, pamphlet files are also \LaTeX{}ed as part of a normal build. +We are moving to more standard build process where the documentation +is made as a separate rule. Please, this does not go against the +literate programming movement. The new build machinery has a general +make target [[dvi]] that builds DVI files of the corresponding pamphlet +files. It does so by consulting the value of the variable [[pamphlets]] +--- which should be defined by every Makefile. + \section{The Platform Makefiles} The Top Level Makefile examines the SPAD variable to determine @@ -790,6 +753,74 @@ different order than linux systems. The [[sys]] versions of the include files are broken, at least for Axiom use. + + +\section{Cleanup} +Following the standard practice of GNU build machinery, there are +three [[make]] rules for cleanup: +\begin{enumerate} +\item [[mostlyclean]] +\item [[clean]] +\item [[distclean]] +\end{enumerate} + +[[mostlyclean]] acts almost like [[clean]] except that it does not +delete some files that are time-consuming to make (if remaking is +not needed), e.g. [[libspad.a]] or [[lisp]]. + +[[clean]] deletes any file created by running [[make]]. + +[[distclean]] cleans up the build directory to the point where it almost +reverts to the state of the build directory before the initial build. + +In summary [[clean]] can be interpreted as a prerequisite of [[distclean]], +and [[mostlyclean]] a prerequisite of [[clean]]. + + +To ease the process of writing rules to clean up directories, the new +build machinery has divided each general rule cleanup rule into two +categories +\begin{itemize} +\item [[\%-generic]] +\item [[\%-local]] +\end{itemize} + +The stem [[\%]] standards for [[mostlyclean]], [[clean]], and +[[distclean]]. The [[\%-generic]] rules are defined by the +build machinery. Only the tree rules [[\%-local]] need to be defined +by Makefiles. The intent is that they do directory-specific cleanup. + + + +\subsection{[[generic cleanups]]} + +There are many cleanup tasks that are common to almost all directories. +They are handled by generic cleanup rules +\begin{itemize} +\item [[mostlyclean-generic]] +\item [[clean-generic]] +\item [[distclean-generic]] +\end{itemize} +For instances, they delete intermediate files produced by \LaTeX{}. +If you're writing a new Makefile for Axiom, you do not have to +define these rules. + +\subsection{[[local cleanups]]} + +Some Makefiles have specific needs about cleanups. For example, the +directory [[src/lib]] that contains mostly C codes would need to delete +intermediate files for C codes weaved from pmaphlets. They must +handle those through +\begin{itemize} +\item [[mostlyclean-local]] +\item [[clean-local]] +\item [[distclean-local]] +\end{itemize} + +Notice that each Makefile should define those targets, even if they do +nothing. + + \eject \begin{thebibliography}{99} \bibitem{1} CMUCL {\bf http://www.cons.org/cmucl} Modified: branches/build-improvements/README.build-improvements =================================================================== --- branches/build-improvements/README.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/README.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -54,6 +54,10 @@ === TODO === ============ +* Fix the hyperdoc failure. + +* Implement framework for recursive rules in Makefiles. + * Find a better structuring for PLF, CCF, LDF, LISP. * Have Axiom configure pass down tp GCL options specified on the Modified: branches/build-improvements/config/setup-dep.mk =================================================================== --- branches/build-improvements/config/setup-dep.mk 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/config/setup-dep.mk 2006-09-18 07:52:52 UTC (rev 144) @@ -2,11 +2,31 @@ ## -- Standard boilerplate dependencies -- ## --------------------------------------- -build_setup_files= $(top_srcdir)/configure.ac.pamphlet \ - $(top_srcdir)/Makefile.pamphlet \ - $(top_srcdir)/build-setup.sh +## Rules to make DVI files from pamphlets +.PRECIOUS: $(builddir)/%.tex +.PRECIOUS: $(builddir)/%.dvi +DVI_FILES = $(addprefix $(axiom_target_docdir)/$(subdir), \ + $(pamphlets:.pamphlet=.dvi)) + +pamphlets_SOURCES = $(addprefix $(srcdir)/, $(pamphlets)) + +.PHONY: dvi +dvi: $(DVI_FILES) + +$(axiom_target_docdir)/$(subdir)%.dvi: $(builddir)/%.dvi + $(INSTALL_DATA) $< $@ + +$(builddir)/%.dvi: $(axiom_build_texdir)/axiom.sty + +$(builddir)/%.dvi: $(builddir)/%.tex + $(axiom_build_document) --latex $< $(SINK_NOISE) + +$(builddir)/%.tex: $(srcdir)/%.pamphlet + $(axiom_build_document) --weave --output=$@ $< + + ## Rules for regenerating configure.ac and configure from ## pamphlet files. $(top_srcdir)/configure.ac: $(top_srcdir)/configure.ac.pamphlet @@ -32,3 +52,25 @@ $(axiom_build_document): $(axiom_src_srcdir)/scripts/document.in cd $(abs_top_builddir) && \ $(SHELL) ./config.status build/scripts/document + +## Cleanup. +## Each Makefile is responsible of defining targets named +## mostlyclean-local, clean-local, and distclean-local. +.PHONY: mostlyclean-generic mostlyclean-local mostlyclean +mostlyclean-generic: + -rm -f *~ + -rm -f *.log *.aux *.toc + +mostlyclean: mostlyclean-generic mostlyclean-local + +.PHONY: clean-generic clean-local clean +clean-generic: mostlyclean-generic + -rm -f *.tex *.dvi + +clean: clean-generic clean-local + +.PHONY: distclean-generic distclean-local distclean +distclean-generic: clean-generic + -rm -rf $(axiom_target_docdir)/$(subdir) + +distclean: distclean-generic distclean-local Modified: branches/build-improvements/config/var-def.mk =================================================================== --- branches/build-improvements/config/var-def.mk 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/config/var-def.mk 2006-09-18 07:52:52 UTC (rev 144) @@ -26,17 +26,7 @@ abs_top_builddir = @abs_top_builddir@ datadir = @datadir@ -## The variable "subdir" is usually computed by Automake in fully -## evaluated form. However, we do not use Automake yet. Consequently, -## we must do this "by hand" ourselves. The value of subdir is either -## the empty string (for the toplevel Makefile, i.e. the one at the same -## level as configure), or a relative path from the toplevel source -## directory to the directory that contains the Makefile template being -## instantiated. We make the assumption that the pathnames do not -## contain the character '|'. -subdir=`echo ${abs_srcdir}/ | sed -e 's|$(axiom_top_srcdir)/||'` - AR = @AR@ CC = @CC@ CFLAGS = @CFLAGS@ Modified: branches/build-improvements/configure =================================================================== --- branches/build-improvements/configure 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/configure 2006-09-18 07:52:52 UTC (rev 144) @@ -274,7 +274,7 @@ PACKAGE_BUGREPORT='axi...@no...' ac_unique_file="src/Makefile.pamphlet" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S AWK TAR PATCH MAKE RANLIB ac_ct_RANLIB TOUCH LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S AWK TAR PATCH MAKE RANLIB ac_ct_RANLIB AR TOUCH LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -2831,6 +2831,45 @@ fi +# Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="{ { echo "$as_me:$LINENO: error: program 'ar' is missing" >&5 +echo "$as_me: error: program 'ar' is missing" >&2;} + { (exit 1); exit 1; }; }" +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + # Extract the first word of "touch", so it can be a program name with args. set dummy touch; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -2947,7 +2986,7 @@ fi -## Accumulate list of utils needed for the build machine +## Accumulate list of utils needed for the build platform axiom_required_build_utils= ## ------------------------- @@ -5709,6 +5748,7 @@ s,@MAKE@,$MAKE,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@AR@,$AR,;t t s,@TOUCH@,$TOUCH,;t t s,@LATEX@,$LATEX,;t t s,@MAKEINDEX@,$MAKEINDEX,;t t Modified: branches/build-improvements/configure.ac =================================================================== --- branches/build-improvements/configure.ac 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/configure.ac 2006-09-18 07:52:52 UTC (rev 144) @@ -74,6 +74,8 @@ AC_PROG_RANLIB +AC_CHECK_PROG([AR], [ar], [ar], [AC_MSG_ERROR([program 'ar' is missing])]) + AC_CHECK_PROG([TOUCH], [touch], [touch], [AC_MSG_ERROR(['touch' program is missing.])]) @@ -82,7 +84,7 @@ AC_CHECK_PROG([MAKEINDEX], [makeindex], [makeindex], [AC_MSG_ERROR([Axiom needs a makeindex program])]) -## Accumulate list of utils needed for the build machine +## Accumulate list of utils needed for the build platform axiom_required_build_utils= ## ------------------------- Modified: branches/build-improvements/configure.ac.pamphlet =================================================================== --- branches/build-improvements/configure.ac.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/configure.ac.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -249,6 +249,8 @@ AC_PROG_RANLIB +AC_CHECK_PROG([AR], [ar], [ar], [AC_MSG_ERROR([program 'ar' is missing])]) + AC_CHECK_PROG([TOUCH], [touch], [touch], [AC_MSG_ERROR(['touch' program is missing.])]) @@ -257,7 +259,7 @@ AC_CHECK_PROG([MAKEINDEX], [makeindex], [makeindex], [AC_MSG_ERROR([Axiom needs a makeindex program])]) -## Accumulate list of utils needed for the build machine +## Accumulate list of utils needed for the build platform axiom_required_build_utils= ## ------------------------- Modified: branches/build-improvements/lsp/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/lsp/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/lsp/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,16 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Use $(axiom_builddir) to store GCL image. + Leave obejcts files there. + ($(OUT)/lisp): Record dependencies. + (subdir): New. + (pamphlets): Likewise. + (lisp_DEPENDENCIES): Likewise. + (document): Remove. + (clean-local): Rename from clean. + (mostlyclean-local, distclean-local): New. + * Makefile.in: Regenerate. + 2006-09-17 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Build GCL from Axiom source as if we were Modified: branches/build-improvements/lsp/Makefile.in =================================================================== --- branches/build-improvements/lsp/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/lsp/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -1,10 +1,16 @@ GCLVERSION = gcl-2.6.8pre OUT = $(axiom_build_bindir) -lisp_DEPENDENCIES = ${OBJ}/${SYS}/lib/cfuns-c.o \ - ${OBJ}/${SYS}/lib/sockio-c.o \ - ${OBJ}/${SYS}/lib/libspad.a +subdir = lsp/ +pamphlets = Makefile.pamphlet + +build_libdir = $(abs_top_builddir)/src/lib + +lisp_DEPENDENCIES = $(build_libdir)/cfuns-c.o \ + $(build_libdir)/sockio-c.o \ + $(build_libdir)/libspad.a + all: $(OUT)/lisp # Rules for building GCL from Axiom distribution. @@ -18,7 +24,7 @@ ${ENV} $(MAKE) && $(ENV) $(MAKE) install) # Create a fresh image for building Boot -$(OUT)/lisp: $(GCL) $(lisp_DEPENDENCIES) +$(OUT)/lisp: $(GCL) $(lisp_DEPENDENCIES) $(OUT) echo '(compiler::link nil "${OUT}/lisp" \ (format nil "(progn (let ((*load-path* (cons ~S *load-path*))\ (si::*load-types* ~S)) \ @@ -27,25 +33,28 @@ (si::sgc-on t)) \ (setq compiler::*default-system-p* t))" \ si::*system-directory* (quote (list ".lsp"))) \ - "${OBJ}/${SYS}/lib/cfuns-c.o \ - ${OBJ}/${SYS}/lib/sockio-c.o \ - ${OBJ}/${SYS}/lib/libspad.a")' \ + "$(build_libdir)/cfuns-c.o \ + $(build_libdir)/sockio-c.o \ + $(build_libdir)/libspad.a")' \ | $(GCL) +$(OUT): + $(mkinstalldirs) $@ + + ccldir: $(builddir)/ccl/Makefile @echo 14 building CCL @mkdir -p ${INT}/ccl @mkdir -p ${OBJ}/${SYS}/ccl @( cd ccl ; ${ENV} ${MAKE} ) -document: - @echo 16 making docs in ${LSP} - @mkdir -p ${INT}/doc/lsp/ccl - @( cd ccl ; ${ENV} ${MAKE} document ) +mostlyclean-local: + -rm -rf $(GCLVERSION) -clean: - @echo 17 cleaning ${LSP}/ccl - @( cd ccl ; ${ENV} ${MAKE} clean ) - rm -f stamp-gcldir +clean-local: mostlyclean + -rm -f $(OUT)/lisp + -rm -f $(axiom_build_bindir)/gcl + -rm -rf $(axiom_builddir)/lib/$(GCLVERSION) -distclean: clean +distclean-local: clean-local + -rm -f Makefile Modified: branches/build-improvements/lsp/Makefile.pamphlet =================================================================== --- branches/build-improvements/lsp/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/lsp/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -68,8 +68,8 @@ echo 3 applying EXTRAS patch to h/linux.defs ; \ $(PATCH) < $(axiom_optional_srcdir)/${GCLVERSION}.h.linux.defs.patch) @(echo 4 setup ini files for EXTRAS patch ; \ - touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \ - touch ${OBJ}/${SYS}/lib/sockio-c.ini ) + touch $(abs_top_builddir)/src/lib/cfuns-c.ini ; \ + touch $(abs_top_builddir)/src/lib/sockio-c.ini ) @ \subsubsection{fortran patch} @@ -107,11 +107,11 @@ file contains the proclaims for GCL's function definitions. <<gcl-2.6.8pre.collectfn.fix>>= @(cd ${GCLVERSION}/cmpnew ; \ - echo 26 copy gcl_collectfn.lsp to ${OBJ}/${SYS}/lsp/collectfn.lsp ; \ - $(INSTALL) gcl_collectfn.lsp ${OBJ}/${SYS}/lsp/collectfn.lsp ) + echo 26 copy gcl_collectfn.lsp to $(axiom_builddir)/lsp/collectfn.lsp ; \ + $(INSTALL) gcl_collectfn.lsp $(axiom_builddir)/lsp/collectfn.lsp ) @(cd ${GCLVERSION}/lsp ; \ - echo 27 copy sys-proclaim.lisp to ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ; \ - $(INSTALL) sys-proclaim.lisp ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ) + echo 27 copy sys-proclaim.lisp to $(axiom_builddir)/lsp/sys-proclaim.lisp ; \ + $(INSTALL) sys-proclaim.lisp $(axiom_builddir)/lsp/sys-proclaim.lisp ) @ \subsection{The GCL-2.6.8pre stanza} @@ -129,7 +129,7 @@ <<build lisp for boot>>= # Create a fresh image for building Boot -$(OUT)/lisp: $(GCL) $(lisp_DEPENDENCIES) +$(OUT)/lisp: $(GCL) $(lisp_DEPENDENCIES) $(OUT) echo '(compiler::link nil "${OUT}/lisp" \ (format nil "(progn (let ((*load-path* (cons ~S *load-path*))\ (si::*load-types* ~S)) \ @@ -138,20 +138,30 @@ (si::sgc-on t)) \ (setq compiler::*default-system-p* t))" \ si::*system-directory* (quote (list ".lsp"))) \ - "${OBJ}/${SYS}/lib/cfuns-c.o \ - ${OBJ}/${SYS}/lib/sockio-c.o \ - ${OBJ}/${SYS}/lib/libspad.a")' \ + "$(build_libdir)/cfuns-c.o \ + $(build_libdir)/sockio-c.o \ + $(build_libdir)/libspad.a")' \ | $(GCL) + +$(OUT): + $(mkinstalldirs) $@ + @ <<*>>= GCLVERSION = gcl-2.6.8pre OUT = $(axiom_build_bindir) -lisp_DEPENDENCIES = ${OBJ}/${SYS}/lib/cfuns-c.o \ - ${OBJ}/${SYS}/lib/sockio-c.o \ - ${OBJ}/${SYS}/lib/libspad.a +subdir = lsp/ +pamphlets = Makefile.pamphlet + +build_libdir = $(abs_top_builddir)/src/lib + +lisp_DEPENDENCIES = $(build_libdir)/cfuns-c.o \ + $(build_libdir)/sockio-c.o \ + $(build_libdir)/libspad.a + all: $(OUT)/lisp <<gcl-2.6.8pre>> @@ -164,18 +174,18 @@ @mkdir -p ${OBJ}/${SYS}/ccl @( cd ccl ; ${ENV} ${MAKE} ) -document: - @echo 16 making docs in ${LSP} - @mkdir -p ${INT}/doc/lsp/ccl - @( cd ccl ; ${ENV} ${MAKE} document ) +mostlyclean-local: + -rm -rf $(GCLVERSION) -clean: - @echo 17 cleaning ${LSP}/ccl - @( cd ccl ; ${ENV} ${MAKE} clean ) - rm -f stamp-gcldir +clean-local: mostlyclean + -rm -f $(OUT)/lisp + -rm -f $(axiom_build_bindir)/gcl + -rm -rf $(axiom_builddir)/lib/$(GCLVERSION) -distclean: clean +distclean-local: clean-local + -rm -f Makefile @ + \eject \begin{thebibliography}{99} \bibitem{1} nothing Modified: branches/build-improvements/src/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,9 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Tidy. + (subdir, pamphlets): New. + * Makefile.in: Regenerate. + 2006-09-11 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Throughout, replatce ${SRC} with Modified: branches/build-improvements/src/Makefile.in =================================================================== --- branches/build-improvements/src/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -5,6 +5,10 @@ CLNS=libclean ${DIRS:dir=clean} +pamphlets = Makefile.pamphlet + +subdir = src/ + all: ${DIRS} @echo 49 finished $(builddir) @@ -24,7 +28,6 @@ clefclean: $(builddir)/clef/Makefile @echo 8 cleaning $(axiom_src_srcdir)/clef @( cd clef ; ${ENV} ${MAKE} clean ) - @rm -f $(axiom_src_srcdir)/clef/Makefile.dvi smandir: $(builddir)/sman/Makefile @echo 5 making $(axiom_src_srcdir)/sman @@ -41,7 +44,6 @@ smanclean: $(builddir)/sman/Makefile @echo 8 cleaning $(builddir)/sman @( cd sman ; ${ENV} ${MAKE} clean ) - @rm -f $(builddir)/sman/Makefile.dvi hyperdir: $(builddir)/hyper/Makefile @echo 13 making $(axiom_src_srcdir)/hyper @@ -61,7 +63,6 @@ hyperclean: $(builddir)/hyper/Makefile @echo 16 cleaning $(builddir)/hyper @( cd hyper ; ${ENV} ${MAKE} clean ) - @rm -f $(builddir)/hyper/Makefile.dvi sharedir: $(builddir)/share/Makefile @echo 9 making $(axiom_src_srcdir)/share @@ -77,7 +78,6 @@ shareclean: $(builddir)/share/Makefile @echo 12 cleaning $(builddir)/share @( cd share ; ${ENV} ${MAKE} clean ) - @rm -f $(builddir)/share/Makefile.dvi docdir: $(builddir)/doc/Makefile @echo 41 making ${INT}/doc @@ -94,7 +94,6 @@ @echo 44 cleaning ${INT}/doc @( cd doc ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/doc - @rm -f $(builddir)/doc/Makefile.dvi bookletsdir: $(builddir)/booklets/Makefile @echo 13 making $(axiom_src_srcdir)/booklets @@ -127,7 +126,6 @@ @echo 20 cleaning $(builddir)/lib @( cd lib ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/lib - @rm -f $(builddir)/lib/Makefile.dvi bootdir: $(builddir)/boot/Makefile @echo 21 making ${INT}/boot @@ -146,7 +144,6 @@ @echo 24 cleaning $(builddir)/boot @( cd boot ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/boot - @rm -f $(builddir)/boot/Makefile.dvi interpdir: $(builddir)/interp/Makefile @echo 25 making ${INT}/interp @@ -169,7 +166,6 @@ @echo 28 cleaning ${INT}/interp @( cd interp ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/interp - @rm -f $(builddir)/interp/Makefile.dvi algebradir: $(srcdir)/algebra/Makefile.pamphlet @echo 29 making $(builddir)/algebra @@ -196,7 +192,6 @@ @echo 32 cleaning ${INT}/algebra @( cd algebra ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/algebra - @rm -f $(builddir)/algebra/Makefile.dvi inputdir: $(builddir)/input/Makefile @echo 33 making ${INT}/input @@ -214,7 +209,6 @@ @echo 36 cleaning ${INT}/input @( cd input ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/input - @rm -f $(builddir)/input/Makefile.dvi etcdir: $(builddir)/etc/Makefile @echo 37 making ${INT}/etc @@ -232,7 +226,6 @@ @echo 40 cleaning ${INT}/etc @( cd etc ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/etc - @rm -f $(builddir)/etc/Makefile.dvi graphdir: $(builddir)/graph/Makefile @echo 45 making ${INT}/graph @@ -251,7 +244,6 @@ @rm -rf ${INT}/graph @rm -rf ${OBJ}/${SYS}/graph @rm -rf ${MNT}/${SYS}/graph - @rm -f $(builddir)/graph/Makefile.dvi document: ${DOCS} Modified: branches/build-improvements/src/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,4 @@ +%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. \documentclass{article} \usepackage{scripts/tex/axiom} \begin{document} @@ -78,7 +79,6 @@ clefclean: $(builddir)/clef/Makefile @echo 8 cleaning $(axiom_src_srcdir)/clef @( cd clef ; ${ENV} ${MAKE} clean ) - @rm -f $(axiom_src_srcdir)/clef/Makefile.dvi @ \subsection{The clef directory} @@ -100,7 +100,6 @@ smanclean: $(builddir)/sman/Makefile @echo 8 cleaning $(builddir)/sman @( cd sman ; ${ENV} ${MAKE} clean ) - @rm -f $(builddir)/sman/Makefile.dvi @ \subsection{The hyper directory} @@ -124,7 +123,6 @@ hyperclean: $(builddir)/hyper/Makefile @echo 16 cleaning $(builddir)/hyper @( cd hyper ; ${ENV} ${MAKE} clean ) - @rm -f $(builddir)/hyper/Makefile.dvi @ \subsection{The share directory} @@ -146,7 +144,6 @@ shareclean: $(builddir)/share/Makefile @echo 12 cleaning $(builddir)/share @( cd share ; ${ENV} ${MAKE} clean ) - @rm -f $(builddir)/share/Makefile.dvi @ \subsection{The booklet directory} @@ -195,7 +192,6 @@ @echo 20 cleaning $(builddir)/lib @( cd lib ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/lib - @rm -f $(builddir)/lib/Makefile.dvi @ \subsection{The boot directory} @@ -225,7 +221,6 @@ @echo 24 cleaning $(builddir)/boot @( cd boot ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/boot - @rm -f $(builddir)/boot/Makefile.dvi @ \subsection{The interp directory} @@ -255,7 +250,6 @@ @echo 28 cleaning ${INT}/interp @( cd interp ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/interp - @rm -f $(builddir)/interp/Makefile.dvi @ \subsection{The algebra directory} @@ -316,7 +310,6 @@ @echo 32 cleaning ${INT}/algebra @( cd algebra ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/algebra - @rm -f $(builddir)/algebra/Makefile.dvi @ \subsection{The input directory} @@ -351,7 +344,6 @@ @echo 36 cleaning ${INT}/input @( cd input ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/input - @rm -f $(builddir)/input/Makefile.dvi @ \subsection{The etc directory} @@ -377,7 +369,6 @@ @echo 40 cleaning ${INT}/etc @( cd etc ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/etc - @rm -f $(builddir)/etc/Makefile.dvi @ \subsection{The doc directory} @@ -399,7 +390,6 @@ @echo 44 cleaning ${INT}/doc @( cd doc ; ${ENV} ${MAKE} clean ) @rm -rf ${OBJ}/${SYS}/doc - @rm -f $(builddir)/doc/Makefile.dvi @ \subsection{The graph directory} @@ -421,7 +411,6 @@ @rm -rf ${INT}/graph @rm -rf ${OBJ}/${SYS}/graph @rm -rf ${MNT}/${SYS}/graph - @rm -f $(builddir)/graph/Makefile.dvi @ \section{The Makefile} @@ -434,6 +423,10 @@ <<environment>> +pamphlets = Makefile.pamphlet + +subdir = src/ + all: ${DIRS} @echo 49 finished $(builddir) Modified: branches/build-improvements/src/algebra/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/algebra/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/algebra/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,8 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (subdir): New. + * Makefile.in: Regenerate. + 2006-09-11 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Use $(axiom_build_document) to tangle Modified: branches/build-improvements/src/algebra/Makefile.in =================================================================== --- branches/build-improvements/src/algebra/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/algebra/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -309,7 +309,10 @@ TESTS=${INPUT}/INTHEORY.input ${INPUT}/VIEW2D.input ${INPUT}/TESTFR.input +subdir = src/algebra/ + + LAYER0BOOTSTRAP=\ ${MID}/ABELGRP.o ${MID}/ABELGRP-.o ${MID}/ABELMON.o ${MID}/ABELMON-.o \ ${MID}/ABELSG.o ${MID}/ABELSG-.o ${MID}/ALAGG.o ${MID}/BOOLEAN.o \ Modified: branches/build-improvements/src/algebra/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/algebra/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/algebra/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,4 @@ +%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. \documentclass{article} \usepackage{../../src/scripts/tex/axiom} \begin{document} @@ -2000,6 +2001,9 @@ <<environment>> +subdir = src/algebra/ + + <<layer0 bootstrap>> <<layer0 copy>> <<layer0>> Modified: branches/build-improvements/src/booklets/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/booklets/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/booklets/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,8 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (subdir): New. + * Makefile.in: Regenerate. + 2006-09-03 Gabriel Dos Reis <gd...@cs...> * Makefile.in: New. Modified: branches/build-improvements/src/booklets/Makefile.in =================================================================== --- branches/build-improvements/src/booklets/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/booklets/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,6 @@ + +subdir = src/booklets/ + all: @echo 1 building ${INT}/docs/src/booklets @cp Rosetta.pamphlet ${INT}/docs/src/booklets Modified: branches/build-improvements/src/booklets/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/booklets/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/booklets/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,4 @@ +%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. \documentclass{article} \usepackage{../scripts/tex/axiom} \begin{document} @@ -10,6 +11,9 @@ \tableofcontents \eject <<*>>= + +subdir = src/booklets/ + all: @echo 1 building ${INT}/docs/src/booklets @cp Rosetta.pamphlet ${INT}/docs/src/booklets Modified: branches/build-improvements/src/boot/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,8 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (subdir): New. + * Makefile.in: Regenerate. + 2006-09-17 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (LISPSYS, LOADSYS): Point to Modified: branches/build-improvements/src/boot/Makefile.in =================================================================== --- branches/build-improvements/src/boot/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/boot/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -46,6 +46,8 @@ BOOT_TO_LISP = echo '(progn (boottran::boottocl "$@") ($(BYE)))' \ | $(BOOTSYS) + +subdir = src/boot/ # this stanza will create the final bootsys image Modified: branches/build-improvements/src/boot/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -1298,6 +1298,8 @@ <<*>>= <<virtual directories>> <<environment>> + +subdir = src/boot/ # this stanza will create the final bootsys image Modified: branches/build-improvements/src/clef/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/clef/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/clef/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,9 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Simplify. + (subdir): New. + * Makefile.in: Regenerate. + 2006-09-11 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Use $(axiom_build_document) to tangle Modified: branches/build-improvements/src/clef/Makefile.in =================================================================== --- branches/build-improvements/src/clef/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/clef/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -1,9 +1,3 @@ -# this is where we are compiling from -IN= $(axiom_src_srcdir)/clef - -# this is the intermediate place -MID= ${OBJ}/${SYS}/clef - # this is where to put the clef command OUT= ${MNT}/${SYS}/bin @@ -11,46 +5,41 @@ INC= $(axiom_src_srcdir)/include # this is where we hid the libspad library -LIB= ${OBJ}/${SYS}/lib +LIB= $(abs_top_builddir)/src/lib -DOC= ${MNT}/${SYS}/doc/src/clef +clef_sources = edible.c -# this is the set of files that comprise clef -OBJS= ${MID}/edible.o +clef_SOURCES = $(addsuffix .pamphlet, $(clef_sources)) +clef_objects = $(addprefix $(builddir)/, $(clef_sources:.c=.o)) + CFLAGS= ${CCF} LDFLAGS= -L${LIB} -lspad ${LDF} -CLEFOBJS= ${MID}/edible.o ${LIB}/fnct_key.o ${LIB}/edin.o ${LIB}/bsdsignal.o \ - ${LIB}/prt.o ${LIB}/wct.o ${LIB}/openpty.o ${LIB}/cursor.o -DOCFILES=${DOC}/edible.c.dvi +subdir = src/clef/ -all: ${OUT}/clef ${DOCFILES} +pamphlets = edible.c.pamphlet Makefile.pamphlet + +all: ${OUT}/clef @ echo 6 finished $(builddir) -clean: - @echo 7 cleaning $(builddir) +${OUT}/clef: $(clef_objects) + ${CC} $(clef_objects) $(LDFLAGS) -o $@ -${OUT}/clef: ${CLEFOBJS} - @ echo 1 linking clef - @ ${CC} ${CLEFOBJS} -o ${OUT}/clef +.PRECIOUS: $(builddir)/%.c +.PRECIOUS: $(builddir)/%.o -${MID}/edible.c: $(srcdir)/edible.c.pamphlet +$(builddir)/%.c: $(srcdir)/%.c.pamphlet $(axiom_build_document) --tangle --output=$@ $< -${MID}/edible.o: ${MID}/edible.c ${INC}/useproto.h ${INC}/edible.h - @ echo 3 making ${MID}/edible.o from ${MID}/edible.c - @ ( cd ${MID} ; ${CC} -c ${CFLAGS} edible.c -I${INC} ) +$(builddir)/%.o: ${INC}/useproto.h ${INC}/edible.h -${DOC}/edible.c.dvi: $(srcdir)/edible.c.pamphlet \ - $(axiom_build_texdir)/axiom.sty - @ echo 4 making ${DOC}/edible.c.dvi from ${IN}/edible.c.pamphlet - @ (cd ${DOC} ; \ - cp ${IN}/edible.c.pamphlet ${DOC} ; \ - ${DOCUMENT} ${NOISE} edible.c ; \ - rm -f ${DOC}/edible.c.pamphlet ; \ - rm -f ${DOC}/edible.c.tex ; \ - rm -f ${DOC}/edible.c ) +$(builddir)/%.o: $(builddir)/%.c + ${CC} -c ${CFLAGS} -I${INC} -o $@ $< +mostlyclean-local: ; +clean-local: + -rm -f $(clef_sources) $(clef_sources:.c=.o) $(OUT)/clef + Modified: branches/build-improvements/src/clef/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/clef/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/clef/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -1,8 +1,9 @@ +%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. \documentclass{article} -\usepackage{../scripts/tex/axiom} +\usepackage{axiom} \begin{document} \title{\$SPAD/src/clef Makefile} -\author{Timothy Daly} +\author{Timothy Daly \and Gabriel Dos~Reis} \maketitle \begin{abstract} \end{abstract} @@ -11,12 +12,6 @@ \eject \section{Environment variables} <<environment>>= -# this is where we are compiling from -IN= $(axiom_src_srcdir)/clef - -# this is the intermediate place -MID= ${OBJ}/${SYS}/clef - # this is where to put the clef command OUT= ${MNT}/${SYS}/bin @@ -24,54 +19,50 @@ INC= $(axiom_src_srcdir)/include # this is where we hid the libspad library -LIB= ${OBJ}/${SYS}/lib +LIB= $(abs_top_builddir)/src/lib -DOC= ${MNT}/${SYS}/doc/src/clef +clef_sources = edible.c -# this is the set of files that comprise clef -OBJS= ${MID}/edible.o +clef_SOURCES = $(addsuffix .pamphlet, $(clef_sources)) +clef_objects = $(addprefix $(builddir)/, $(clef_sources:.c=.o)) + CFLAGS= ${CCF} LDFLAGS= -L${LIB} -lspad ${LDF} -CLEFOBJS= ${MID}/edible.o ${LIB}/fnct_key.o ${LIB}/edin.o ${LIB}/bsdsignal.o \ - ${LIB}/prt.o ${LIB}/wct.o ${LIB}/openpty.o ${LIB}/cursor.o - -DOCFILES=${DOC}/edible.c.dvi - @ \section{The clef sources, edible} <<edible>>= -${OUT}/clef: ${CLEFOBJS} - @ echo 1 linking clef - @ ${CC} ${CLEFOBJS} -o ${OUT}/clef +${OUT}/clef: $(clef_objects) + ${CC} $(clef_objects) $(LDFLAGS) -o $@ -${MID}/edible.c: $(srcdir)/edible.c.pamphlet +.PRECIOUS: $(builddir)/%.c +.PRECIOUS: $(builddir)/%.o + +$(builddir)/%.c: $(srcdir)/%.c.pamphlet $(axiom_build_document) --tangle --output=$@ $< -${MID}/edible.o: ${MID}/edible.c ${INC}/useproto.h ${INC}/edible.h - @ echo 3 making ${MID}/edible.o from ${MID}/edible.c - @ ( cd ${MID} ; ${CC} -c ${CFLAGS} edible.c -I${INC} ) +$(builddir)/%.o: ${INC}/useproto.h ${INC}/edible.h -${DOC}/edible.c.dvi: $(srcdir)/edible.c.pamphlet \ - $(axiom_build_texdir)/axiom.sty - @ echo 4 making ${DOC}/edible.c.dvi from ${IN}/edible.c.pamphlet - @ (cd ${DOC} ; \ - cp ${IN}/edible.c.pamphlet ${DOC} ; \ - ${DOCUMENT} ${NOISE} edible.c ; \ - rm -f ${DOC}/edible.c.pamphlet ; \ - rm -f ${DOC}/edible.c.tex ; \ - rm -f ${DOC}/edible.c ) +$(builddir)/%.o: $(builddir)/%.c + ${CC} -c ${CFLAGS} -I${INC} -o $@ $< +mostlyclean-local: ; + +clean-local: + -rm -f $(clef_sources) $(clef_sources:.c=.o) $(OUT)/clef @ + <<*>>= <<environment>> -all: ${OUT}/clef ${DOCFILES} - @ echo 6 finished $(builddir) -clean: - @echo 7 cleaning $(builddir) +subdir = src/clef/ +pamphlets = edible.c.pamphlet Makefile.pamphlet + +all: ${OUT}/clef + @ echo 6 finished $(builddir) + <<edible>> @ Modified: branches/build-improvements/src/doc/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/doc/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/doc/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,8 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (subdir): New. + * Makefile.in: Regenerate. + 2006-09-11 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Use $(axiom_build_document) to tangle Modified: branches/build-improvements/src/doc/Makefile.in =================================================================== --- branches/build-improvements/src/doc/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/doc/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -5,6 +5,8 @@ DVI=${MNT}/${SYS}/doc DOC=${INT}/doc +subdir = src/doc/ + FILES= ${MID}/axiom.bib ${STY}/axiom.sty ${DVI}/DeveloperNotes.dvi \ ${DVI}/book.dvi ${DVI}/bookvol1.dvi ${DVI}/endpaper.dvi \ ${DVI}/Rosetta.dvi Modified: branches/build-improvements/src/doc/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/doc/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/doc/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -150,6 +150,8 @@ DVI=${MNT}/${SYS}/doc DOC=${INT}/doc +subdir = src/doc/ + FILES= ${MID}/axiom.bib ${STY}/axiom.sty ${DVI}/DeveloperNotes.dvi \ ${DVI}/book.dvi ${DVI}/bookvol1.dvi ${DVI}/endpaper.dvi \ ${DVI}/Rosetta.dvi Modified: branches/build-improvements/src/etc/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/etc/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/etc/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,8 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (subdir): New. + * Makefile.in: Regenerate. + 2006-09-11 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Use $(axiom_build_document) to tangle Modified: branches/build-improvements/src/etc/Makefile.in =================================================================== --- branches/build-improvements/src/etc/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/etc/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -5,6 +5,8 @@ DOC=${INT}/doc/src/etc INTERPSYS=${OBJ}/${SYS}/bin/interpsys +subdir = src/etc/ + all: ${MNT}/${SYS}/algebra/*.daase ${OUT}/asq ${LIB}/summary \ ${LIB}/copyright ${OUT}/axiom @echo 6 finished $(builddir) Modified: branches/build-improvements/src/etc/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/etc/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/etc/Makefile.pamphlet 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,4 @@ +%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. \documentclass{article} \usepackage{../scripts/tex/axiom} \begin{document} @@ -86,6 +87,8 @@ DOC=${INT}/doc/src/etc INTERPSYS=${OBJ}/${SYS}/bin/interpsys +subdir = src/etc/ + all: ${MNT}/${SYS}/algebra/*.daase ${OUT}/asq ${LIB}/summary \ ${LIB}/copyright ${OUT}/axiom @echo 6 finished $(builddir) Modified: branches/build-improvements/src/graph/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/graph/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/graph/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,9 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Simplify. + (subdir): New. + * Makefile.in: Regenerate. + 2006-09-11 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Add support for out-of-source build. Modified: branches/build-improvements/src/graph/Gdraws/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/graph/Gdraws/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/graph/Gdraws/ChangeLog.build-improvements 2006-09-18 07:52:52 UTC (rev 144) @@ -1,3 +1,8 @@ +2006-09-18 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Tidy. + (subdir): New. + 2006-09-11 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Use $(axiom_build_document) to tangle Modified: branches/build-improvements/src/graph/Gdraws/Makefile.in =================================================================== --- branches/build-improvements/src/graph/Gdraws/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build-improvements/src/graph/Gdraws/Makefile.in 2006-09-18 07:52:52 UTC (rev 144) @@ -23,7 +23,11 @@ # a .c file in the library subdirectory DOTC= $(axiom_src_srcdir)/lib +pamphlets = Gfun.c.pamphlet psFiles.pamphlet Makefile.pamphlet + +subdir = src/graph/Gdraws/ + DOCFILES= ${DOC}/Gfun.c.dvi ${DOC}/psFiles.dvi CFLAGS = ${CCF} -I${LINC} -I${GINC} -I$(srcdir) -I${HINC} @@ -38,23 +42,18 @@ ${PS}/end.ps ${PS}/fillarc.ps ${PS}/fillpoly.ps \ ${PS}/fillwol.ps ${PS}/header.ps ${PS}/setup.ps -all: ${MIDOBJ}/Gfun.o ${PSFiles} ${DOCFILES} +all: $(builddir)/Gfun.o ${PSFiles} @ echo 21 finished making $(axiom_src_srcdir)/Gdraws -${MIDINT}/Gfun.c: $(srcdir)/Gfun.c.pamphlet +$(builddir)/Gfun.c: $(srcdir)/Gfun.c.pamphlet $(axiom_build_document) --tangle --output=$@ $< -${MIDOBJ}/Gfun.o: ${HEADERS} ${MIDINT}/Gfun.c - @ echo 2 making ${MIDOBJ}/Gfun.o from ${MIDINT}/Gfun.c - @ ${CC} -c ${CFLAGS} ${MIDINT}/Gfun.c -o $@ +$(builddir)/Gfun.o: ${HEADERS} -${DOC}/Gfun.c.dvi: $(axiom_build_texdir)/axiom.sty +$(builddir)/Gfun.o: $(builddir)/Gfun.c + ${CC} -c ${CFLAGS} -o $@ $< -${DOC}/Gfun.c.dvi: $(srcdir)/Gfun.c.pamphlet - $(axiom_build_document) --weave --latex $< - $(INSTALL_DATA) Gfun.c.dvi $@ - ${PS}/colorpoly.ps: $(srcdir)/psFiles.pamphlet $(axiom_build_document) --tangle=colorpoly --output=$@ $< @@ -110,19 +109,10 @@ $(axiom_build_document) --tangle=setup --output=$@ $< -${DOC}/psFiles.dvi: $(srcdir)/psFiles.pamphlet $(axiom_build_texdir)/axiom.sty - @echo 3 making ${DOC}/psFiles.dvi from ${IN}/psFiles.pamphlet - @(cd ${DOC} ; \ - cp ${IN}/psFiles.pamphlet ${DOC} ; \ - ${DOCUMENT} ${NOISE} psFiles ; \ - rm -f ${DOC}/psFiles.pamphlet ; \ - rm -f ${DOC}/psFiles.tex ; \ - rm -f ${DOC}/psFiles ) +mostlyclean-local: ; +clean-local: + -rm -f $(builddir)/Gfun.o $(PSFiles) -clean: - @ echo 22 cleaning $(builddir) +distclean-local: ; -document: - @ echo 23 documenting $(builddir) - Modified: branches/build-improvements/src/graph/Gdraws/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/graph/Gdraws/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) +++ branches/build... [truncated message content] |
From: <dos...@us...> - 2006-09-18 00:10:17
|
Revision: 143 http://svn.sourceforge.net/axiom/?rev=143&view=rev Author: dos-reis Date: 2006-09-17 17:04:27 -0700 (Sun, 17 Sep 2006) Log Message: ----------- Build GCL as if it is being system-wide installed. Refrain from applying Axiom-local patches. Modified Paths: -------------- branches/build-improvements/ChangeLog.build-improvements branches/build-improvements/Makefile.in branches/build-improvements/Makefile.pamphlet branches/build-improvements/configure branches/build-improvements/configure.ac branches/build-improvements/configure.ac.pamphlet branches/build-improvements/lsp/ChangeLog.build-improvements branches/build-improvements/lsp/Makefile.in branches/build-improvements/lsp/Makefile.pamphlet branches/build-improvements/src/boot/ChangeLog.build-improvements branches/build-improvements/src/boot/Makefile.in branches/build-improvements/src/boot/Makefile.pamphlet branches/build-improvements/src/interp/ChangeLog.build-improvements branches/build-improvements/src/interp/Makefile.in branches/build-improvements/src/interp/Makefile.pamphlet branches/build-improvements/zips/ChangeLog.build-improvements branches/build-improvements/zips/gcl-2.6.8pre.tgz Modified: branches/build-improvements/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/ChangeLog.build-improvements 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) @@ -1,3 +1,14 @@ +2006-09-17 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (GCLVERSION): Don't set here. Remove + description. + (lspdir): Just say "$(MAKE)" to build lisp. + * Makefile.in: Regenerate. + * configure.ac.pamphlet: Remove axiom_gcl_version. Ask for + complete path to gcl. + * configure.ac: Regenerate. + * configure: Likewise. + 2006-09-15 Gabriel Dos Reis <gd...@cs...> * configure.ac.pamphlet: Attempt to support "unknown" platforms. Modified: branches/build-improvements/Makefile.in =================================================================== --- branches/build-improvements/Makefile.in 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) @@ -8,8 +8,6 @@ SYS=$(notdir $(AXIOM)) SPAD=${SPD}/mnt/${SYS} LSP=${SPD}/lsp -GCLVERSION=@axiom_gcl_version@ -GCLDIR=${LSP}/${GCLVERSION} SRC=${SPD}/src INT=${SPD}/int OBJ=${SPD}/obj @@ -38,7 +36,7 @@ ENV= SPAD=${SPAD} SYS=${SYS} SPD=${SPD} LSP=${LSP} GCLDIR=${GCLDIR} \ SRC=${SRC} INT=${INT} OBJ=${OBJ} MNT=${MNT} ZIPS=${ZIPS} TMP=${TMP} \ SPADBIN=${SPADBIN} INC=${INC} CCLBASE=${CCLBASE} PART=${PART} \ - SUBPART=${SUBPART} NOISE=${NOISE} GCLVERSION=${GCLVERSION} \ + SUBPART=${SUBPART} NOISE=${NOISE} \ TANGLE=${TANGLE} VERSION=${VERSION} \ DOCUMENT=${axiom_build_document} DAASE=$(DAASE) \ WEAVE=${WEAVE} AXIOM_X11_CFLAGS="${AXIOM_X11_CFLAGS}" \ @@ -168,18 +166,14 @@ @echo 19 making ${LSP} @mkdir -p ${OBJ}/${SYS}/bin @mkdir -p ${OBJ}/${SYS}/lsp - @(cd lsp ; ${ENV} ${MAKE} stamp-gcldir ) + @(cd lsp ; ${ENV} ${MAKE}) # @(cd lsp ; ${ENV} ${MAKE} ccldir ) lspclean: @echo 21 cleaning ${OBJ}/${SYS}/ccl - @rm -rf ${LSP}/${GCLVERSION} @rm -rf ${INT}/ccl @rm -rf ${OBJ}/${SYS}/ccl - @rm -rf ${LSP}/stamp-gcldir - @rm -f ${LSP}/Makefile.dvi - .PHONY: document document: $(PATH_EXPORTS) $(MAKE) do-document Modified: branches/build-improvements/Makefile.pamphlet =================================================================== --- branches/build-improvements/Makefile.pamphlet 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) @@ -364,8 +364,6 @@ SYS=$(notdir $(AXIOM)) SPAD=${SPD}/mnt/${SYS} LSP=${SPD}/lsp -<<GCLVERSION>> -GCLDIR=${LSP}/${GCLVERSION} SRC=${SPD}/src INT=${SPD}/int OBJ=${SPD}/obj @@ -392,7 +390,7 @@ ENV= SPAD=${SPAD} SYS=${SYS} SPD=${SPD} LSP=${LSP} GCLDIR=${GCLDIR} \ SRC=${SRC} INT=${INT} OBJ=${OBJ} MNT=${MNT} ZIPS=${ZIPS} TMP=${TMP} \ SPADBIN=${SPADBIN} INC=${INC} CCLBASE=${CCLBASE} PART=${PART} \ - SUBPART=${SUBPART} NOISE=${NOISE} GCLVERSION=${GCLVERSION} \ + SUBPART=${SUBPART} NOISE=${NOISE} \ TANGLE=${TANGLE} VERSION=${VERSION} \ DOCUMENT=${axiom_build_document} DAASE=$(DAASE) \ WEAVE=${WEAVE} AXIOM_X11_CFLAGS="${AXIOM_X11_CFLAGS}" \ @@ -599,20 +597,13 @@ We build two lisps, Codemist Common Lisp (CCL) and Gnu Common Lisp (GCL) at the current time. Carnegie-Mellon University Common Lisp (CMUCL) is planned. -When we first make GCL the src/Makefile will create a marker file -called [[stamp-gcldir]]. This file has the same name as the stanza to create -GCL and thus will prevent GCL from rebuilding. We need to do this -since we have no control over the GCL makefiles. +If and when we GCL, it is ``installed'' in [[$(axiom_builddir)]]. +The [[gcl]] binary will be accessible as [[$(axiom_build_bindir)/gcl]]. +The augmented fresh lisp image is also accessible as +[[$(axiom_build_bindir)/lisp]] for use to build Boot. -The [[${OBJ}/${SYS}/bin]] directory is where the lisps get built. - \subsubsection{[[lsp]]} -Here we add [[mkdir -p ${OBJ}/${SYS}/lsp]] because we need to rename the -[[gcl_collectfn.lsp]] back to collectfn.lsp. We also start adding support -for [[sys-proclaim.lsp]] and other dynamically collected proclaim information. - -The [[obj/sys/bin]] dir is necessary to keep the compiled lisp image. The [[obj/sys/lsp]] dir is necessary to keep collectfn and sys-proclaims. The collectfn.lsp file is a special extension to GCL to collect type information during a compile-file. This information gets written out @@ -626,18 +617,15 @@ @echo 19 making ${LSP} @mkdir -p ${OBJ}/${SYS}/bin @mkdir -p ${OBJ}/${SYS}/lsp - @(cd lsp ; ${ENV} ${MAKE} stamp-gcldir ) + @(cd lsp ; ${ENV} ${MAKE}) # @(cd lsp ; ${ENV} ${MAKE} ccldir ) lspclean: @echo 21 cleaning ${OBJ}/${SYS}/ccl - @rm -rf ${LSP}/${GCLVERSION} @rm -rf ${INT}/ccl @rm -rf ${OBJ}/${SYS}/ccl - @rm -rf ${LSP}/stamp-gcldir - @rm -f ${LSP}/Makefile.dvi - @ + \subsection{install} <<install>>= install: @@ -765,33 +753,7 @@ SRCDIRS="bootdir interpdir sharedir algebradir etcdir clefdir docdir \ graphdir smandir hyperdir inputdir " @ -\subsubsection{The [[GCLVERSION]] variable } -[[GCLVERSION]] is the name of the GCL version. The one we used to -build the original version of the system is gcl-2.4.1. The system -will attempt to untar a file in the [[ZIPS]] directory with the -name [[GCLVERSION.tgz]], cd to the [[GCLVERSION]] subdirectory and -do a [[./configure]] followed by a [[make]]. -The GCLVERSION variable is also used to make the GCLDIR variable. -GCLDIR tells depsys where GCL lives. The depsys image needs to -load a file from GCL (cmpnew/collectfn.lsp) which is used to generate -optimizations for function calling in Axiom. This is handled automatically -by changing this variable. - -If GCLVERSION is ``gcl-system'', then GCL is not built locally, -and it is assumed that the ``gcl'' command is available off the path. -IF this GCL is unsuitable for building Axiom then very bad things -will happen. - -NOTE WELL: IF YOU CHANGE THIS YOU SHOULD ERASE THE lsp/Makefile FILE. -This will cause the build to remake the lsp/Makefile from the -lsp/Makefile.pamphlet file and get the correct version. If you -forget to erase the lsp/Makefile the wrong patches will be applied. - -<<GCLVERSION>>= -GCLVERSION=@axiom_gcl_version@ -@ - \subsubsection{The [[GCLOPTS]] configure variable} The [[GCLOPTS]] lisp requires some parameters for building which vary from system Modified: branches/build-improvements/configure =================================================================== --- branches/build-improvements/configure 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/configure 2006-09-18 00:04:27 UTC (rev 143) @@ -274,7 +274,7 @@ PACKAGE_BUGREPORT='axi...@no...' ac_unique_file="src/Makefile.pamphlet" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S AWK TAR PATCH MAKE RANLIB ac_ct_RANLIB TOUCH LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_gcl_version axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS axiom_top_srcdir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os axiom_builddir axiom_build_bindir axiom_build_libdir axiom_targetdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT axiom_cflags INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S AWK TAR PATCH MAKE RANLIB ac_ct_RANLIB TOUCH LATEX MAKEINDEX NOTANGLE NOWEAVE GCL axiom_required_build_utils CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_CLFAGS AXIOM PLF CCF LDF LISP GCLOPTS SRCDIRS axiom_build_notangle axiom_build_noweave LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -3087,29 +3087,33 @@ set dummy gcl; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_GCL+set}" = set; then +if test "${ac_cv_path_GCL+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$GCL"; then - ac_cv_prog_GCL="$GCL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $GCL in + [\\/]* | ?:[\\/]*) + ac_cv_path_GCL="$GCL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GCL="gcl" + ac_cv_path_GCL="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done + ;; +esac fi -fi -GCL=$ac_cv_prog_GCL +GCL=$ac_cv_path_GCL + if test -n "$GCL"; then echo "$as_me:$LINENO: result: $GCL" >&5 echo "${ECHO_T}$GCL" >&6 @@ -3133,21 +3137,14 @@ { (exit 1); exit 1; }; } fi - ## gcl-2.6.8pre is the most recent version we use. - axiom_gcl_version=gcl-2.6.8pre GCL=$axiom_build_bindir/gcl ## FIXME: add gcl to axiom_required_build_utils - -else - axiom_gcl_version=gcl-system fi - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -5718,7 +5715,6 @@ s,@NOTANGLE@,$NOTANGLE,;t t s,@NOWEAVE@,$NOWEAVE,;t t s,@GCL@,$GCL,;t t -s,@axiom_gcl_version@,$axiom_gcl_version,;t t s,@axiom_required_build_utils@,$axiom_required_build_utils,;t t s,@CPP@,$CPP,;t t s,@X_CFLAGS@,$X_CFLAGS,;t t Modified: branches/build-improvements/configure.ac =================================================================== --- branches/build-improvements/configure.ac 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/configure.ac 2006-09-18 00:04:27 UTC (rev 143) @@ -136,7 +136,7 @@ ## Check for GCL only if we're told to or if we should guess if test x$axiom_use_gcl != xno; then - AC_CHECK_PROG([GCL], [gcl], [gcl]) + AC_PATH_PROG([GCL], [gcl]) else ## Make sure GCL is Autoconf-substituted in generated files AC_SUBST(GCL) @@ -150,18 +150,11 @@ AC_MSG_ERROR([--with-gcl is specified but GCL is missing]) fi - ## gcl-2.6.8pre is the most recent version we use. - axiom_gcl_version=gcl-2.6.8pre GCL=$axiom_build_bindir/gcl ## FIXME: add gcl to axiom_required_build_utils - -else - axiom_gcl_version=gcl-system fi -AC_SUBST(axiom_gcl_version) - AC_SUBST(axiom_required_build_utils) AC_PATH_XTRA Modified: branches/build-improvements/configure.ac.pamphlet =================================================================== --- branches/build-improvements/configure.ac.pamphlet 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/configure.ac.pamphlet 2006-09-18 00:04:27 UTC (rev 143) @@ -311,7 +311,7 @@ ## Check for GCL only if we're told to or if we should guess if test x$axiom_use_gcl != xno; then - AC_CHECK_PROG([GCL], [gcl], [gcl]) + AC_PATH_PROG([GCL], [gcl]) else ## Make sure GCL is Autoconf-substituted in generated files AC_SUBST(GCL) @@ -325,18 +325,11 @@ AC_MSG_ERROR([--with-gcl is specified but GCL is missing]) fi - ## gcl-2.6.8pre is the most recent version we use. - axiom_gcl_version=gcl-2.6.8pre GCL=$axiom_build_bindir/gcl ## FIXME: add gcl to axiom_required_build_utils - -else - axiom_gcl_version=gcl-system fi -AC_SUBST(axiom_gcl_version) - AC_SUBST(axiom_required_build_utils) @ Modified: branches/build-improvements/lsp/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/lsp/ChangeLog.build-improvements 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/lsp/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) @@ -1,3 +1,10 @@ +2006-09-17 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet: Build GCL from Axiom source as if we were + building for a system-wide installation. Don't apply custom + patches. Remove stamp-gcldir as target. Set GCLVERSION here. + * Makefile.in: Regenerate. + 2006-09-03 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet (${LSP}/ccl/Makefile): Remove. Modified: branches/build-improvements/lsp/Makefile.in =================================================================== --- branches/build-improvements/lsp/Makefile.in 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/lsp/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) @@ -1,42 +1,37 @@ -OUT=${OBJ}/${SYS}/bin +GCLVERSION = gcl-2.6.8pre +OUT = $(axiom_build_bindir) -stamp-gcldir: - @echo 1 building ${LSP} ${GCLVERSION} - @$(ENV) $(MAKE) $(GCLVERSION)dir +lisp_DEPENDENCIES = ${OBJ}/${SYS}/lib/cfuns-c.o \ + ${OBJ}/${SYS}/lib/sockio-c.o \ + ${OBJ}/${SYS}/lib/libspad.a +all: $(OUT)/lisp + # Rules for building GCL from Axiom distribution. -gcl-2.6.8predir: +$(axiom_build_bindir)/gcl: $(TAR) -zxf $(axiom_optional_srcdir)/${GCLVERSION}.tgz - @(cd ${GCLVERSION}/h ; \ - echo 3 applying EXTRAS patch to h/linux.defs ; \ - $(PATCH) < $(axiom_optional_srcdir)/${GCLVERSION}.h.linux.defs.patch) - @(echo 4 setup ini files for EXTRAS patch ; \ - touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \ - touch ${OBJ}/${SYS}/lib/sockio-c.ini ) @(cd ${GCLVERSION}/unixport ; \ - echo 6 applying libspad.a patch to unixport/makefile ; \ - $(PATCH) < $(axiom_optional_srcdir)/${GCLVERSION}.unixport.makefile.patch ) - @(cd ${GCLVERSION}/unixport ; \ echo 7 applying toploop patch to unixport/init_gcl.lsp ; \ $(PATCH) < $(axiom_optional_srcdir)/${GCLVERSION}.unixport.init_gcl.lsp.in.patch ) - @(cd ${GCLVERSION}/cmpnew ; \ - echo 26 copy gcl_collectfn.lsp to ${OBJ}/${SYS}/lsp/collectfn.lsp ; \ - $(INSTALL) gcl_collectfn.lsp ${OBJ}/${SYS}/lsp/collectfn.lsp ) - @(cd ${GCLVERSION}/lsp ; \ - echo 27 copy sys-proclaim.lisp to ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ; \ - $(INSTALL) sys-proclaim.lisp ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ) - @(cd ${GCLVERSION} ; \ - ./configure --disable-xgcl ${GCLOPTS} ; \ - ${ENV} $(MAKE) ; \ - echo '(progn (load "cmpnew/gcl_collectfn.lsp") (load "lsp/sys-proclaim.lisp") (compiler::emit-fn t) (system::save-system "${OUT}/lisp"))' | unixport/saved_gcl ) - $(STAMP) stamp-gcldir + (cd ${GCLVERSION} && \ + ./configure --prefix=$(axiom_builddir) --disable-xgcl ${GCLOPTS} && \ + ${ENV} $(MAKE) && $(ENV) $(MAKE) install) +# Create a fresh image for building Boot +$(OUT)/lisp: $(GCL) $(lisp_DEPENDENCIES) + echo '(compiler::link nil "${OUT}/lisp" \ + (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 t)) \ + (setq compiler::*default-system-p* t))" \ + si::*system-directory* (quote (list ".lsp"))) \ + "${OBJ}/${SYS}/lib/cfuns-c.o \ + ${OBJ}/${SYS}/lib/sockio-c.o \ + ${OBJ}/${SYS}/lib/libspad.a")' \ + | $(GCL) -# Rules for preparing system-installed GCL for use within Axiom. -gcl-systemdir: - echo '(compiler::link nil "${OUT}/lisp" (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 t))(setq compiler::*default-system-p* t))" si::*system-directory* (quote (list ".lsp"))) "${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o ${OBJ}/${SYS}/lib/libspad.a")' | gcl - @echo 23 finished gcl build on `date` | tee > stamp-gcldir - ccldir: $(builddir)/ccl/Makefile @echo 14 building CCL @mkdir -p ${INT}/ccl Modified: branches/build-improvements/lsp/Makefile.pamphlet =================================================================== --- branches/build-improvements/lsp/Makefile.pamphlet 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/lsp/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) @@ -10,11 +10,17 @@ \eject \tableofcontents \eject + \section{The Makefile} -We create a dummy file {\bf stamp-gcldir} after GCL has been built so -it is not rebuilt. We need to do this because we have no control -over the GCL Makefiles. +The purpose of this Makefile is to create a fresh Lisp image, [[$(OUT)/lisp]], +for use in make [[boot]]. To that end, it augments a existing Lisp +image, at the moment GCL, with some specific C-routines. + +If GCL is not existing in the build environment, we build one and install +it a separate directory and carry on the build process has if it had +existed. + \section{Configure and Make GCL} We enable several features of GCL. The [[--enable-readline]] uses GNU readline for the prompts. It has been @@ -25,6 +31,18 @@ The [[--enable-statsysbfd]] uses a static system bfd library for loading and relocating object files. +The [[./configure]] command takes a few options for building GCL. +These need to be changed for various systems so we make these into a +variable and move them up to the top level Makefile. +<<gclConfigureMake>>= + (cd ${GCLVERSION} && \ + ./configure --prefix=$(axiom_builddir) --disable-xgcl ${GCLOPTS} && \ + ${ENV} $(MAKE) && $(ENV) $(MAKE) install) +@ + + +We would like to have the following done for all GCL (either built from Axiom +sources or system-installed). Finally we load some routines for performance reasons. [[lsp/sys-proclaim]] contains common lisp proclaim statements for the various GCL lisp routines. [[cmpnew/gcl_collectfn]] contains modifications to the common lisp compiler @@ -35,16 +53,15 @@ enables the [[.fn]] file generation whenever compile-file is called. We default this code into the image so it is always avaiable. -The [[./configure]] command takes a few options for building GCL. -These need to be changed for various systems so we make these into a -variable and move them up to the top level Makefile. -<<gclConfigureMake>>= - @(cd ${GCLVERSION} ; \ - ./configure --disable-xgcl ${GCLOPTS} ; \ - ${ENV} $(MAKE) ; \ - echo '(progn (load "cmpnew/gcl_collectfn.lsp") (load "lsp/sys-proclaim.lisp") (compiler::emit-fn t) (system::save-system "${OUT}/lisp"))' | unixport/saved_gcl ) -@ +\begin{verbatim} + echo '(progn (load "cmpnew/gcl_collectfn.lsp") \ + (load "lsp/sys-proclaim.lisp") \ + (compiler::emit-fn t) \ + (system::save-system "${OUT}/lisp"))' \ + | $(GCL)) +\end{verbatim} + \section{Gnu Common Lisp 2.6.8pre} <<gcl-2.6.8pre.socket.patch>>= @(cd ${GCLVERSION}/h ; \ @@ -54,6 +71,7 @@ touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \ touch ${OBJ}/${SYS}/lib/sockio-c.ini ) @ + \subsubsection{fortran patch} Communication over sockets (basically to the NAG fortran library) requires us to have XDR enabled. @@ -62,6 +80,7 @@ echo 6 applying libspad.a patch to unixport/makefile ; \ $(PATCH) < $(axiom_optional_srcdir)/${GCLVERSION}.unixport.makefile.patch ) @ + \subsubsection{toploop patch} This patch turns off the banner display every time GCL starts. We could use the -batch flag but that would be a pervasive change. @@ -98,40 +117,46 @@ \subsection{The GCL-2.6.8pre stanza} <<gcl-2.6.8pre>>= # Rules for building GCL from Axiom distribution. -gcl-2.6.8predir: +$(axiom_build_bindir)/gcl: $(TAR) -zxf $(axiom_optional_srcdir)/${GCLVERSION}.tgz -<<gcl-2.6.8pre.socket.patch>> -<<gcl-2.6.8pre.libspad.patch>> <<gcl-2.6.8pre.toploop.patch>> -<<gcl-2.6.8pre.collectfn.fix>> <<gclConfigureMake>> - $(STAMP) stamp-gcldir - @ \section{The Makefile} -\subsection{GCL already installed} -On some systems, notably freebsd, we assume that GCL is already -installed and available using the command [[gcl]]. In that case -we need to extract this Makefile instead of the standard one. -<<gcl-system>>= -# Rules for preparing system-installed GCL for use within Axiom. -gcl-systemdir: - echo '(compiler::link nil "${OUT}/lisp" (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 t))(setq compiler::*default-system-p* t))" si::*system-directory* (quote (list ".lsp"))) "${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o ${OBJ}/${SYS}/lib/libspad.a")' | gcl - @echo 23 finished gcl build on `date` | tee > stamp-gcldir +\subsection{GCL already installed or built} + +<<build lisp for boot>>= +# Create a fresh image for building Boot +$(OUT)/lisp: $(GCL) $(lisp_DEPENDENCIES) + echo '(compiler::link nil "${OUT}/lisp" \ + (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 t)) \ + (setq compiler::*default-system-p* t))" \ + si::*system-directory* (quote (list ".lsp"))) \ + "${OBJ}/${SYS}/lib/cfuns-c.o \ + ${OBJ}/${SYS}/lib/sockio-c.o \ + ${OBJ}/${SYS}/lib/libspad.a")' \ + | $(GCL) @ <<*>>= -OUT=${OBJ}/${SYS}/bin +GCLVERSION = gcl-2.6.8pre +OUT = $(axiom_build_bindir) -stamp-gcldir: - @echo 1 building ${LSP} ${GCLVERSION} - @$(ENV) $(MAKE) $(GCLVERSION)dir +lisp_DEPENDENCIES = ${OBJ}/${SYS}/lib/cfuns-c.o \ + ${OBJ}/${SYS}/lib/sockio-c.o \ + ${OBJ}/${SYS}/lib/libspad.a +all: $(OUT)/lisp + <<gcl-2.6.8pre>> -<<gcl-system>> +<<build lisp for boot>> ccldir: $(builddir)/ccl/Makefile @echo 14 building CCL Modified: branches/build-improvements/src/boot/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/src/boot/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) @@ -1,3 +1,9 @@ +2006-09-17 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (LISPSYS, LOADSYS): Point to + $(axiom_build_bindir)/lisp. + * Makefile.in: Regenerate. + 2006-09-13 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Throughout replace {O} with (OBJEXT). OBJEXT Modified: branches/build-improvements/src/boot/Makefile.in =================================================================== --- branches/build-improvements/src/boot/Makefile.in 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/src/boot/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) @@ -1,9 +1,9 @@ OUT=${OBJ}/${SYS}/boot DOC=${MNT}/${SYS}/doc/src/boot -LISPSYS= ${OBJ}/${SYS}/bin/lisp +LISPSYS= $(axiom_build_bindir)/lisp BOOTSYS= ${OBJ}/${SYS}/bin/bootsys -LOADSYS= ${OBJ}/${SYS}/bin/lisp +LOADSYS= $(axiom_build_bindir)/lisp SAVESYS= ${OBJ}/${SYS}/bin/bootsys OBJS1= "${OUT}/boothdr.$(OBJEXT)" "${OUT}/exports.$(OBJEXT)" \ Modified: branches/build-improvements/src/boot/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/src/boot/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) @@ -1012,9 +1012,9 @@ to these two cases. <<environment>>= -LISPSYS= ${OBJ}/${SYS}/bin/lisp +LISPSYS= $(axiom_build_bindir)/lisp BOOTSYS= ${OBJ}/${SYS}/bin/bootsys -LOADSYS= ${OBJ}/${SYS}/bin/lisp +LOADSYS= $(axiom_build_bindir)/lisp SAVESYS= ${OBJ}/${SYS}/bin/bootsys @ Modified: branches/build-improvements/src/interp/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/src/interp/ChangeLog.build-improvements 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/src/interp/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) @@ -1,3 +1,9 @@ +2006-09-17 Gabriel Dos Reis <gd...@cs...> + + * Makefile.pamphlet (LISPSYS, LOADSYS): Point to + $(axiom_build_bindir)/lisp. + * Makefile.in: Regenerate. + 2006-09-13 Gabriel Dos Reis <gd...@cs...> * Makefile.pamphlet: Throughout replace {O} with (OBJEXT). OBJEXT Modified: branches/build-improvements/src/interp/Makefile.in =================================================================== --- branches/build-improvements/src/interp/Makefile.in 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/src/interp/Makefile.in 2006-09-18 00:04:27 UTC (rev 143) @@ -7,7 +7,7 @@ AUTO=${MNT}/${SYS}/autoload -LISPSYS= ${OBJ}/${SYS}/bin/lisp +LISPSYS= $(axiom_build_bindir)/lisp BOOTSYS= ${OBJ}/${SYS}/bin/bootsys @@ -23,7 +23,7 @@ ${MID}/unlisp.lisp ${MID}/foam_l.lisp \ ${MID}/axext_l.lisp -LOADSYS= ${OBJ}/${SYS}/bin/lisp +LOADSYS= $(axiom_build_bindir)/lisp SAVESYS= ${OBJ}/${SYS}/bin/interpsys AXIOMSYS= ${MNT}/${SYS}/bin/AXIOMsys Modified: branches/build-improvements/src/interp/Makefile.pamphlet =================================================================== --- branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/src/interp/Makefile.pamphlet 2006-09-18 00:04:27 UTC (rev 143) @@ -75,7 +75,7 @@ system-dependent and machine-generated. It belongs in the {\bf \$SPAD/obj} subtree. <<environment>>= -LISPSYS= ${OBJ}/${SYS}/bin/lisp +LISPSYS= $(axiom_build_bindir)/lisp @ @@ -126,7 +126,7 @@ The {\bf SAVESYS} image is copied to the [[${MNT}/${SYS}/bin]] subdirectory and becomes the axiom executable image. <<environment>>= -LOADSYS= ${OBJ}/${SYS}/bin/lisp +LOADSYS= $(axiom_build_bindir)/lisp SAVESYS= ${OBJ}/${SYS}/bin/interpsys AXIOMSYS= ${MNT}/${SYS}/bin/AXIOMsys Modified: branches/build-improvements/zips/ChangeLog.build-improvements =================================================================== --- branches/build-improvements/zips/ChangeLog.build-improvements 2006-09-15 07:03:27 UTC (rev 142) +++ branches/build-improvements/zips/ChangeLog.build-improvements 2006-09-18 00:04:27 UTC (rev 143) @@ -1,3 +1,7 @@ +2006-09-17 Gabriel Dos Reis <gd...@cs...> + + * gcl-2.6.8pre.tgz: Update. + 2006-08-26 Gabriel Dos Reis <gd...@cs...> * gcl-2.6.8pre.configure.in.patch: Delete. Modified: branches/build-improvements/zips/gcl-2.6.8pre.tgz =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-15 07:03:31
|
Revision: 142 http://svn.sourceforge.net/axiom/?rev=142&view=rev Author: dos-reis Date: 2006-09-15 00:03:27 -0700 (Fri, 15 Sep 2006) Log Message: ----------- Remove tla tarvall from silver. Modified Paths: -------------- trunk/axiom/zips/ChangeLog Removed Paths: ------------- trunk/axiom/zips/tla-1.1.tar.gz Modified: trunk/axiom/zips/ChangeLog =================================================================== --- trunk/axiom/zips/ChangeLog 2006-09-15 06:52:39 UTC (rev 141) +++ trunk/axiom/zips/ChangeLog 2006-09-15 07:03:27 UTC (rev 142) @@ -1,3 +1,7 @@ +2006-09-15 Gabriel Dos Reis <gd...@cs...> + + * tla-1.1.tar.gz: Remove. + 2006-05-03 Gabriel Dos Reis <gd...@ac...> * gcl-2.6.7.cmpnew.gcl_cmpcall.lsp.patch: Delete. Deleted: trunk/axiom/zips/tla-1.1.tar.gz =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dos...@us...> - 2006-09-15 06:52:44
|
Revision: 141 http://svn.sourceforge.net/axiom/?rev=141&view=rev Author: dos-reis Date: 2006-09-14 23:52:39 -0700 (Thu, 14 Sep 2006) Log Message: ----------- Update README.build-improvements Modified Paths: -------------- branches/build-improvements/README.build-improvements Modified: branches/build-improvements/README.build-improvements =================================================================== --- branches/build-improvements/README.build-improvements 2006-09-15 06:50:19 UTC (rev 140) +++ branches/build-improvements/README.build-improvements 2006-09-15 06:52:39 UTC (rev 141) @@ -54,8 +54,6 @@ === TODO === ============ -* Fix Makefile generation dependencies. - * Find a better structuring for PLF, CCF, LDF, LISP. * Have Axiom configure pass down tp GCL options specified on the @@ -98,3 +96,9 @@ * Convince GCL to find its internal header files. -- it turns out to be a bug in Axiom. + + +* Fix Makefile generation dependencies. + -- This turns out to be a bug in Autoconf 2.59 whereby the value of + -- @top_builddir@ is empty. Work around the bug by using + -- $(abs_top_builddir). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |