| FORTHSIZES = @FORTHSIZES@ |
FORTHSIZES = @FORTHSIZES@ |
| FORTHS_ARGS = -p "$(FORTHPATH)$(PATHSEP)$(srcdir)" |
FORTHS_ARGS = -p "$(FORTHPATH)$(PATHSEP)$(srcdir)" |
| FORTH_ARGS = --die-on-signal $(FORTHS_ARGS) |
FORTH_ARGS = --die-on-signal $(FORTHS_ARGS) |
| ENGINE = ./gforth |
ENGINE = ./gforth$(OPT) |
| FORTH = $(ENGINE) $(FORTH_ARGS) |
FORTH = $(ENGINE) $(FORTH_ARGS) |
| FORTHS = $(ENGINE) $(FORTHS_ARGS) |
FORTHS = $(ENGINE) $(FORTHS_ARGS) |
| # the (existing) forth system to use for cross compiling and primitives tables |
# the (existing) forth system to use for cross compiling and primitives tables |
| FORTHB = $(BUILDFORTH) exboot.fs -e 'fpath= .|~+|$(srcdir)' |
FORTHB = $(BUILDFORTH) exboot.fs -e 'fpath= .|~+|$(srcdir)' |
| # the Forth system for running prims2x.fs |
# the Forth system for running prims2x.fs |
| FORTHP = $(FORTH) |
FORTHP = $(FORTH) |
| ENGINE_FAST = $(ENGINE)-fast |
ENGINE_FAST = ./gforth-fast$(OPT) |
| FORTH_FAST = $(ENGINE_FAST) $(FORTH_ARGS) |
FORTH_FAST = $(ENGINE_FAST) $(FORTH_ARGS) |
| FORTHKFLAGS= --die-on-signal -p ".$(PATHSEP)~+$(PATHSEP)$(srcdir)" -i $(kernel_fi) |
FORTHKFLAGS= --die-on-signal -p ".$(PATHSEP)~+$(PATHSEP)$(srcdir)" -i $(kernel_fi) |
| FORTHK = $(ENGINE) $(FORTHKFLAGS) |
FORTHK = $(ENGINE) $(FORTHKFLAGS) |
| |
|
| XCFLAGS = @CFLAGS@ |
XCFLAGS = @CFLAGS@ |
| XDEFINES = @DEFS@ |
XDEFINES = @DEFS@ |
| SWITCHES = $(XCFLAGS) $(XDEFINES) #-DNDEBUG #turn off assertions |
SWITCHES = $(XCFLAGS) $(XDEFINES) $(OPTDEFINES) #-DNDEBUG #turn off assertions |
| ENGINE_FLAGS = @ENGINE_FLAGS@ -fno-defer-pop -fcaller-saves |
ENGINE_FLAGS = @ENGINE_FLAGS@ -fno-defer-pop -fcaller-saves |
| DEBUGFLAG = @DEBUGFLAG@ |
DEBUGFLAG = @DEBUGFLAG@ |
| CFLAGS = $(DEBUGFLAG) -I$(srcdir)/engine -I$(srcdir)/arch/$(machine) -O3 -Wall $(SWITCHES) -DDEFAULTPATH='"$(FORTHPATH)"' |
CFLAGS = $(DEBUGFLAG) -I$(srcdir)/engine -I$(srcdir)/arch/$(machine) -O3 -Wall $(SWITCHES) -DDEFAULTPATH='"$(FORTHPATH)"' |
| LDFLAGS = $(DEBUGFLAG) $(XLDFLAGS) |
LDFLAGS = $(DEBUGFLAG) $(XLDFLAGS) |
| LDLIBS = @LIBS@ |
LDLIBS = @LIBS@ |
| |
|
| |
STACK_CACHE_REGS = @STACK_CACHE_REGS@ |
| STACK_CACHE_DEFAULT_FAST = @STACK_CACHE_DEFAULT_FAST@ |
STACK_CACHE_DEFAULT_FAST = @STACK_CACHE_DEFAULT_FAST@ |
| |
|
| # ------------ Install Directories |
# ------------ Install Directories |
| |
|
| RCS_FILES = ToDo model high-level |
RCS_FILES = ToDo model high-level |
| |
|
| ENGINES = gforth$(EC)$(EXE) gforth-ditc$(EC)$(EXE) gforth-itc$(EC)$(EXE) $(PROFEXES) |
ENGINES = gforth$(OPT)$(EC)$(EXE) gforth-ditc$(OPT)$(EC)$(EXE) gforth-itc$(OPT)$(EC)$(EXE) $(PROFEXES) |
| |
|
| |
ENGINES_FAST = gforth-fast$(OPT)$(EC)$(EXE) #gforth-native$(EXE) |
| |
|
| |
#names of engines without $(OPT) etc. |
| |
ENGINES_BASE = gforth gforth-ditc gforth-itc gforth-fast |
| |
# !! should include PROFEXES |
| |
|
| ENGINES_FAST = gforth-fast$(EC)$(EXE) #gforth-native$(EXE) |
|
| |
|
| GEN = $(ENGINES) $(ENGINES_FAST) kernel/version.fs gforth.elc |
GEN = $(ENGINES) $(ENGINES_FAST) kernel/version.fs gforth.elc |
| |
|
| FORTH_GEN1 = $(FORTH_GEN0) @kernel_fi@ build-ec |
FORTH_GEN1 = $(FORTH_GEN0) @kernel_fi@ build-ec |
| |
|
| #kernel dependencies |
#kernel dependencies |
| KERN_DEPS = $(KERN_SRC) kernel/version.fs machpc.fs $(FORTH_GEN0) compat/strcomp.fs gforth$(EXE) |
KERN_DEPS = $(KERN_SRC) kernel/version.fs machpc.fs $(FORTH_GEN0) compat/strcomp.fs gforth$(OPT)$(EXE) |
| |
|
| #distributed documentation |
#distributed documentation |
| DOCDIST = doc/gforth.info doc/gforth.info-* doc/gforth.ps \ |
DOCDIST = doc/gforth.info doc/gforth.info-* doc/gforth.ps \ |
| .SUFFIXES: |
.SUFFIXES: |
| .SUFFIXES: .c .o |
.SUFFIXES: .c .o |
| |
|
| |
OPTS = @OPTS@ |
| |
|
| |
MAKELINE-ll = OPT=-ll OPTDEFINES=-DFORCE_LL OPTOBJECTS= |
| |
MAKELINE-noll = OPT=-noll OPTDEFINES= OPTOBJECTS=dblsub.o |
| |
|
| |
all: |
| |
if test -z "$(OPT)"; then \ |
| |
for i in $(OPTS); do make optall OPT=$$i && break; done \ |
| |
else \ |
| |
make allbut1; \ |
| |
fi |
| |
|
| |
allbut1: kernel/version.fs more |
| |
|
| |
optall: |
| |
make $(MAKELINE$(OPT)) |
| |
|
| all: kernel/version.fs more |
|
| |
|
| # use this dependency for phony targets just as mostlyclean,... |
# use this dependency for phony targets just as mostlyclean,... |
| FORCE: ; |
FORCE: ; |
| more: engines $(FORTH_GEN) $(GEN) |
more: engines $(FORTH_GEN) $(GEN) |
| @make check |
@make check |
| @$(FORTH_FAST) --diag -e bye |
@$(FORTH_FAST) --diag -e bye |
| |
test -z "$(OPT)" || for i in $(ENGINES_BASE); do $(CP) $${i}$(OPT)$(EC)$(EXE) $${i}$(EC)$(EXE); done |
| |
|
| #from the gcc Makefile: |
#from the gcc Makefile: |
| #"Deletion of files made during compilation. |
#"Deletion of files made during compilation. |
| |
|
| clean: mostlyclean |
clean: mostlyclean |
| -$(RM) -rf $(GEN) *.o engine/*.o arch/*/*.o version \ |
-$(RM) -rf $(GEN) *.o engine/*.o arch/*/*.o version \ |
| engine/gforth$(EC)$(EXE) engine/gforth-fast$(EC)$(EXE) \ |
engine/gforth$(OPT)$(EC)$(EXE) engine/gforth-fast$(OPT)$(EC)$(EXE) \ |
| engine/gforth-native$(EC)$(EXE) engine/gforth-itc$(EC)$(EXE) \ |
engine/gforth-native$(OPT)$(EC)$(EXE) engine/gforth-itc$(OPT)$(EC)$(EXE) \ |
| engine/gforth-ditc$(EC)$(EXE) engine/gforth-prof$(EC)$(EXE) \ |
engine/gforth-ditc$(OPT)$(EC)$(EXE) engine/gforth-prof$(OPT)$(EC)$(EXE) \ |
| engine/prim-s.i |
engine/prim-s.i |
| |
|
| distclean: clean |
distclean: clean |
| echo ">>>>>Please install gforth.elc in your .../emacs/site-lisp directory"; \ |
echo ">>>>>Please install gforth.elc in your .../emacs/site-lisp directory"; \ |
| fi |
fi |
| -$(RM) gforth.fi |
-$(RM) gforth.fi |
| GFORTHD="./gforth-ditc -p $(DESTDIR)$(libdir)/gforth/site-forth$(PATHSEP)$(DESTDIR)$(siteforthdir)$(PATHSEP)$(DESTDIR)$(datadir)/gforth/$(VERSION) -i $(kernel_fi)" GFORTH="./gforth-ditc --die-on-signal -i $(kernel_fi) $(STARTUP)" includedir=$(includedir) bindir=$bindir GFORTHPATH=.:"$$GFORTHPATH" GFORTHDESTDIR="$(DESTDIR)" ./gforthmi gforth.fi $(FORTHSIZES) $(STARTUP) |
GFORTHD="./gforth-ditc$(OPT) -p $(DESTDIR)$(libdir)/gforth/site-forth$(PATHSEP)$(DESTDIR)$(siteforthdir)$(PATHSEP)$(DESTDIR)$(datadir)/gforth/$(VERSION) -i $(kernel_fi)" GFORTH="./gforth-ditc$(OPT) --die-on-signal -i $(kernel_fi) $(STARTUP)" includedir=$(includedir) bindir=$bindir GFORTHPATH=.:"$$GFORTHPATH" GFORTHDESTDIR="$(DESTDIR)" ./gforthmi gforth.fi $(FORTHSIZES) $(STARTUP) |
| $(INSTALL_DATA) gforth.fi $(DESTDIR)$(libdir)/gforth/$(VERSION) |
$(INSTALL_DATA) gforth.fi $(DESTDIR)$(libdir)/gforth/$(VERSION) |
| $(INSTALL_DATA) install.TAGS $(DESTDIR)$(datadir)/gforth/$(VERSION)/TAGS |
$(INSTALL_DATA) install.TAGS $(DESTDIR)$(datadir)/gforth/$(VERSION)/TAGS |
| $(RM) gforth.fi install.TAGS |
$(RM) gforth.fi install.TAGS |
| @echo -e "To remove Gforth completely, type\n$(RM) -rf $(DESTDIR)$(bindir)/gforth$(EC)$(EXE) $(DESTDIR)$(bindir)/gforth-fast$(EC)$(EXE) $(DESTDIR)$(bindir)/gforth-itc$(EC)$(EXE) $(DESTDIR)$(bindir)/gforthmi $(DESTDIR)$(bindir)/vmgen $(DESTDIR)$(man1dir)/gforth.1 $(DESTDIR)$(infodir)/gforth.info* $(DESTDIR)$(datadir)/gforth $(DESTDIR)$(libdir)/gforth" |
@echo -e "To remove Gforth completely, type\n$(RM) -rf $(DESTDIR)$(bindir)/gforth$(EC)$(EXE) $(DESTDIR)$(bindir)/gforth-fast$(EC)$(EXE) $(DESTDIR)$(bindir)/gforth-itc$(EC)$(EXE) $(DESTDIR)$(bindir)/gforthmi $(DESTDIR)$(bindir)/vmgen $(DESTDIR)$(man1dir)/gforth.1 $(DESTDIR)$(infodir)/gforth.info* $(DESTDIR)$(datadir)/gforth $(DESTDIR)$(libdir)/gforth" |
| |
|
| check: gforths gforth.fi |
check: gforths gforth.fi |
| $(MAKE) checkone check-nofast ENGINE="./gforth --no-dynamic" >/dev/null 2>&1 |
$(MAKE) checkone check-nofast ENGINE="./gforth$(OPT) --no-dynamic" >/dev/null 2>&1 |
| $(MAKE) checkone check-nofast ENGINE="./gforth-itc" >/dev/null 2>&1 |
$(MAKE) checkone check-nofast ENGINE="./gforth-itc$(OPT)" >/dev/null 2>&1 |
| $(MAKE) checkone check-nofast ENGINE="./gforth-ditc" >/dev/null 2>&1 |
$(MAKE) checkone check-nofast ENGINE="./gforth-ditc$(OPT)" >/dev/null 2>&1 |
| $(MAKE) checkone ENGINE="./gforth-fast --no-dynamic" >/dev/null 2>&1 |
$(MAKE) checkone ENGINE="./gforth-fast$(OPT) --no-dynamic" >/dev/null 2>&1 |
| $(MAKE) checkone check-nofast ENGINE="./gforth" >/dev/null 2>&1 |
$(MAKE) checkone check-nofast ENGINE="./gforth$(OPT)" >/dev/null 2>&1 |
| $(MAKE) checkone ENGINE="./gforth-fast" >/dev/null 2>&1 |
$(MAKE) checkone ENGINE="./gforth-fast$(OPT)" >/dev/null 2>&1 |
| @echo "*** Check successful ***" |
@echo "*** Check successful ***" |
| |
|
| checkone test: gforth$(EC)$(EXE) gforth.fi engine/prim-s.i |
checkone test: gforth$(OPT)$(EC)$(EXE) 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 |
$(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 |
| $(FORTH) test/other.fs -e bye |
$(FORTH) test/other.fs -e bye |
| $(FORTHS) test/signals.fs -e bye |
$(FORTHS) test/signals.fs -e bye |
| "c-flag on s\" prim.i\" out-filename 2! s\" $(srcdir)/prim.b\" ' output-c ' output-c-combined process-file bye"| \ |
"c-flag on s\" prim.i\" out-filename 2! s\" $(srcdir)/prim.b\" ' output-c ' output-c-combined process-file bye"| \ |
| tr -d '\015' | grep -v '^#line '|diff -c - engine/prim-s.i |
tr -d '\015' | grep -v '^#line '|diff -c - engine/prim-s.i |
| |
|
| check-nofast: gforth$(EC)$(EXE) gforth.fi |
check-nofast: gforth$(OPT)$(EC)$(EXE) gforth.fi |
| $(FORTHS) test/gforth-nofast.fs -e bye |
$(FORTHS) test/gforth-nofast.fs -e bye |
| |
|
| test/primtest.fi: test/primtest.fs mach32l.fs cross.fs |
test/primtest.fi: test/primtest.fs mach32l.fs cross.fs |
| primtest: gforth gforth-native test/primtest.fi FORCE |
primtest: gforth gforth-native test/primtest.fi FORCE |
| (echo rs|ENVVAR=bla ./gforth -i test/primtest.fi) && (echo rs|ENVVAR=bla ./gforth-native -i test/primtest.fi); echo $$? |
(echo rs|ENVVAR=bla ./gforth -i test/primtest.fi) && (echo rs|ENVVAR=bla ./gforth-native -i test/primtest.fi); echo $$? |
| |
|
| bench: gforth-fast$(EC)$(EXE) gforth.fi |
bench: gforth-fast$(OPT)$(EC)$(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_FAST) siev.fs -e "main bye" |
time $(FORTH_FAST) siev.fs -e "main bye" |
| time $(FORTH_FAST) bubble.fs -e "main bye" |
time $(FORTH_FAST) bubble.fs -e "main bye" |
| onebench one-bench: |
onebench one-bench: |
| $(FORTH_FAST) onebench.fs |
$(FORTH_FAST) onebench.fs |
| |
|
| all-bench allbench: gforth-fast$(EC)$(EXE) gforth$(EC)$(EXE) gforth-itc$(EC)$(EXE) gforth-ditc$(EC)$(EXE) gforth.fi |
all-bench allbench: gforth-fast$(OPT)$(EC)$(EXE) gforth$(OPT)$(EC)$(EXE) gforth-itc$(OPT)$(EC)$(EXE) gforth-ditc$(OPT)$(EC)$(EXE) gforth.fi |
| ./gforth-fast --dynamic onebench.fs |
./gforth-fast --dynamic onebench.fs |
| ./gforth-fast --no-dynamic onebench.fs |
./gforth-fast --no-dynamic onebench.fs |
| ./gforth --dynamic onebench.fs |
./gforth --dynamic onebench.fs |
| # -$(CP) $@ $@~ |
# -$(CP) $@ $@~ |
| # -$(CP) $< $@ |
# -$(CP) $< $@ |
| |
|
| gforth.fi: $(kernel_fi) gforthmi gforth$(EC)$(EXE) gforth-ditc$(EC)$(EXE) $(GFORTH_FI_SRC) comp-i.fs |
gforth.fi: $(kernel_fi) gforthmi gforth$(OPT)$(EC)$(EXE) gforth-ditc$(OPT)$(EC)$(EXE) $(GFORTH_FI_SRC) comp-i.fs |
| GFORTHD="./gforth-ditc -p .$(PATHSEP)$(srcdir)" GFORTH="./gforth-ditc --die-on-signal -p .$(PATHSEP)$(srcdir) -i $(kernel_fi) $(STARTUP)" includedir=`pwd`/include bindir=`pwd` ./gforthmi gforth.fi $(FORTHSIZES) $(FORTHKFLAGS) $(STARTUP) |
GFORTHD="./gforth-ditc$(OPT) -p .$(PATHSEP)$(srcdir)" GFORTH="./gforth-ditc$(OPT) --die-on-signal -p .$(PATHSEP)$(srcdir) -i $(kernel_fi) $(STARTUP)" includedir=`pwd`/include bindir=`pwd` ./gforthmi gforth.fi $(FORTHSIZES) $(FORTHKFLAGS) $(STARTUP) |
| |
|
| # ------------- Make c-engine |
# ------------- Make c-engine |
| |
|
| $(M4) -Dcondbranch_opt=0 $(srcdir)/prim >$@ |
$(M4) -Dcondbranch_opt=0 $(srcdir)/prim >$@ |
| sleep 1 #should make hpux-workaround unnecessary |
sleep 1 #should make hpux-workaround unnecessary |
| |
|
| prim-fast.b: prim cache-fast$(STACK_CACHE_DEFAULT_FAST).vmg peeprules.vmg Makefile.in |
prim-fast.b: prim cache-fast$(STACK_CACHE_DEFAULT_FAST).vmg cache-regs$(STACK_CACHE_REGS).vmg peeprules.vmg Makefile |
| $(M4) -Dcondbranch_opt=@condbranch_opt@ -DSTACK_CACHE_FILE=cache-fast$(STACK_CACHE_DEFAULT_FAST).vmg $(srcdir)/prim >$@ |
$(M4) -Dcondbranch_opt=@condbranch_opt@ -DSTACK_CACHE_FILE=cache-fast$(STACK_CACHE_DEFAULT_FAST).vmg -DSTACK_CACHE_REGS=cache-regs$(STACK_CACHE_REGS).vmg $(srcdir)/prim >$@ |
| sleep 1 #should make hpux-workaround unnecessary |
sleep 1 #should make hpux-workaround unnecessary |
| |
|
| $(FORTH_GEN_ENGINE_FAST): prim-fast.b prims2x.fs |
$(FORTH_GEN_ENGINE_FAST): prim-fast.b prims2x.fs |
| $(CP) $@- $@ |
$(CP) $@- $@ |
| $(RM) $@- |
$(RM) $@- |
| |
|
| gforth$(EC)$(EXE): engines |
gforth$(OPT)$(EC)$(EXE): engines |
| -$(CP) gforth$(EC)$(EXE) gforth~ |
-$(CP) gforth$(OPT)$(EC)$(EXE) gforth~ |
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| -$(MASSAGE_EXE) $@ |
-$(MASSAGE_EXE) $@ |
| @GFORTH_EXE@ |
@GFORTH_EXE@ |
| |
|
| gforth-fast$(EC)$(EXE): engines-fast |
gforth-fast$(OPT)$(EC)$(EXE): engines-fast |
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| -$(MASSAGE_EXE) $@ |
-$(MASSAGE_EXE) $@ |
| @GFORTHFAST_EXE@ |
@GFORTHFAST_EXE@ |
| |
|
| gforth-native$(EC)$(EXE): engines-fast |
gforth-native$(OPT)$(EC)$(EXE): engines-fast |
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| -$(MASSAGE_EXE) $@ |
-$(MASSAGE_EXE) $@ |
| #@GFORTHX_EXE@ |
#@GFORTHX_EXE@ |
| |
|
| gforth-itc$(EC)$(EXE): engines |
gforth-itc$(OPT)$(EC)$(EXE): engines |
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| @GFORTHITC_EXE@ |
@GFORTHITC_EXE@ |
| |
|
| gforth-ditc$(EC)$(EXE): engines |
gforth-ditc$(OPT)$(EC)$(EXE): engines |
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| @GFORTHDITC_EXE@ |
@GFORTHDITC_EXE@ |
| |
|
| gforth-prof$(EC)$(EXE): engines |
gforth-prof$(OPT)$(EC)$(EXE): engines |
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| |
|
| gforths: $(ENGINES) $(ENGINES_FAST) |
gforths: $(ENGINES) $(ENGINES_FAST) |
| |
|
| engines: FORCE $(FORTH_GEN_ENGINE) engine/Makefile engine/config.h |
engines: FORCE $(FORTH_GEN_ENGINE) engine/Makefile engine/config.h |
| cd engine && $(MAKE) $(ENGINES) |
cd engine && $(MAKE) $(ENGINES) \ |
| |
|
| engines-fast: FORCE $(FORTH_GEN_ENGINE_FAST) engine/Makefile engine/config.h |
engines-fast: FORCE $(FORTH_GEN_ENGINE_FAST) engine/Makefile engine/config.h |
| cd engine && $(MAKE) $(ENGINES_FAST) |
cd engine && $(MAKE) $(ENGINES_FAST) |
| install.TAGS: TAGS |
install.TAGS: TAGS |
| sed 's;^\$(srcdir)/;;' TAGS|awk 'BEGIN {RS="\014\n"; ORS=RS} {if (NR==1) print $0; else print "$(datadir)/gforth/$(VERSION)/"$$0;}' >install.TAGS |
sed 's;^\$(srcdir)/;;' TAGS|awk 'BEGIN {RS="\014\n"; ORS=RS} {if (NR==1) print $0; else print "$(datadir)/gforth/$(VERSION)/"$$0;}' >install.TAGS |
| |
|
| gforth.TAGS: @kernel_fi@ gforth$(EC)$(EXE) $(GFORTH_FI_SRC) prim.TAGS kernel.TAGS |
gforth.TAGS: @kernel_fi@ gforth$(OPT)$(EC)$(EXE) $(GFORTH_FI_SRC) prim.TAGS kernel.TAGS |
| $(FORTHK) etags.fs except.fs startup.fs -e bye |
$(FORTHK) etags.fs except.fs startup.fs -e bye |
| cat TAGS prim.TAGS kernel.TAGS >gforth.TAGS |
cat TAGS prim.TAGS kernel.TAGS >gforth.TAGS |
| rm TAGS |
rm TAGS |
| |
|
| gforth.tags: @kernel_fi@ gforth$(EC)$(EXE) $(GFORTH_FI_SRC) prim.tags kernel.tags |
gforth.tags: @kernel_fi@ gforth$(OPT)$(EC)$(EXE) $(GFORTH_FI_SRC) prim.tags kernel.tags |
| $(FORTHK) tags.fs except.fs startup.fs -e bye |
$(FORTHK) tags.fs except.fs startup.fs -e bye |
| cat tags prim.tags kernel.tags >gforth.tags |
cat tags prim.tags kernel.tags >gforth.tags |
| rm tags |
rm tags |