| |
|
| machine=@machine@ |
machine=@machine@ |
| kernel_fi=@kernel_fi@ |
kernel_fi=@kernel_fi@ |
| |
EXE=@EXE@ |
| |
|
| # this is the type of machine |
# this is the type of machine |
| # used to extend the include path with ./arch/$machine |
# used to extend the include path with ./arch/$machine |
| |
|
| RCS_FILES = ToDo model high-level |
RCS_FILES = ToDo model high-level |
| |
|
| GEN = gforth gforth-ditc kernel/version.fs version-stamp |
GEN = gforth$(EXE) gforth-ditc$(EXE) kernel/version.fs version-stamp |
| |
|
| # things that need a working forth system to be generated |
# 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_GEN0 = prim.b engine/prim.i engine/prim_lab.i kernel/aliases.fs kernel/prim.fs |
| DOCDIST = doc/gforth.info doc/gforth.info-* doc/gforth.ps |
DOCDIST = doc/gforth.info doc/gforth.info-* doc/gforth.ps |
| |
|
| #stuff in a binonly distribution |
#stuff in a binonly distribution |
| BINONLYDIST = config.status Makefile gforth gforth-ditc \ |
BINONLYDIST = config.status Makefile gforth$(EXE) gforth-ditc$(EXE) \ |
| $(OBJECTS0) $(OBJECTS) $(OBJECTS_DITC)\ |
$(OBJECTS0) $(OBJECTS) $(OBJECTS_DITC)\ |
| arch/$(machine)/machine.h engine/config.h engine/Makefile \ |
arch/$(machine)/machine.h engine/config.h engine/Makefile \ |
| stamp-h kernel/version.fs version-stamp \ |
stamp-h kernel/version.fs version-stamp \ |
| # shell und file utilities. |
# shell und file utilities. |
| |
|
| kernel/version.fs: version |
kernel/version.fs: version |
| $(MAKE) gforth |
$(MAKE) gforth$(EXE) |
| $(SHELL) versions.bsh $(VERSION) |
$(SHELL) versions.bsh $(VERSION) |
| |
|
| more: engine $(FORTH_GEN) gforth |
more: engine $(FORTH_GEN) gforth$(EXE) |
| |
|
| #from the gcc Makefile: |
#from the gcc Makefile: |
| #"Deletion of files made during compilation. |
#"Deletion of files made during compilation. |
| gforth-$(VERSION).tar.gz |
gforth-$(VERSION).tar.gz |
| |
|
| clean: mostlyclean |
clean: mostlyclean |
| -$(RM) -rf $(GEN) engine/gforth engine/gforth-ditc \ |
-$(RM) -rf $(GEN) engine/gforth$(EXE) engine/gforth-ditc$(EXE) \ |
| *.o engine/*.o arch/*/*.o version |
*.o engine/*.o arch/*/*.o version |
| |
|
| distclean: clean |
distclean: clean |
| #install does not depend on gforth.info, because that would require |
#install does not depend on gforth.info, because that would require |
| #supplying a lot of files that can be easily generated (only info is |
#supplying a lot of files that can be easily generated (only info is |
| #hard to generate) |
#hard to generate) |
| install: gforth $(FORTH_SRC) $(kernel_fi) gforth.fi doc/gforth.1 prim gforth.TAGS installdirs |
install: gforth$(EXE) $(FORTH_SRC) $(kernel_fi) gforth.fi doc/gforth.1 prim gforth.TAGS installdirs |
| touch $(datadir)/gforth/site-forth/siteinit.fs |
touch $(datadir)/gforth/site-forth/siteinit.fs |
| -$(RM) $(bindir)/gforth $(bindir)/gforth-$(VERSION) |
-$(RM) $(bindir)/gforth$(EXE) $(bindir)/gforth-$(VERSION)$(EXE) |
| $(INSTALL_PROGRAM) -s gforth $(bindir) |
$(INSTALL_PROGRAM) -s gforth$(EXE) $(bindir) |
| ln $(bindir)/gforth $(bindir)/gforth-$(VERSION) |
ln $(bindir)/gforth$(EXE) $(bindir)/gforth-$(VERSION)$(EXE) |
| -$(INSTALL_DATA) $(srcdir)/doc/gforth.1 $(man1dir) |
-$(INSTALL_DATA) $(srcdir)/doc/gforth.1 $(man1dir) |
| -for i in $(srcdir)/gforth.info*; do $(INSTALL_DATA) $$i $(infodir); done |
-for i in $(srcdir)/gforth.info*; do $(INSTALL_DATA) $$i $(infodir); done |
| for i in $(FORTH_SRC) prim; do \ |
for i in $(FORTH_SRC) prim; do \ |
| -$(RM) -rf $(libdir)/gforth/$(VERSION) $(datadir)/gforth/$(VERSION) $(bindir)/gforth-$(VERSION) |
-$(RM) -rf $(libdir)/gforth/$(VERSION) $(datadir)/gforth/$(VERSION) $(bindir)/gforth-$(VERSION) |
| @echo -e "Type\n$(RM) -rf $(bindir)/gforth $(man1dir)/gforth.1 $(infodir)/gforth.info* $(datadir)/gforth $(libdir)/gforth\nto remove Gforth completely" |
@echo -e "Type\n$(RM) -rf $(bindir)/gforth $(man1dir)/gforth.1 $(infodir)/gforth.info* $(datadir)/gforth $(libdir)/gforth\nto remove Gforth completely" |
| |
|
| check test: gforth gforth.fi |
check test: gforth$(EXE) gforth.fi |
| $(FORTH) test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs -e bye |
$(FORTH) test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs -e bye |
| $(FORTH) test/other.fs -e bye |
$(FORTH) test/other.fs -e bye |
| $(FORTH) code.fs test/checkans.fs -e bye |
$(FORTH) code.fs test/checkans.fs -e bye |
| @echo 'Expect no differences' |
@echo 'Expect no differences' |
| $(FORTHK) -m 100000 prims2x.fs -e "s\" $(srcdir)/prim.b\"' output-c process-file bye"| diff -c - $(srcdir)/engine/prim.i |
$(FORTHK) -m 100000 prims2x.fs -e "s\" $(srcdir)/prim.b\"' output-c process-file bye"| diff -c - $(srcdir)/engine/prim.i |
| |
|
| bench: gforth gforth.fi |
bench: gforth$(EXE) gforth.fi |
| @echo 'Each benchmark takes about 30s on a 486-66 (gcc-2.6.3 -DFORCE_REG)' |
@echo 'Each benchmark takes about 30s on a 486-66 (gcc-2.6.3 -DFORCE_REG)' |
| time $(FORTH) siev.fs -e "main bye" |
time $(FORTH) siev.fs -e "main bye" |
| time $(FORTH) bubble.fs -e "main bye" |
time $(FORTH) bubble.fs -e "main bye" |
| # -$(CP) $@ $@~ |
# -$(CP) $@ $@~ |
| # -$(CP) $< $@ |
# -$(CP) $< $@ |
| |
|
| gforth.fi: $(kernel_fi) gforthmi gforth gforth-ditc $(GFORTH_FI_SRC) |
gforth.fi: $(kernel_fi) gforthmi gforth$(EXE) gforth-ditc$(EXE) $(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 |
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 |
# ------------- Make c-engine |
| $(CP) $@- $@ |
$(CP) $@- $@ |
| $(RM) $@- |
$(RM) $@- |
| |
|
| gforth: FORCE |
gforth$(EXE): FORCE |
| -$(CP) gforth gforth~ |
-$(CP) gforth$(EXE) gforth~ |
| cd engine && $(MAKE) gforth |
cd engine && $(MAKE) gforth$(EXE) |
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| @GFORTH_EXE@ |
@GFORTH_EXE@ |
| |
|
| gforth-ditc: FORCE |
gforth-ditc$(EXE): FORCE |
| cd engine && $(MAKE) gforth-ditc |
cd engine && $(MAKE) gforth-ditc$(EXE) |
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| @GFORTHDITC_EXE@ |
@GFORTHDITC_EXE@ |
| |
|
| CONFIG_FILES=$@ CONFIG_HEADERS=engine/config.h ./config.status |
CONFIG_FILES=$@ CONFIG_HEADERS=engine/config.h ./config.status |
| echo timestamp > stamp-h |
echo timestamp > stamp-h |
| |
|
| Makefile: Makefile.in config.status |
Makefile: Makefile.in engine/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_FILES="$@ engine/$@" CONFIG_HEADERS=engine/config.h ./config.status |
| |
|
| config.status: configure |
config.status: configure |