--- gforth/Makefile.in 2008/01/23 13:52:02 1.385 +++ gforth/Makefile.in 2008/04/20 20:21:24 1.396 @@ -11,7 +11,7 @@ #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License @@ -66,7 +66,7 @@ INSTALL_INFO = @INSTALL_INFO@ LN_S = @LN_S@ M4 = @M4@ GCC = @CC@ -BOOTFORTH = @GFORTH@ +PREFORTH = @PREFORTH@ -p ".$(PATHSEP)~+$(PATHSEP)$(srcdir)" CC = $(GCC) FORTHPATH = .$(PATHSEP)$(libdir)/gforth/site-forth$(PATHSEP)$(siteforthdir)$(PATHSEP)$(libdir)/gforth/$(VERSION)$(PATHSEP)$(datadir)/gforth/$(VERSION) FORTHSIZES = @FORTHSIZES@ @@ -107,6 +107,7 @@ SWITCHES = $(XCFLAGS) $(XDEFINES) $(OPTD ENGINE_FLAGS = @ENGINE_FLAGS@ -fno-defer-pop -fcaller-saves DEBUGFLAG = @DEBUGFLAG@ CFLAGS = $(DEBUGFLAG) -I$(srcdir)/engine -I$(srcdir)/arch/$(machine) -O3 -Wall $(SWITCHES) -DDEFAULTPATH='"$(FORTHPATH)"' +CPPFLAGS = @CPPFLAGS@ #John Wavrik should use -Xlinker -N to get a writable text (executable) XLDFLAGS = @LDFLAGS@ @@ -298,7 +299,6 @@ ALLSUBDIRS = engine ARCHS = \ arch/generic/machine.h \ - arch/generic/128bit.h \ arch/m68k/machine.h \ arch/mips/machine.h \ arch/386/machine.h \ @@ -310,8 +310,7 @@ ARCHS = \ arch/alpha/machine.h \ arch/arm/machine.h \ arch/arm/cacheflush0.c \ - arch/arm/cacheflush1.c \ - arch/arm/cacheflush2.c \ + arch/arm/cacheflush-linux.c \ arch/ia64/machine.h \ arch/ia64/flush_icache_block.c \ arch/amd64/machine.h \ @@ -385,7 +384,7 @@ VMGEN_EX2 = $(VMGEN_EX:vmgen-ex/%=vmgen- ENGINE_SOURCES = engine/Makefile.in engine/config.h.in \ engine/engine.c engine/main.c \ engine/io.c engine/support.c engine/signals.c engine/libcc.h.in \ - engine/profile.c \ + engine/profile.c engine/128bit.h \ engine/getopt.c engine/getopt1.c engine/getopt.h engine/select.c \ engine/ecvt.c engine/memcmp.c engine/rint.c \ engine/strtol.c engine/strtoul.c \ @@ -395,6 +394,65 @@ ENGINE_SOURCES = engine/Makefile.in engi engine/fnmatch.h engine/fnmatch.c \ engine/makefile.dos engine/makefile.os2 +LIBLTDL = \ + libltdl/argz.c \ + libltdl/loaders/dlopen.c \ + libltdl/loaders/shl_load.c \ + libltdl/loaders/dld_link.c \ + libltdl/loaders/dyld.c \ + libltdl/loaders/preopen.c \ + libltdl/loaders/load_add_on.c \ + libltdl/loaders/loadlibrary.c \ + libltdl/configure.ac \ + libltdl/configure \ + libltdl/slist.c \ + libltdl/aclocal.m4 \ + libltdl/config/config.guess \ + libltdl/config/mkstamp \ + libltdl/config/missing \ + libltdl/config/install-sh \ + libltdl/config/ltmain.m4sh \ + libltdl/config/depcomp \ + libltdl/config/getopt.m4sh \ + libltdl/config/texinfo.tex \ + libltdl/config/compile \ + libltdl/config/mdate-sh \ + libltdl/config/config.sub \ + libltdl/config/general.m4sh \ + libltdl/config/ltmain.sh \ + libltdl/README \ + libltdl/lt__dirent.c \ + libltdl/ltdl.h \ + libltdl/m4/argz.m4 \ + libltdl/m4/ltdl.m4 \ + libltdl/m4/libtool.m4 \ + libltdl/m4/ltsugar.m4 \ + libltdl/m4/lt~obsolete.m4 \ + libltdl/m4/ltoptions.m4 \ + libltdl/m4/ltversion.in \ + libltdl/m4/ltversion.m4 \ + libltdl/Makefile.am \ + libltdl/lt__strl.c \ + libltdl/config-h.in \ + libltdl/ltdl.c \ + libltdl/lt__alloc.c \ + libltdl/argz_.h \ + libltdl/lt_error.c \ + libltdl/Makefile.inc \ + libltdl/lt_dlloader.c \ + libltdl/stamp-mk \ + libltdl/libltdl/lt_system.h \ + libltdl/libltdl/lt__private.h \ + libltdl/libltdl/lt__alloc.h \ + libltdl/libltdl/lt_dlloader.h \ + libltdl/libltdl/lt_error.h \ + libltdl/libltdl/slist.h \ + libltdl/libltdl/lt__glibc.h \ + libltdl/libltdl/lt__strl.h \ + libltdl/libltdl/lt__dirent.h \ + libltdl/COPYING.LIB \ + libltdl/Makefile.in + SOURCES = $(CVSDIRS) $(ENGINE_SOURCES) compat Makefile.in Makedist.in \ gforthmi.in vmgen.in gfgen README.vmgen NEWS.vmgen \ configure.in configure config.sub config.guess elisp-comp missing \ @@ -414,7 +472,8 @@ SOURCES = $(CVSDIRS) $(ENGINE_SOURCES) c $(INCLUDES) $(FORTH_SRC) $(COMPAT) $(VMGEN_EX) $(VMGEN_EX2) \ timings.sc \ test/coretest.out test/checkans.out test/gforth.out \ - cache-fast*.vmg + cache*.vmg peeprules.vmg prim \ + $(LIBLTDL) RCS_FILES = ToDo model high-level @@ -455,6 +514,7 @@ KERNLS = kernl16b$(EC).fi- kernl16l$(EC) kernl32b$(EC).fi- kernl32l$(EC).fi- \ kernl64b$(EC).fi- kernl64l$(EC).fi- +# ------------- Make forth images GEN_PRECIOUS = $(FORTH_GEN) $(KERNLS) \ doc/gforth.texi doc/gforth.dvi doc/gforth.ps \ doc/vmgen.dvi doc/vmgen.ps \ @@ -483,7 +543,6 @@ kernel/version.fs: version more: $(ENGINES) $(FORTH_GEN) $(GEN) @$(MAKE) check - @$(FORTH_FAST) --diag -e bye #from the gcc Makefile: #"Deletion of files made during compilation. @@ -497,6 +556,7 @@ more: $(ENGINES) $(FORTH_GEN) $(GEN) # `realclean' also deletes everything that could be regenerated automatically." mostlyclean: FORCE + cd libltdl && make mostlyclean -$(RM) -rf engine/*.s gforth.fi *.fi~ *.fi- kernel/version.fs \ *TAGS gforth~ \ doc/crossdoc.fd doc/doc.fd doc/gforth.texi doc/gforth.fns \ @@ -515,6 +575,7 @@ docclean: FORCE doc/gforth.toc doc/gforth.tp doc/gforth.vr html clean: mostlyclean + cd libltdl && make clean -$(RM) -rf $(GEN) *.o engine/*.o arch/*/*.o version \ gforth-itc-noll$(EC)$(EXE) engine/gforth-itc-noll$(EC)$(EXE) \ gforth-ditc-noll$(EC)$(EXE) engine/gforth-ditc-noll$(EC)$(EXE) \ @@ -523,6 +584,7 @@ clean: mostlyclean for i in gforth gforth-fast gforth-native; do for j in $(OPTS); do rm -f engine/$$i$${j}$(EC)$(EXE) $$i$${j}$(EC)$(EXE); done; done distclean: clean + cd libltdl && make distclean -$(RM) -rf config.cache config.log config.status \ engine/config.h Makefile Makedist engine/Makefile \ stamp-h engine/stamp-h \ @@ -531,13 +593,16 @@ distclean: clean #realclean is useless, but dangerous, so it's commented out realclean: distclean - -$(RM) $(GEN_PRECIOUS) + -$(RM) -rf $(GEN_PRECIOUS) `cat .cvsignore` #mostlyclean, but also remove some of the stuff that is distributed virtualclean: mostlyclean -$(RM) -rf gforth.fns gforth.texi gforth.ps gforth.info* \ gforth-$(VERSION).tar.gz config.cache *~ */*~ +maintainer-clean: realclean + cd libltdl && maintainer-clean + #Some makes (Ultrix, SunOS, IRIX) are so broken, they cannot read the #Makefile if it contains our dist rules. Therefore we have put these #rules in Makedist (you can use them with GNU make on these systems). @@ -647,6 +712,7 @@ check: gforths gforth.fi $(MAKE) checkone check-nofast ENGINE="./gforth" >/dev/null 2>&1 $(MAKE) checkone ENGINE="./gforth-fast" >/dev/null 2>&1 @echo "*** Check successful ***" + ./gforth-fast --diag -e bye checkone test: gforth.fi engine/prim-s.i $(FORTH) test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs test/string.fs test/float.fs test/deferred.fs test/coreext.fs test/search.fs -e bye 2>&1 | tr -d '\015' | diff -c - $(srcdir)/test/coretest.out @@ -685,11 +751,6 @@ all-bench allbench: ./gforth-itc onebench.fs ./gforth-ditc onebench.fs -# ------------- Bootstrapping -bootstrap: - [ ! -z "${BOOTFORTH}" ] && \ - ${MAKE} BUILDFORTH="${BOOTFORTH}" FORTHP="${BOOTFORTH}" engine/prim.i ${BKERNLS} - # ------------- Make forth images # How to make new images: @@ -701,26 +762,26 @@ bootstrap: # these are the ones we want to use now kernl16l$(EC).fi-: $(KERN_DEPS) mach16l.fs - $(FORTHB) -e 's" mach16l.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl16l$(EC).fi- $(bindir)/gforth-$(VERSION) bye" + $(PREFORTH) -e 's" mach16l.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl16l$(EC).fi- $(bindir)/gforth-$(VERSION) bye" kernl16b$(EC).fi-: $(KERN_DEPS) mach16b.fs - $(FORTHB) -e 's" mach16b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl16b$(EC).fi- $(bindir)/gforth-$(VERSION) bye" + $(PREFORTH) -e 's" mach16b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl16b$(EC).fi- $(bindir)/gforth-$(VERSION) bye" kernl32l$(EC).fi-: $(KERN_DEPS) mach32l.fs - $(FORTHB) -e 's" mach32l.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl32l$(EC).fi- $(bindir)/gforth-$(VERSION) bye" + $(PREFORTH) -e 's" mach32l.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl32l$(EC).fi- $(bindir)/gforth-$(VERSION) bye" kernl32b$(EC).fi-: $(KERN_DEPS) mach32b.fs - $(FORTHB) -e 's" mach32b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl32b$(EC).fi- $(bindir)/gforth-$(VERSION) bye" + $(PREFORTH) -e 's" mach32b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl32b$(EC).fi- $(bindir)/gforth-$(VERSION) bye" kernl64l$(EC).fi-: $(KERN_DEPS) mach64l.fs - $(FORTHB) -e 's" mach64l.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl64l$(EC).fi- $(bindir)/gforth-$(VERSION) bye" + $(PREFORTH) -e 's" mach64l.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl64l$(EC).fi- $(bindir)/gforth-$(VERSION) bye" kernl64b$(EC).fi-: $(KERN_DEPS) mach64b.fs - $(FORTHB) -e 's" mach64b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl64b$(EC).fi- $(bindir)/gforth-$(VERSION) bye" + $(PREFORTH) -e 's" mach64b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl64b$(EC).fi- $(bindir)/gforth-$(VERSION) bye" #Solaris make does not like that: @GNUMAKE@kernl-%.fi: arch/%/mach.fs arch/%/prim.fs arch/%/asm.fs $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) -@GNUMAKE@ $(FORTHB) -e 's" $<"' $(srcdir)/kernel/main.fs -e "save-cross $@- $(bindir)/gforth-$(VERSION) bye" +@GNUMAKE@ $(PREFORTH) -e 's" $<"' $(srcdir)/kernel/main.fs -e "save-cross $@- $(bindir)/gforth-$(VERSION) bye" @GNUMAKE@ if [ -f `echo $< | sed s/fs/sh/` ]; \ @GNUMAKE@ then sh `echo $< | sed s/fs/sh/` $@; \ @GNUMAKE@ else $(CP) $@- $@; \ @@ -774,20 +835,20 @@ $(FORTH_GEN_ENGINE_FAST): prim-fast.b pr GFORTH="$(FORTHP)" $(srcdir)/gfgen -fast $(FORTH_GEN_ENGINE): prim.b prims2x.fs - GFORTH="$(FORTHP)" $(srcdir)/gfgen + GFORTH="$(PREFORTH)" $(srcdir)/gfgen engine/prim-s.i: engine/prim.i grep -v '^#line ' $(srcdir)/engine/prim.i >$@ kernel/aliases.fs: prim.b prims2x.fs kernel/aliases0.fs $(CP) kernel/aliases0.fs $@- - $(FORTHP) prims2x.fs -e "forth-flag on s\" prim.b\" ' output-alias ' noop process-file bye" >>$@- + $(PREFORTH) prims2x.fs -e "forth-flag on s\" prim.b\" ' output-alias ' noop process-file bye" >>$@- $(CP) $@- $@ $(RM) $@- kernel/prim.fs: prim.b prims2x.fs kernel/prim0.fs $(CP) kernel/prim0.fs kernel/prim.fs- - $(FORTHP) prims2x.fs -e "forth-flag on s\" prim.b\" ' output-forth ' output-forth-combined process-file bye" >>$@- + $(PREFORTH) prims2x.fs -e "forth-flag on s\" prim.b\" ' output-forth ' output-forth-combined process-file bye" >>$@- $(CP) $@- $@ $(RM) $@- @@ -855,7 +916,7 @@ gforths: $(ENGINES) $(ENGINES_FAST) $(FORTHK) prim2cl.fs -e "file $< altogether bye" >$@ %.so: %.c - $(GCC) -shared $(CFLAGS) $< -o $@ + $(GCC) -shared $(CFLAGS) $(CPPFLAGS) $< -o $@ # ------------- Make Documentation @@ -880,15 +941,15 @@ gforth.tags: @kernel_fi@ gforth$(EC)$(EX rm tags prim.TAGS: prim.b prims2x.fs - $(FORTHP) prims2x.fs -e "s\" $(srcdir)/prim.b\" ' output-tag dup process-file bye"|sed 's#^./prim#prim#' >$@- + $(PREFORTH) prims2x.fs -e "s\" $(srcdir)/prim.b\" ' output-tag dup process-file bye"|sed 's#^./prim#prim#' >$@- $(CP) $@- $@ $(RM) $@- prim.tags: prim.b prims2x.fs #echo '2c\' >prim.TAGS.sed #echo $(srcdir)/prim >>prim.TAGS.sed - #$(FORTHP) prims2x.fs -e "s\" $(srcdir)/prim.b\" ' output-tag dup process-file bye" | sed -f prim.TAGS.sed >$@- - $(FORTHP) prims2x.fs -e "s\" $(srcdir)/prim.b\" ' output-vi-tag dup process-file bye" >$@- + #$(PREFORTH) prims2x.fs -e "s\" $(srcdir)/prim.b\" ' output-tag dup process-file bye" | sed -f prim.TAGS.sed >$@- + $(PREFORTH) prims2x.fs -e "s\" $(srcdir)/prim.b\" ' output-vi-tag dup process-file bye" >$@- $(CP) $@- $@ $(RM) $@- @@ -910,9 +971,9 @@ doc/doc.fd: doc/makedoc.fs $(GFORTH_FI_S doc/crossdoc.fd: $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) $(FORTHK) -e 's" mach32l.fs"' kernel/main.fs -e bye -doc/gforth.texi: doc/gforth.ds prim.b ds2texi.fs prims2x.fs \ +doc/gforth.texi: doc/gforth.ds prim.b ds2texi.fs prims2x.fs \ doc/doc.fd doc/crossdoc.fd - $(FORTHP) ds2texi.fs prims2x.fs -e "s\" $(srcdir)/prim.b\" ' register-doc ' noop process-file" doc/crossdoc.fd doc/doc.fd -e "s\" $(srcdir)/doc/gforth.ds\" r/o open-file throw ds2texi bye" >$@- + $(PREFORTH) ds2texi.fs prims2x.fs -e "s\" $(srcdir)/prim.b\" ' register-doc ' noop process-file" doc/crossdoc.fd doc/doc.fd -e "s\" $(srcdir)/doc/gforth.ds\" r/o open-file throw ds2texi bye" >$@- $(CP) $@- $@ $(RM) $@- @@ -976,7 +1037,7 @@ configure: configure.in aclocal.m4 cd $(srcdir) && autoconf aclocal.m4: configure.in - aclocal + aclocal -I libltdl/m4 # autoheader might not change config.h.in, so touch a stamp file. engine/config.h.in: stamp-h.in @@ -1003,6 +1064,6 @@ makefile.os2 engine/makefile.os2: mkos2m sed -f mkos2mf.sed makefile.os2 sed -f mkos2mf.sed engine/makefile.os2 echo '%.o: %.c' >>makefile.os2 - echo ' $$(GCC) $$(CFLAGS) -c $$<' >>makefile.os2 + echo ' $$(GCC) $$(CFLAGS) $$(CPPFLAGS) -c $$<' >>makefile.os2 echo '%.o: %.c' >>engine/makefile.os2 - echo ' $$(GCC) $$(CFLAGS) -c $$<' >>engine/makefile.os2 + echo ' $$(GCC) $$(CFLAGS) $$(CPPFLAGS) -c $$<' >>engine/makefile.os2