--- gforth/Makefile.in 2002/12/27 15:51:28 1.237 +++ gforth/Makefile.in 2003/01/20 17:07:36 1.246 @@ -170,7 +170,8 @@ KERN_SRC = \ kernel/saccept.fs \ kernel/doers.fs \ kernel/getdoers.fs \ - kernel/pass.fs + kernel/pass.fs \ + kernel/groups.fs EC_SRC = \ asm/README \ @@ -343,7 +344,7 @@ SOURCES = $(CVSDIRS) compat Makefile.in prim peeprules.vmg engine/engine.c engine/main.c \ engine/io.c engine/support.c engine/memcmpc.c engine/signals.c \ $(ARCHS) \ - engine/peephole.c engine/profile.c \ + engine/profile.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/ansidecl.h engine/memmove.c \ @@ -366,9 +367,10 @@ GEN = gforth$(EXE) gforth-ditc$(EXE) gfo # things that need a working forth system to be generated 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_num.i -FORTH_GEN0 = prim.b $(FORTH_GEN_ENGINE) kernel/aliases.fs kernel/prim.fs + engine/prim_superend.i engine/profile.i \ + engine/prim_num.i engine/prim_grp.i \ + engine/config.h +FORTH_GEN0 = prim.b $(FORTH_GEN_ENGINE) kernel/aliases.fs kernel/prim.fs kernel/groups.fs FORTH_GEN = $(FORTH_GEN0) @KERNEL@ gforth.fi # this is used for antidependences, FORTH_GEN1 = $(FORTH_GEN0) @kernel_fi@ @@ -549,12 +551,13 @@ uninstall: FORCE @echo -e "To remove Gforth completely, type\n$(RM) -rf $(bindir)/gforth$(EXE) $(bindir)/gforth-fast$(EXE) $(bindir)/gforthmi $(bindir)/vmgen $(man1dir)/gforth.1 $(infodir)/gforth.info* $(datadir)/gforth $(libdir)/gforth" check: gforths gforth.fi - make checkone ENGINE="./gforth --no-dynamic" &>/dev/null - make checkone ENGINE="./gforth-itc" &>/dev/null - make checkone ENGINE="./gforth-ditc" &>/dev/null - make checkone ENGINE="./gforth-fast --no-dynamic" &>/dev/null - make checkone ENGINE="./gforth" &>/dev/null - make checkone ENGINE="./gforth-fast" &>/dev/null + $(MAKE) checkone ENGINE="./gforth --no-dynamic" >/dev/null 2>&1 + $(MAKE) checkone ENGINE="./gforth-itc" >/dev/null 2>&1 + $(MAKE) checkone ENGINE="./gforth-ditc" >/dev/null 2>&1 + $(MAKE) checkone ENGINE="./gforth-fast --no-dynamic" >/dev/null 2>&1 + $(MAKE) checkone ENGINE="./gforth" >/dev/null 2>&1 + $(MAKE) checkone ENGINE="./gforth-fast" >/dev/null 2>&1 + @echo "*** Check successful ***" 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 @@ -572,6 +575,26 @@ bench: gforth-fast$(EXE) gforth.fi time $(FORTH_FAST) matrix.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 # How to make new images: @@ -600,7 +623,7 @@ kernl64l.fi-: $(KERN_DEPS) mach64l.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" -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" if [ -f `echo $< | sed s/fs/sh/` ]; \ then sh `echo $< | sed s/fs/sh/` $@; \ @@ -656,6 +679,11 @@ engine/prim_lab.i: prim.b prims2x.fs $(CP) $@- $@ $(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 $(FORTHP) prims2x.fs -e "c-flag on s\" prim.b\" ' output-forthname dup process-file bye" >$@- $(CP) $@- $@ @@ -693,6 +721,9 @@ kernel/prim.fs: prim.b prims2x.fs kernel $(CP) $@- $@ $(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 $(FORTHP) prims2x.fs -e "c-flag on s\" prim.b\" ' output-c-prim-num ' noop process-file bye" >$@