version 1.179, 2000/07/14 08:55:15
|
version 1.189, 2000/09/23 15:46:50
|
Line 1
|
Line 1
|
#Makefile for Gforth |
#Makefile for Gforth |
|
|
#Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. |
#Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. |
|
|
#This file is part of Gforth. |
#This file is part of Gforth. |
|
|
Line 16
|
Line 16
|
|
|
#You should have received a copy of the GNU General Public License |
#You should have received a copy of the GNU General Public License |
#along with this program; if not, write to the Free Software |
#along with this program; if not, write to the Free Software |
#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
|
# To change the values of `make' variables: instead of editing Makefiles, |
# To change the values of `make' variables: instead of editing Makefiles, |
# (1) if the variable is set in `config.status', edit `config.status' |
# (1) if the variable is set in `config.status', edit `config.status' |
Line 31
|
Line 31
|
# ------------- gforth version |
# ------------- gforth version |
|
|
VERSION = @VERSION@ |
VERSION = @VERSION@ |
DOSVERSION=`echo $(VERSION)|sed 's/\.//g'` |
DOSVERSION=`echo $(VERSION)|sed 's/\.//g'|sed 's/-.*//g'` |
|
|
# ------------- System specific variables |
# ------------- System specific variables |
|
|
Line 62 INSTALL_DATA = @INSTALL_DATA@
|
Line 62 INSTALL_DATA = @INSTALL_DATA@
|
LN_S = @LN_S@ |
LN_S = @LN_S@ |
GCC = @CC@ |
GCC = @CC@ |
CC = $(GCC) |
CC = $(GCC) |
FORTHPATH = ~+$(PATHSEP)$(libdir)/gforth/site-forth$(PATHSEP)$(siteforthdir)$(PATHSEP)$(libdir)/gforth/$(VERSION)$(PATHSEP)$(datadir)/gforth/$(VERSION) |
FORTHPATH = .$(PATHSEP)$(libdir)/gforth/site-forth$(PATHSEP)$(siteforthdir)$(PATHSEP)$(libdir)/gforth/$(VERSION)$(PATHSEP)$(datadir)/gforth/$(VERSION) |
FORTHSIZES = @FORTHSIZES@ |
FORTHSIZES = @FORTHSIZES@ |
FORTH_ARGS = --die-on-signal -p $(FORTHPATH)$(PATHSEP)$(srcdir) |
FORTH_ARGS = --die-on-signal -p $(FORTHPATH)$(PATHSEP)$(srcdir) |
ENGINE = ./gforth |
ENGINE = ./gforth |
Line 72 FORTH_FAST = $(ENGINE_FAST) $(FORTH_ARGS
|
Line 72 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) |
FORTHP = $(ENGINE) --die-on-signal -i ./$(kernel_fi) |
FORTHP = $(ENGINE) --die-on-signal -i ./$(kernel_fi) |
|
#the "-2 image-included-files +!" undoes the change to image-included-files |
|
# in exboot.fs |
STARTUP = -e 3 exboot.fs startup.fs @asm_fs@ @disasm_fs@ |
STARTUP = -e 3 exboot.fs startup.fs @asm_fs@ @disasm_fs@ |
STRIP = strip |
STRIP = strip |
TEXI2DVI = texi2dvi -e |
TEXI2DVI = texi2dvi -e |
Line 119 CVSDIRS = CVS engine/CVS kernel/CVS doc/
|
Line 121 CVSDIRS = CVS engine/CVS kernel/CVS doc/
|
arch/386/CVS arch/hppa/CVS arch/sparc/CVS arch/power/CVS \ |
arch/386/CVS arch/hppa/CVS arch/sparc/CVS arch/power/CVS \ |
arch/alpha/CVS arch/4stack/CVS arch/misc/CVS arch/6502/CVS \ |
arch/alpha/CVS arch/4stack/CVS arch/misc/CVS arch/6502/CVS \ |
arch/8086/CVS arch/avr/CVS arch/c165/CVS arch/h8/CVS \ |
arch/8086/CVS arch/avr/CVS arch/c165/CVS arch/h8/CVS \ |
arch/shboom/CVS arch/sharc/CVS \ |
arch/shboom/CVS arch/ia64/CVS |
|
|
INCLUDES = engine/forth.h engine/threaded.h engine/io.h |
INCLUDES = engine/forth.h engine/threaded.h engine/io.h |
|
|
Line 175 EC_SRC = \
|
Line 177 EC_SRC = \
|
|
|
GFORTH_FI_SRC = \ |
GFORTH_FI_SRC = \ |
assert.fs \ |
assert.fs \ |
backtrace.fs \ |
backtrac.fs \ |
blocked.fb \ |
blocked.fb \ |
blocks.fs \ |
blocks.fs \ |
bufio.fs \ |
bufio.fs \ |
Line 186 GFORTH_FI_SRC = \
|
Line 188 GFORTH_FI_SRC = \
|
environ.fs \ |
environ.fs \ |
errors.fs \ |
errors.fs \ |
exboot.fs \ |
exboot.fs \ |
exceptions.fs \ |
except.fs \ |
extend.fs \ |
extend.fs \ |
float.fs \ |
float.fs \ |
glocals.fs \ |
glocals.fs \ |
Line 209 GFORTH_FI_SRC = \
|
Line 211 GFORTH_FI_SRC = \
|
wordinfo.fs \ |
wordinfo.fs \ |
arch/386/asm.fs arch/386/disasm.fs \ |
arch/386/asm.fs arch/386/disasm.fs \ |
arch/alpha/asm.fs arch/alpha/disasm.fs \ |
arch/alpha/asm.fs arch/alpha/disasm.fs \ |
arch/mips/asm.fs arch/mips/disasm.fs |
arch/mips/asm.fs arch/mips/disasm.fs arch/mips/insts.fs |
|
|
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 \ |
Line 221 FORTH_SRC = $(KERN_SRC) $(GFORTH_FI_SRC)
|
Line 223 FORTH_SRC = $(KERN_SRC) $(GFORTH_FI_SRC)
|
more.fs other.fs prims2x.fs random.fs \ |
more.fs other.fs prims2x.fs random.fs \ |
table.fs string.fs \ |
table.fs string.fs \ |
tt.fs sokoban.fs \ |
tt.fs sokoban.fs \ |
unbuffered.fs wordsets.fs \ |
unbuffer.fs wordsets.fs \ |
test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs \ |
test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs \ |
test/other.fs test/checkans.fs \ |
test/other.fs test/checkans.fs \ |
bubble.fs siev.fs matrix.fs fib.fs \ |
bubble.fs siev.fs matrix.fs fib.fs \ |
Line 256 ARCHS = \
|
Line 258 ARCHS = \
|
arch/power/_sync_cache_range.c \ |
arch/power/_sync_cache_range.c \ |
arch/power/elf32ppc.x \ |
arch/power/elf32ppc.x \ |
arch/alpha/machine.h \ |
arch/alpha/machine.h \ |
|
arch/ia64/machine.h \ |
arch/4stack/README \ |
arch/4stack/README \ |
arch/4stack/asm.fs \ |
arch/4stack/asm.fs \ |
arch/4stack/mach.fs \ |
arch/4stack/mach.fs \ |
Line 291 ARCHS = \
|
Line 294 ARCHS = \
|
arch/shboom/prim.fs \ |
arch/shboom/prim.fs \ |
arch/shboom/dis2.fs \ |
arch/shboom/dis2.fs \ |
arch/shboom/sh.p \ |
arch/shboom/sh.p \ |
arch/shboom/doers.fs \ |
arch/shboom/doers.fs |
arch/sharc/mach.fs \ |
|
arch/sharc/machine.h \ |
# arch/sharc/mach.fs \ |
arch/sharc/compile.sharc \ |
# arch/sharc/machine.h \ |
arch/sharc/unistd.h \ |
# arch/sharc/compile.sharc \ |
arch/sharc/systypes.h \ |
# arch/sharc/unistd.h \ |
arch/sharc/types.h \ |
# arch/sharc/systypes.h \ |
arch/sharc/g21k-3.3.4-bp1.diff |
# arch/sharc/types.h \ |
|
# arch/sharc/g21k-3.3.4-bp1.diff |
|
|
SOURCES = $(CVSDIRS) compat Makefile.in Makedist.in engine/Makefile.in gforthmi.in \ |
SOURCES = $(CVSDIRS) compat Makefile.in Makedist.in engine/Makefile.in gforthmi.in \ |
configure.in configure config.sub config.guess elisp-comp missing \ |
configure.in configure config.sub config.guess elisp-comp missing \ |
Line 446 binonlydist: Makedist FORCE
|
Line 450 binonlydist: Makedist FORCE
|
|
|
|
|
#strip gforth, because the debugging stuff is hardly useful once |
#strip gforth, because the debugging stuff is hardly useful once |
# gforth manages to execute more than a few primitives |
# gforth manages to execute more than a few primitives. |
|
|
#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). |
|
#we rebuild gforth.fi, because it contains some path names. |
|
#we delete $build/gforth.fi and $build/install.TAGS after installation because of ownership. |
install: gforth$(EXE) $(FORTH_SRC) $(kernel_fi) gforth.fi gforthmi doc/gforth.1 prim install.TAGS installdirs |
install: gforth$(EXE) $(FORTH_SRC) $(kernel_fi) gforth.fi gforthmi doc/gforth.1 prim install.TAGS installdirs |
touch $(siteforthdir)/siteinit.fs |
touch $(siteforthdir)/siteinit.fs |
-$(RM) $(bindir)/gforth$(EXE) $(bindir)/gforth-$(VERSION)$(EXE) $(bindir)/gforthmi |
-$(RM) $(bindir)/gforth$(EXE) $(bindir)/gforth-$(VERSION)$(EXE) $(bindir)/gforthmi |
Line 468 install: gforth$(EXE) $(FORTH_SRC) $(ker
|
Line 474 install: gforth$(EXE) $(FORTH_SRC) $(ker
|
$(INSTALL_DATA) $(srcdir)/$$i $(datadir)/gforth/$(VERSION)/$$i; \ |
$(INSTALL_DATA) $(srcdir)/$$i $(datadir)/gforth/$(VERSION)/$$i; \ |
done |
done |
$(INSTALL_DATA) $(kernel_fi) $(datadir)/gforth/$(VERSION) |
$(INSTALL_DATA) $(kernel_fi) $(datadir)/gforth/$(VERSION) |
$(RM) gforth.fi |
|
GFORTHD="./gforth-ditc -p$(libdir)/gforth/site-forth$(PATHSEP)$(siteforthdir)$(PATHSEP)$(datadir)/gforth/$(VERSION) -i $(kernel_fi)" GFORTH="./gforth-ditc --die-on-signal -i $(kernel_fi) $(STARTUP)" ./gforthmi gforth.fi $(FORTHSIZES) $(STARTUP) #gforth.fi contains some path names |
|
$(INSTALL_DATA) gforth.fi $(libdir)/gforth/$(VERSION) |
|
$(INSTALL_DATA) install.TAGS $(datadir)/gforth/$(VERSION)/TAGS |
|
# after install, remove these because they are owned by ROOT |
|
$(RM) gforth.fi install.TAGS |
|
@if test -d "$(emacssitelispdir)"; then \ |
@if test -d "$(emacssitelispdir)"; then \ |
$(INSTALL_DATA) $(srcdir)/gforth.el $(emacssitelispdir); \ |
$(INSTALL_DATA) $(srcdir)/gforth.el $(emacssitelispdir); \ |
else \ |
else \ |
echo ">>>>>Please install $(srcdir)/gforth.el in your .../emacs/site-lisp directory"; \ |
echo ">>>>>Please install $(srcdir)/gforth.el in your .../emacs/site-lisp directory"; \ |
fi |
fi |
|
$(RM) gforth.fi |
|
GFORTHD="./gforth-ditc -p$(libdir)/gforth/site-forth$(PATHSEP)$(siteforthdir)$(PATHSEP)$(datadir)/gforth/$(VERSION) -i $(kernel_fi)" GFORTH="./gforth-ditc --die-on-signal -i $(kernel_fi) $(STARTUP)" ./gforthmi gforth.fi $(FORTHSIZES) $(STARTUP) |
|
$(INSTALL_DATA) gforth.fi $(libdir)/gforth/$(VERSION) |
|
$(INSTALL_DATA) install.TAGS $(datadir)/gforth/$(VERSION)/TAGS |
|
$(RM) gforth.fi install.TAGS |
@echo ">>>>> Please make an entry for Gforth in your info dir file; e.g.:"; \ |
@echo ">>>>> Please make an entry for Gforth in your info dir file; e.g.:"; \ |
echo "* Gforth: (gforth). A fast interpreter for the Forth language." |
echo "* Gforth: (gforth). A fast interpreter for the Forth language." |
|
|
Line 491 installdirs: mkinstalldirs
|
Line 496 installdirs: mkinstalldirs
|
for i in $(CVSDIRS); do \ |
for i in $(CVSDIRS); do \ |
$(srcdir)/mkinstalldirs $(datadir)/gforth/$(VERSION)/`dirname $$i`; \ |
$(srcdir)/mkinstalldirs $(datadir)/gforth/$(VERSION)/`dirname $$i`; \ |
done |
done |
$(RM) -rf $(datadir)/gforth/$(VERSION)/arch $(datadir)/gforth/$(VERSION)/engine |
$(RM) -rf $(datadir)/gforth/$(VERSION)/engine |
|
|
#deinstall all files specific to this version of gforth |
#deinstall all files specific to this version of gforth |
#to uninstall version foo, type `make uninstall VERSION=foo' |
#to uninstall version foo, type `make uninstall VERSION=foo' |
Line 549 kernl-%.fi: arch/%/mach.fs $(KERN_SRC) k
|
Line 554 kernl-%.fi: arch/%/mach.fs $(KERN_SRC) k
|
else $(CP) $@- $@; \ |
else $(CP) $@- $@; \ |
fi |
fi |
|
|
arch/%/mach.fs: arch/%/prim.fs arch/%/asm.fs |
#SunOS make does not like that |
|
#arch/%/mach.fs: arch/%/prim.fs arch/%/asm.fs |
|
|
kernl16b.fi: $(KERNLS) |
kernl16b.fi: $(KERNLS) |
-$(CP) kernl16b.fi kernl16b.fi~ |
-$(CP) kernl16b.fi kernl16b.fi~ |
Line 642 TAGS: gforth.TAGS
|
Line 648 TAGS: gforth.TAGS
|
install.TAGS: gforth.TAGS |
install.TAGS: gforth.TAGS |
sed 's:^\$(srcdir)/:$(datadir)/gforth/$(VERSION)/:' gforth.TAGS >install.TAGS |
sed 's:^\$(srcdir)/:$(datadir)/gforth/$(VERSION)/:' gforth.TAGS >install.TAGS |
|
|
gforth.TAGS: @kernel_fi@ gforth $(GFORTH_FI_SRC) prim.TAGS |
gforth.TAGS: @kernel_fi@ gforth$(EXE) $(GFORTH_FI_SRC) prim.TAGS |
$(FORTHK) etags.fs exceptions.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 |
|
|
prim.TAGS: prim.b prims2x.fs |
prim.TAGS: prim.b prims2x.fs |
$(FORTHK) prims2x.fs -e "s\" $(srcdir)/prim.b\" ' output-tag process-file bye" >$@- |
echo '2c\' >prim.TAGS.sed |
|
echo $(srcdir)/prim >>prim.TAGS.sed |
|
$(FORTHK) prims2x.fs -e "s\" $(srcdir)/prim.b\" ' output-tag process-file bye" | sed -f prim.TAGS.sed >$@- |
$(CP) $@- $@ |
$(CP) $@- $@ |
$(RM) $@- |
$(RM) $@- |
|
|
doc/doc.fd: doc/makedoc.fs $(GFORTH_FI_SRC) code.fs objects.fs oof.fs moofglos.fs |
doc/doc.fd: doc/makedoc.fs $(GFORTH_FI_SRC) code.fs objects.fs oof.fs moofglos.fs |
$(FORTHK) -e "s\" doc/doc.fd\"" doc/makedoc.fs exceptions.fs startup.fs code.fs objects.fs oof.fs moofglos.fs -e bye |
$(FORTHK) -e "s\" doc/doc.fd\"" doc/makedoc.fs except.fs startup.fs code.fs objects.fs oof.fs moofglos.fs -e bye |
|
|
doc/crossdoc.fd: $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) |
doc/crossdoc.fd: $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) |
$(FORTHK) -e 's" mach32l.fs"' kernel/main.fs -e bye |
$(FORTHK) -e 's" mach32l.fs"' kernel/main.fs -e bye |
Line 681 info: doc/gforth.info
|
Line 689 info: doc/gforth.info
|
doc/gforth.info doc/gforth.info-*: $(GFORTH_TEXI) |
doc/gforth.info doc/gforth.info-*: $(GFORTH_TEXI) |
-cd doc; $(MAKEINFO) gforth.texi |
-cd doc; $(MAKEINFO) gforth.texi |
|
|
|
### need makeinfo 4.0 to generate html. Otherwise, use texi2html.. |
html: $(GFORTH_TEXI) |
html: $(GFORTH_TEXI) |
-$(RMTREE) html |
-$(RMTREE) html |
-mkdir html |
-mkdir html |
### need makeinfo 4.0 to generate html. Otherwise, use texi2html.. |
|
cd html; $(MAKEINFO) --html -I ../doc ../doc/gforth.texi |
cd html; $(MAKEINFO) --html -I ../doc ../doc/gforth.texi |
### cd html; $(TEXI2HTML) -menu -split_node ../doc/gforth.texi |
### cd html; $(TEXI2HTML) -menu -split_node ../doc/gforth.texi |
|
|
doc/gforth.txt: $(GFORTH_TEXI) |
doc/gforth.txt: $(GFORTH_TEXI) |
-cd doc; $(MAKEINFO) --no-headers --no-split gforth.texi >gforth.txt |
-cd doc; $(MAKEINFO) --no-headers --no-split gforth.texi >gforth.txt |
|
|
doc: info doc/gforth.ps html doc/gforth.txt TAGS |
doc: info html doc/gforth.ps doc/gforth.txt TAGS |
|
|
# For an explanation of the following Makefile rules, see node |
# For an explanation of the following Makefile rules, see node |
# `Automatic Remaking' in GNU Autoconf documentation. |
# `Automatic Remaking' in GNU Autoconf documentation. |