version 1.238, 2002/12/28 17:18:26
|
version 1.245, 2003/01/19 23:35:28
|
Line 1
|
Line 1
|
#Makefile for Gforth |
#Makefile for Gforth |
|
|
#Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. |
#Copyright (C) 1995-2003 Free Software Foundation, Inc. |
|
|
#This file is part of Gforth. |
#This file is part of Gforth. |
|
|
Line 344 SOURCES = $(CVSDIRS) compat Makefile.in
|
Line 344 SOURCES = $(CVSDIRS) compat Makefile.in
|
prim peeprules.vmg engine/engine.c engine/main.c \ |
prim peeprules.vmg engine/engine.c engine/main.c \ |
engine/io.c engine/support.c engine/memcmpc.c engine/signals.c \ |
engine/io.c engine/support.c engine/memcmpc.c engine/signals.c \ |
$(ARCHS) \ |
$(ARCHS) \ |
engine/peephole.c engine/profile.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 \ |
engine/ansidecl.h engine/memmove.c \ |
engine/ansidecl.h engine/memmove.c \ |
Line 367 GEN = gforth$(EXE) gforth-ditc$(EXE) gfo
|
Line 367 GEN = gforth$(EXE) gforth-ditc$(EXE) gfo
|
|
|
# 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/profile.i \ |
engine/prim_num.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_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, |
Line 550 uninstall: FORCE
|
Line 551 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" |
@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 |
check: gforths gforth.fi |
make checkone ENGINE="./gforth --no-dynamic" &>/dev/null |
$(MAKE) checkone ENGINE="./gforth --no-dynamic" >/dev/null 2>&1 |
make checkone ENGINE="./gforth-itc" &>/dev/null |
$(MAKE) checkone ENGINE="./gforth-itc" >/dev/null 2>&1 |
make checkone ENGINE="./gforth-ditc" &>/dev/null |
$(MAKE) checkone ENGINE="./gforth-ditc" >/dev/null 2>&1 |
make checkone ENGINE="./gforth-fast --no-dynamic" &>/dev/null |
$(MAKE) checkone ENGINE="./gforth-fast --no-dynamic" >/dev/null 2>&1 |
make checkone ENGINE="./gforth" &>/dev/null |
$(MAKE) checkone ENGINE="./gforth" >/dev/null 2>&1 |
make checkone ENGINE="./gforth-fast" &>/dev/null |
$(MAKE) checkone ENGINE="./gforth-fast" >/dev/null 2>&1 |
@echo "*** Check successful ***" |
@echo "*** Check successful ***" |
|
|
checkone test: gforth$(EXE) gforth.fi |
checkone test: gforth$(EXE) gforth.fi |
Line 574 bench: gforth-fast$(EXE) gforth.fi
|
Line 575 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 602 kernl64l.fi-: $(KERN_DEPS) mach64l.fs
|
Line 623 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 658 engine/prim_lab.i: prim.b prims2x.fs
|
Line 679 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 695 kernel/prim.fs: prim.b prims2x.fs kernel
|
Line 721 kernel/prim.fs: prim.b prims2x.fs kernel
|
$(CP) $@- $@ |
$(CP) $@- $@ |
$(RM) $@- |
$(RM) $@- |
|
|
kernel/groups.fs: engine/prim_lab.i |
kernel/groups.fs: engine/prim_grp.i |
grep GROUP $< | cut -f2 -d, | sed -e 's/)/ ,/g' >$@ |
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 |