--- gforth/Makefile.in 1998/05/07 22:44:39 1.108 +++ gforth/Makefile.in 1998/07/28 12:29:37 1.116 @@ -30,18 +30,17 @@ # ------------- gforth version -VERSION_MAJOR=0 -VERSION_MINOR=4 -VERSION_RELEASE=0 -VERSION =$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_RELEASE) -DOSVERSION=$(VERSION_MAJOR)$(VERSION_MINOR)$(VERSION_RELEASE) +VERSION = @VERSION@ +DOSVERSION=`echo $VERSION|sed 's/\.//g'` # ------------- System specific variables -machine=@mach_h@ +machine=@machine@ +kernel_fi=@kernel_fi@ + # this is the type of machine # used to extend the include path with ./arch/$machine -# so we could include a machine specific +# so we can include a machine specific # machine.h file PATHSEP = @PATHSEP@ @@ -61,15 +60,15 @@ INSTALL_DATA = @INSTALL_DATA@ LN_S = @LN_S@ GCC = @CC@ CC = $(GCC) -FORTHPATH = $(libdir)/gforth/site-forth$(PATHSEP)$(datadir)/gforth/site-forth$(PATHSEP)$(libdir)/gforth/$(VERSION)$(PATHSEP)$(datadir)/gforth/$(VERSION)$(PATHSEP). +FORTHPATH = .$(PATHSEP)$(libdir)/gforth/site-forth$(PATHSEP)$(datadir)/gforth/site-forth$(PATHSEP)$(libdir)/gforth/$(VERSION)$(PATHSEP)$(datadir)/gforth/$(VERSION) FORTHSIZES = @FORTHSIZES@ -FORTH = ./gforth -p $(FORTHPATH)$(PATHSEP)$(srcdir) -FORTHKFLAGS= -p .$(PATHSEP)$(srcdir) -i ./kernel.fi +FORTH = ./gforth --die-on-signal -p $(FORTHPATH)$(PATHSEP)$(srcdir) +FORTHKFLAGS= --die-on-signal -p .$(PATHSEP)$(srcdir) -i ./$(kernel_fi) FORTHK = ./gforth $(FORTHKFLAGS) -FORTHP = ./gforth -i ./kernel.fi +FORTHP = ./gforth --die-on-signal -i ./$(kernel_fi) STRIP = strip TEXI2DVI = texi2dvi -DVI2PS = dvips -D300 +DVI2PS = dvips -Z #you can get texi2html from http://wwwcn.cern.ch/dci/texi2html/ TEXI2HTML = texi2html MAKEINFO = makeinfo @@ -105,7 +104,7 @@ mandir = $(prefix)/man man1dir= $(mandir)/man1 man1ext= .1 #older emacses have their site-lisp in $(libdir)/emacs/ -emacssitelispdir=$(datadir)/emacs/site-lisp +emacssitelispdir=@lispdir@ INCLUDES = engine/CVS engine/forth.h engine/threaded.h engine/io.h @@ -148,7 +147,6 @@ EC_SRC = \ asm/generic.fs \ asm/target.fs \ ec/00-readme \ - ec/crossdoc.fd \ ec/mirror.fs \ ec/mirrors.fs \ ec/shex.fs \ @@ -211,6 +209,8 @@ FORTH_SRC = $(KERN_SRC) $(GFORTH_FI_SRC) COMPAT = compat/CVS compat/README compat/control.fs compat/anslocal.fs \ compat/struct.fs compat/loops.fs +GFORTH_TEXI = doc/gforth.texi doc/version.texi + ALLSUBDIRS = engine ARCHS = arch/generic/machine.h \ @@ -218,8 +218,10 @@ ARCHS = arch/generic/machine.h \ arch/mips/machine.h \ arch/386/machine.h \ arch/hppa/machine.h \ + arch/hppa/cache.c \ arch/sparc/machine.h \ arch/power/machine.h \ + arch/power/_sync_cache_range.c \ arch/alpha/machine.h \ arch/4stack/README \ arch/4stack/asm.fs \ @@ -283,10 +285,6 @@ RCS_FILES = ToDo model high-level GEN = gforth gforth-ditc kernel/version.fs version-stamp -OBJECTS0 = engine/replace.a -OBJECTS = engine/engine.o engine/main.o -OBJECTS_DITC = engine/engine-ditc.o engine/main-ditc.o - # things that need a working forth system to be generated FORTH_GEN0 = prim.b engine/prim.i engine/prim_lab.i kernel/aliases.fs kernel/prim.fs FORTH_GEN = $(FORTH_GEN0) @KERNEL@ gforth.fi @@ -299,15 +297,15 @@ DOCDIST = doc/gforth.info doc/gforth.inf #stuff in a binonly distribution BINONLYDIST = config.status Makefile gforth gforth-ditc \ $(OBJECTS0) $(OBJECTS) $(OBJECTS_DITC)\ - arch/$(machine)/machine.h engine/config.h kernel.fi \ - stamp-h engine/version.h kernel/version.fs version-stamp \ + arch/$(machine)/machine.h engine/config.h engine/Makefile \ + stamp-h kernel/version.fs version-stamp \ INSTALL.BINDIST KERNLS = kernl16b.fi- kernl16l.fi- \ kernl32b.fi- kernl32l.fi- \ kernl64b.fi- kernl64l.fi- -GEN_PRECIOUS = $(FORTH_GEN) $(KERNLS) doc/gforth.texi doc/gforth.dvi doc/gforth.ps Makefile configure +GEN_PRECIOUS = $(FORTH_GEN) $(KERNLS) doc/gforth.texi doc/gforth.dvi doc/gforth.ps Makefile engine/Makefile configure #standards.info recommends this: .SUFFIXES: @@ -328,12 +326,9 @@ version: Makefile.in # of the "/ and \" problem. Copying works because we use the # shell und file utilities. -engine/version.h: version - bash versions.bsh $(VERSION) - kernel/version.fs: version - $(MAKE) gforth - bash versions.bsh $(VERSION) + $(MAKE) gforth + $(SHELL) versions.bsh $(VERSION) more: engine $(FORTH_GEN) gforth @@ -355,15 +350,14 @@ mostlyclean: FORCE doc/gforth.dvi doc/gforth.fn doc/gforth.ky doc/gforth.log \ doc/gforth.pg \ doc/gforth.toc doc/gforth.tp doc/gforth.vr html \ - gforth-$(VERSION).tar.gz \ - engine/version.h + gforth-$(VERSION).tar.gz clean: mostlyclean - -$(RM) -rf $(GEN) *.o engine/*.o engine/*.a + -$(RM) -rf $(GEN) *.o engine/*.o arch/*/*.o distclean: clean - -$(RM) machine kernel.fi config.cache config.log \ - config.status engine/config.h Makefile stamp-h + -$(RM) config.cache config.log \ + config.status engine/config.h Makefile engine/Makefile stamp-h #realclean is useless, but dangerous, so it's commented out #realclean: distclean @@ -450,7 +444,7 @@ binonlydist: $(SOURCES) $(FORTH_GEN0) @K #install does not depend on gforth.info, because that would require #supplying a lot of files that can be easily generated (only info is #hard to generate) -install: gforth $(FORTH_SRC) kernel.fi gforth.fi doc/gforth.1 prim gforth.TAGS installdirs +install: gforth $(FORTH_SRC) $(kernel_fi) gforth.fi doc/gforth.1 prim gforth.TAGS installdirs touch $(datadir)/gforth/site-forth/siteinit.fs -$(RM) $(bindir)/gforth $(bindir)/gforth-$(VERSION) $(INSTALL_PROGRAM) -s gforth $(bindir) @@ -460,7 +454,7 @@ install: gforth $(FORTH_SRC) kernel.fi g for i in $(FORTH_SRC) prim; do \ $(INSTALL_DATA) $(srcdir)/$$i $(datadir)/gforth/$(VERSION); \ done - $(INSTALL_DATA) kernel.fi $(libdir)/gforth/$(VERSION) + $(INSTALL_DATA) $(kernel_fi) $(datadir)/gforth/$(VERSION) $(RM) gforth.fi; $(MAKE) gforth.fi #gforth.fi contains some path names $(INSTALL_DATA) gforth.fi $(libdir)/gforth/$(VERSION) sed 's:^$(srcdir)/:$(datadir)/gforth/$(VERSION)/:' gforth.TAGS >TAGS; $(INSTALL_DATA) TAGS $(datadir)/gforth/$(VERSION) @@ -561,15 +555,8 @@ kernl64l.fi: $(KERNLS) # -$(CP) $@ $@~ # -$(CP) $< $@ -# If we want a new kernel.fi we should use "kernel.fi:" this makes -# a link or a copy from kernl....fi to kernel.fi -# works for dos-computers, too!! - -kernel.fi: @kernel_fi@ - @LINK_KERNL@ - -gforth.fi: kernel.fi gforthmi gforth gforth-ditc $(GFORTH_FI_SRC) - GFORTHD="./gforth-ditc -p .$(PATHSEP)$(srcdir)" GFORTH="./gforth-ditc -p .$(PATHSEP)$(srcdir) -i kernel.fi startup.fs" $(srcdir)/gforthmi gforth.fi $(FORTHSIZES) $(FORTHKFLAGS) startup.fs +gforth.fi: $(kernel_fi) gforthmi gforth gforth-ditc $(GFORTH_FI_SRC) + GFORTHD="./gforth-ditc -p .$(PATHSEP)$(srcdir)" GFORTH="./gforth-ditc -p .$(PATHSEP)$(srcdir) -i $(kernel_fi) startup.fs" $(srcdir)/gforthmi gforth.fi $(FORTHSIZES) $(FORTHKFLAGS) startup.fs # ------------- Make c-engine @@ -598,19 +585,15 @@ kernel/prim.fs: prim.b prims2x.fs kernel $(CP) $@- $@ $(RM) $@- -engine: engine/prim_lab.i engine/prim.i engine/version.h FORCE - $(MAKE) -C engine engine - -engine_ditc: engine/prim_lab.i engine/prim.i engine/version.h FORCE - $(MAKE) -C engine engine_ditc - -gforth: engine +gforth: FORCE -$(CP) gforth gforth~ - $(GCC) $(LDFLAGS) $(OBJECTS) $(OBJECTS0) $(LDLIBS) -o $@ + cd engine; make gforth; cd .. + $(CP) engine/$@ $@ @GFORTH_EXE@ -gforth-ditc: engine_ditc - $(GCC) $(LDFLAGS) $(OBJECTS_DITC) $(OBJECTS0) $(LDLIBS) -o $@ +gforth-ditc: FORCE + cd engine; make gforth-ditc; cd .. + $(CP) engine/$@ $@ @GFORTHDITC_EXE@ # ------------- additional C primitives @@ -637,8 +620,8 @@ prim.TAGS: prim.b prims2x.fs $(CP) $@- $@ $(RM) $@- -doc/doc.fd: doc/makedoc.fs $(GFORTH_FI_SRC) code.fs objects.fs oof.fs - $(FORTHK) -e "s\" doc/doc.fd\"" doc/makedoc.fs startup.fs code.fs objects.fs oof.fs -e bye +doc/doc.fd: doc/makedoc.fs $(GFORTH_FI_SRC) code.fs objects.fs oof.fs mini-oof.fs + $(FORTHK) -e "s\" doc/doc.fd\"" doc/makedoc.fs startup.fs code.fs objects.fs oof.fs mini-oof.fs -e bye doc/crossdoc.fd: $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) $(FORTHK) -e 's" mach32l.fs"' kernel/main.fs -e bye @@ -655,7 +638,7 @@ checkdoc: doc/gforth.ds prim.b ds2texi.f dvi: doc/gforth.dvi -doc/gforth.dvi doc/gforth.fns: doc/gforth.texi +doc/gforth.dvi doc/gforth.fns: $(GFORTH_TEXI) cd doc; $(TEXI2DVI) gforth.texi doc/gforth.ps: doc/gforth.dvi @@ -663,21 +646,27 @@ doc/gforth.ps: doc/gforth.dvi info: doc/gforth.info -doc/gforth.info doc/gforth.info-*: doc/gforth.texi +doc/gforth.info doc/gforth.info-*: $(GFORTH_TEXI) -cd doc; $(MAKEINFO) gforth.texi -html: doc/gforth.texi - -$(RM) html/* +html: $(GFORTH_TEXI) + -$(RMTREE) html -mkdir html cd html; $(TEXI2HTML) -menu -split_node ../doc/gforth.texi +doc/gforth.txt: $(GFORTH_TEXI) + -cd doc; $(MAKEINFO) --no-headers --no-split gforth.texi >gforth.txt + doc: doc/gforth.ps html # For an explanation of the following Makefile rules, see node # `Automatic Remaking' in GNU Autoconf documentation. -$(srcdir)/configure: configure.in +$(srcdir)/configure: configure.in aclocal.m4 cd $(srcdir) && autoconf +aclocal.m4: acinclude.m4 configure.in + aclocal + # autoheader might not change config.h.in, so touch a stamp file. config.h.in: stamp-h.in stamp-h.in: configure.in acconfig.h @@ -688,8 +677,12 @@ engine/config.h: stamp-h stamp-h: config.h.in config.status CONFIG_FILES=$@ CONFIG_HEADERS=engine/config.h ./config.status echo > stamp-h + Makefile: Makefile.in config.status CONFIG_FILES="$@ engine/$@" CONFIG_HEADERS=engine/config.h ./config.status + +engine/Makefile: engine/Makefile.in config.status + CONFIG_FILES="$@ engine/$@" CONFIG_HEADERS=engine/config.h ./config.status config.status: configure ./config.status --recheck