version 1.234, 2002/12/21 09:42:58
|
version 1.241, 2003/01/03 17:28:12
|
Line 30
|
Line 30
|
|
|
# ------------- gforth version |
# ------------- gforth version |
|
|
VERSION = @VERSION@ |
VERSION = @PACKAGE_VERSION@ |
DOSVERSION=`echo $(VERSION)|sed 's/\.//g'|sed 's/-.*//g'` |
DOSVERSION=`echo $(VERSION)|sed 's/\.//g'|sed 's/-.*//g'` |
|
|
# ------------- System specific variables |
# ------------- System specific variables |
Line 170 KERN_SRC = \
|
Line 170 KERN_SRC = \
|
kernel/saccept.fs \ |
kernel/saccept.fs \ |
kernel/doers.fs \ |
kernel/doers.fs \ |
kernel/getdoers.fs \ |
kernel/getdoers.fs \ |
kernel/pass.fs |
kernel/pass.fs \ |
|
kernel/groups.fs |
|
|
EC_SRC = \ |
EC_SRC = \ |
asm/README \ |
asm/README \ |
Line 192 GFORTH_FI_SRC = \
|
Line 193 GFORTH_FI_SRC = \
|
blocked.fb \ |
blocked.fb \ |
blocks.fs \ |
blocks.fs \ |
bufio.fs \ |
bufio.fs \ |
|
code.fs \ |
debug.fs \ |
debug.fs \ |
debugs.fs \ |
debugs.fs \ |
ekey.fs \ |
ekey.fs \ |
Line 228 GFORTH_FI_SRC = \
|
Line 230 GFORTH_FI_SRC = \
|
|
|
FORTH_SRC = $(KERN_SRC) $(GFORTH_FI_SRC) $(EC_SRC) \ |
FORTH_SRC = $(KERN_SRC) $(GFORTH_FI_SRC) $(EC_SRC) \ |
ans-report.fs ansi.fs answords.fs \ |
ans-report.fs ansi.fs answords.fs \ |
code.fs colorize.fs comp-i.fs \ |
colorize.fs comp-i.fs \ |
doskey.fs ds2texi.fs \ |
doskey.fs ds2texi.fs \ |
envos.fs envos.dos envos.os2 etags.fs filedump.fs fi2c.fs \ |
envos.fs envos.dos envos.os2 etags.fs filedump.fs fi2c.fs \ |
glosgen.fs gray.fs httpd.fs proxy.fs \ |
glosgen.fs gray.fs httpd.fs proxy.fs \ |
Line 333 VMGEN_EX2 = $(VMGEN_EX:vmgen-ex/%=vmgen-
|
Line 335 VMGEN_EX2 = $(VMGEN_EX:vmgen-ex/%=vmgen-
|
SOURCES = $(CVSDIRS) compat Makefile.in Makedist.in engine/Makefile.in \ |
SOURCES = $(CVSDIRS) compat Makefile.in Makedist.in engine/Makefile.in \ |
gforthmi.in vmgen.in README.vmgen NEWS.vmgen \ |
gforthmi.in vmgen.in README.vmgen NEWS.vmgen \ |
configure.in configure config.sub config.guess elisp-comp missing \ |
configure.in configure config.sub config.guess elisp-comp missing \ |
acconfig.h acinclude.m4 engine/config.h.in stamp-h.in \ |
engine/config.h.in stamp-h.in \ |
iss.sh install-sh INSTALL INSTALL.BINDIST NEWS README ToDo BUGS model \ |
iss.sh install-sh INSTALL INSTALL.BINDIST NEWS README ToDo BUGS model \ |
COPYING COPYING.DOC AUTHORS ChangeLog Benchres aclocal.m4 \ |
COPYING COPYING.DOC AUTHORS ChangeLog Benchres aclocal.m4 \ |
doc/gforth.ds doc/texinfo.tex doc/gforth.1 doc/version.texi.in \ |
doc/gforth.ds doc/texinfo.tex doc/gforth.1 doc/version.texi.in \ |
doc/vmgen.texi doc/fdl.texi \ |
doc/vmgen.texi doc/fdl.texi \ |
gforth.el \ |
gforth.el \ |
prim peeprules.vmg engine/engine.c engine/main.c \ |
prim peeprules.vmg engine/engine.c engine/main.c \ |
engine/io.c engine/memcmpc.c engine/signals.c $(ARCHS) \ |
engine/io.c engine/support.c engine/memcmpc.c engine/signals.c \ |
|
$(ARCHS) \ |
engine/peephole.c engine/profile.c \ |
engine/peephole.c engine/profile.c \ |
engine/getopt.c engine/getopt1.c engine/getopt.h engine/select.c \ |
engine/getopt.c engine/getopt1.c engine/getopt.h engine/select.c \ |
engine/ecvt.c engine/memcmp.c engine/strtol.c engine/strtoul.c \ |
engine/ecvt.c engine/memcmp.c engine/strtol.c engine/strtoul.c \ |
Line 359 SOURCES = $(CVSDIRS) compat Makefile.in
|
Line 362 SOURCES = $(CVSDIRS) compat Makefile.in
|
|
|
RCS_FILES = ToDo model high-level |
RCS_FILES = ToDo model high-level |
|
|
GEN = gforth$(EXE) gforth-ditc$(EXE) gforth-fast$(EXE) gforth-native$(EXE) gforth-itc$(EXE) gforth-prof$(EXE) kernel/version.fs |
GEN = gforth$(EXE) gforth-ditc$(EXE) gforth-fast$(EXE) gforth-itc$(EXE) kernel/version.fs |
|
#gforth-native$(EXE) gforth-prof$(EXE) |
|
|
# things that need a working forth system to be generated |
# things that need a working forth system to be generated |
FORTH_GEN_ENGINE=engine/prim.i engine/prim_lab.i engine/prim_names.i \ |
FORTH_GEN_ENGINE=engine/prim.i engine/prim_lab.i engine/prim_names.i \ |
engine/prim_superend.i engine/peephole.i engine/profile.i \ |
engine/prim_superend.i engine/peephole.i engine/profile.i \ |
engine/prim_num.i |
engine/prim_num.i engine/prim_grp.i |
FORTH_GEN0 = prim.b $(FORTH_GEN_ENGINE) kernel/aliases.fs kernel/prim.fs |
FORTH_GEN0 = prim.b $(FORTH_GEN_ENGINE) kernel/aliases.fs kernel/prim.fs kernel/groups.fs |
FORTH_GEN = $(FORTH_GEN0) @KERNEL@ gforth.fi |
FORTH_GEN = $(FORTH_GEN0) @KERNEL@ gforth.fi |
# this is used for antidependences, |
# this is used for antidependences, |
FORTH_GEN1 = $(FORTH_GEN0) @kernel_fi@ |
FORTH_GEN1 = $(FORTH_GEN0) @kernel_fi@ |
Line 552 check: gforths gforth.fi
|
Line 556 check: gforths gforth.fi
|
make checkone ENGINE="./gforth-fast --no-dynamic" &>/dev/null |
make checkone ENGINE="./gforth-fast --no-dynamic" &>/dev/null |
make checkone ENGINE="./gforth" &>/dev/null |
make checkone ENGINE="./gforth" &>/dev/null |
make checkone ENGINE="./gforth-fast" &>/dev/null |
make checkone ENGINE="./gforth-fast" &>/dev/null |
|
@echo "*** Check successful ***" |
|
|
checkone test: gforth$(EXE) gforth.fi |
checkone test: gforth$(EXE) gforth.fi |
$(FORTH) test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs test/string.fs test/float.fs -e bye | diff -c - $(srcdir)/test/coretest.out |
$(FORTH) test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs test/string.fs test/float.fs -e bye | diff -c - $(srcdir)/test/coretest.out |
Line 569 bench: gforth-fast$(EXE) gforth.fi
|
Line 574 bench: gforth-fast$(EXE) gforth.fi
|
time $(FORTH_FAST) matrix.fs -e "main bye" |
time $(FORTH_FAST) matrix.fs -e "main bye" |
time $(FORTH_FAST) fib.fs -e "main bye" |
time $(FORTH_FAST) fib.fs -e "main bye" |
|
|
|
onebench: |
|
@\time -f "siev %U" $(FORTH_FAST) siev.fs -e "main bye" |
|
@\time -f "bubble %U" $(FORTH_FAST) -e "warnings off" bubble.fs -e "main bye" |
|
@\time -f "matrix %U" $(FORTH_FAST) matrix.fs -e "main bye" |
|
@\time -f "fib %U" $(FORTH_FAST) fib.fs -e "main bye" |
|
|
|
all-bench: gforth-fast$(EXE) gforth$(EXE) gforth-itc$(EXE) gforth-ditc$(EXE) gforth.fi |
|
@echo "*** gforth-fast dynamic:" |
|
@make onebench ENGINE_FAST="gforth-fast --dynamic" |
|
@echo "*** gforth-fast not dynamic:" |
|
@make onebench ENGINE_FAST="gforth-fast --no-dynamic" |
|
@echo "*** gforth dynamic:" |
|
@make onebench ENGINE_FAST="gforth --dynamic" |
|
@echo "*** gforth not dynamic:" |
|
@make onebench ENGINE_FAST="gforth --no-dynamic" |
|
@echo "*** gforth-itc:" |
|
@make onebench ENGINE_FAST=gforth-itc |
|
@echo "*** gforth-ditc:" |
|
@make onebench ENGINE_FAST=gforth-ditc |
|
|
# ------------- Make forth images |
# ------------- Make forth images |
|
|
# How to make new images: |
# How to make new images: |
Line 597 kernl64l.fi-: $(KERN_DEPS) mach64l.fs
|
Line 622 kernl64l.fi-: $(KERN_DEPS) mach64l.fs
|
kernl64b.fi-: $(KERN_DEPS) mach64b.fs |
kernl64b.fi-: $(KERN_DEPS) mach64b.fs |
$(FORTHB) -e 's" mach64b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl64b.fi- $(bindir)/gforth-$(VERSION) bye" |
$(FORTHB) -e 's" mach64b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl64b.fi- $(bindir)/gforth-$(VERSION) bye" |
|
|
kernl-%.fi: arch/%/mach.fs $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) |
kernl-%.fi: arch/%/mach.fs arch/%/prim.fs arch/%/asm.fs $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) |
$(FORTHB) -e 's" $<"' $(srcdir)/kernel/main.fs -e "save-cross $@- $(bindir)/gforth-$(VERSION) bye" |
$(FORTHB) -e 's" $<"' $(srcdir)/kernel/main.fs -e "save-cross $@- $(bindir)/gforth-$(VERSION) bye" |
if [ -f `echo $< | sed s/fs/sh/` ]; \ |
if [ -f `echo $< | sed s/fs/sh/` ]; \ |
then sh `echo $< | sed s/fs/sh/` $@; \ |
then sh `echo $< | sed s/fs/sh/` $@; \ |
Line 653 engine/prim_lab.i: prim.b prims2x.fs
|
Line 678 engine/prim_lab.i: prim.b prims2x.fs
|
$(CP) $@- $@ |
$(CP) $@- $@ |
$(RM) $@- |
$(RM) $@- |
|
|
|
engine/prim_grp.i: prim.b prims2x.fs |
|
$(FORTHP) prims2x.fs -e "c-flag on s\" prim.b\" ' noop dup process-file bye" >$@- |
|
$(CP) $@- $@ |
|
$(RM) $@- |
|
|
engine/prim_names.i: prim.b prims2x.fs |
engine/prim_names.i: prim.b prims2x.fs |
$(FORTHP) prims2x.fs -e "c-flag on s\" prim.b\" ' output-forthname dup process-file bye" >$@- |
$(FORTHP) prims2x.fs -e "c-flag on s\" prim.b\" ' output-forthname dup process-file bye" >$@- |
$(CP) $@- $@ |
$(CP) $@- $@ |
Line 690 kernel/prim.fs: prim.b prims2x.fs kernel
|
Line 720 kernel/prim.fs: prim.b prims2x.fs kernel
|
$(CP) $@- $@ |
$(CP) $@- $@ |
$(RM) $@- |
$(RM) $@- |
|
|
|
kernel/groups.fs: engine/prim_grp.i |
|
grep GROUP $< | cut -f2 -d, | sed -e 's/)/ ,/g' >$@ |
|
|
engine/prim_num.i: prim.b prims2x.fs |
engine/prim_num.i: prim.b prims2x.fs |
$(FORTHP) prims2x.fs -e "c-flag on s\" prim.b\" ' output-c-prim-num ' noop process-file bye" >$@ |
$(FORTHP) prims2x.fs -e "c-flag on s\" prim.b\" ' output-c-prim-num ' noop process-file bye" >$@ |
|
|
Line 717 gforth-ditc$(EXE): engines
|
Line 750 gforth-ditc$(EXE): engines
|
gforth-prof$(EXE): engines |
gforth-prof$(EXE): engines |
$(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
|
|
gforths: gforth$(EXE) gforth-fast$(EXE) gforth-native$(EXE) gforth-itc$(EXE) gforth-ditc$(EXE) gforth-prof$(EXE) |
gforths: gforth$(EXE) gforth-fast$(EXE) gforth-itc$(EXE) gforth-ditc$(EXE) #gforth-prof$(EXE) gforth-native$(EXE) |
|
|
engines: FORCE $(FORTH_GEN_ENGINE) engine/Makefile |
engines: FORCE $(FORTH_GEN_ENGINE) engine/Makefile |
cd engine && $(MAKE) gforth$(EXE) gforth-fast$(EXE) gforth-native$(EXE) gforth-itc$(EXE) gforth-ditc$(EXE) gforth-prof$(EXE) |
cd engine && $(MAKE) gforth$(EXE) gforth-fast$(EXE) gforth-itc$(EXE) gforth-ditc$(EXE) #gforth-prof$(EXE) gforth-native$(EXE) |
|
|
# ------------- additional C primitives |
# ------------- additional C primitives |
|
|
Line 833 doc: info doc/gforth doc/vmgen doc/gfor
|
Line 866 doc: info doc/gforth doc/vmgen doc/gfor
|
|
|
#Note: no target "$(srcdir)/configure", because that does not trigger |
#Note: no target "$(srcdir)/configure", because that does not trigger |
#unless $(srcdir)!="." |
#unless $(srcdir)!="." |
configure: configure.in aclocal.m4 |
configure: configure.in aclocal.m4 |
cd $(srcdir) && autoconf |
cd $(srcdir) && autoconf |
|
|
aclocal.m4: acinclude.m4 configure.in |
aclocal.m4: configure.in |
aclocal |
aclocal |
|
|
# autoheader might not change config.h.in, so touch a stamp file. |
# autoheader might not change config.h.in, so touch a stamp file. |
engine/config.h.in: stamp-h.in |
engine/config.h.in: stamp-h.in |
stamp-h.in: configure.in acconfig.h |
stamp-h.in: configure.in aclocal.m4 |
cd $(srcdir) && autoheader |
cd $(srcdir) && autoheader |
echo timestamp > $(srcdir)/stamp-h.in |
echo timestamp > $(srcdir)/stamp-h.in |
|
|
engine/config.h: stamp-h |
engine/config.h: stamp-h |
stamp-h: engine/config.h.in config.status |
stamp-h: engine/config.h.in config.status |
CONFIG_FILES=$@ CONFIG_HEADERS="engine/config.h" ./config.status |
./config.status |
echo timestamp > stamp-h |
|
|
|
Makefile Makedist engine/Makefile gforthmi vmgen machpc.fs doc/version.texi: Makefile.in Makedist.in engine/Makefile.in gforthmi.in vmgen.in machpc.fs.in doc/version.texi.in config.status configure.in |
Makedist engine/Makefile gforthmi vmgen machpc.fs doc/version.texi: Makefile.in Makedist.in engine/Makefile.in gforthmi.in vmgen.in machpc.fs.in doc/version.texi.in config.status configure.in |
CONFIG_FILES="$@" CONFIG_HEADERS="engine/config.h" ./config.status |
./config.status |
|
|
config.status: configure |
config.status: configure |
./config.status --recheck |
./config.status --recheck |
|
|
|
|
#create files for DOS, because DOS cannot do it itself |
#create files for DOS, because DOS cannot do it itself |