version 1.35, 1995/10/16 18:33:04
|
version 1.42, 1995/11/24 18:05:32
|
Line 1
|
Line 1
|
#Copyright 1992 by the ANSI figForth Development Group |
#Makefile for Gforth |
|
|
|
#Copyright (C) 1995 Free Software Foundation, Inc. |
|
|
|
#This file is part of Gforth. |
|
|
|
#Gforth is free software; you can redistribute it and/or |
|
#modify it under the terms of the GNU General Public License |
|
#as published by the Free Software Foundation; either version 2 |
|
#of the License, or (at your option) any later version. |
|
|
|
#This program is distributed in the hope that it will be useful, |
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the |
|
#GNU General Public License for more details. |
|
|
|
#You should have received a copy of the GNU General Public License |
|
#along with this program; if not, write to the Free Software |
|
#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, 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' |
# (which will cause the Makefiles to be regenerated when you run `make'); |
# (which will cause the Makefiles to be regenerated when you run `make'); |
Line 18 LN_S = @LN_S@
|
Line 37 LN_S = @LN_S@
|
GCC = gcc |
GCC = gcc |
CC = $(GCC) |
CC = $(GCC) |
FORTH = ./gforth |
FORTH = ./gforth |
FORTHK = $(FORTH) -i kernal.fi |
FORTHK = $(FORTH) -p . -i kernal.fi |
STRIP = strip |
STRIP = strip |
TEXI2DVI = texi2dvi |
TEXI2DVI = texi2dvi |
DVI2PS = dvips |
DVI2PS = dvips -D300 |
#you can get texi2html from http://asis01.cern.ch/infohtml/texi2html.html |
#you can get texi2html from http://asis01.cern.ch/infohtml/texi2html.html |
TEXI2HTML = texi2html |
TEXI2HTML = texi2html |
MAKEINFO = makeinfo |
MAKEINFO = makeinfo |
Line 30 XDEFINES = @DEFS@
|
Line 49 XDEFINES = @DEFS@
|
SWITCHES = $(XCFLAGS) $(XDEFINES) #-DNDEBUG #turn off assertions |
SWITCHES = $(XCFLAGS) $(XDEFINES) #-DNDEBUG #turn off assertions |
ENGINE_FLAGS = -fno-defer-pop -fcaller-saves |
ENGINE_FLAGS = -fno-defer-pop -fcaller-saves |
DEBUGFLAG = @DEBUGFLAG@ |
DEBUGFLAG = @DEBUGFLAG@ |
CFLAGS = -pipe -O4 -Wall $(SWITCHES) -DDEFAULTPATH=\"$(datadir)/gforth/$(VERSION):$(libdir)/gforth/$(VERSION):.\" |
CFLAGS = $(DEBUGFLAG) -O4 -Wall $(SWITCHES) -DDEFAULTPATH=\"$(libdir)/gforth/site-forth:$(datadir)/gforth/site-forth:$(libdir)/gforth/$(VERSION):$(datadir)/gforth/$(VERSION):.\" |
|
|
#John Wavrik should use -Xlinker -N to get a writable text (executable) |
#John Wavrik should use -Xlinker -N to get a writable text (executable) |
XLDFLAGS = @LDFLAGS@ |
XLDFLAGS = @LDFLAGS@ |
Line 50 infodir = $(prefix)/info
|
Line 69 infodir = $(prefix)/info
|
mandir = $(prefix)/man/man1 |
mandir = $(prefix)/man/man1 |
|
|
|
|
INCLUDES = forth.h io.h |
INCLUDES = forth.h threading.h io.h io-dos.h |
|
|
KERN_SRC = main.fs search-order.fs cross.fs aliases.fs vars.fs add.fs \ |
KERN_SRC = main.fs search-order.fs cross.fs aliases.fs vars.fs add.fs \ |
errore.fs kernal.fs version.fs extend.fs tools.fs toolsext.fs |
errore.fs kernal.fs version.fs extend.fs tools.fs toolsext.fs |
Line 61 FORTH_SRC = anslocal.fs add.fs assert.fs
|
Line 80 FORTH_SRC = anslocal.fs add.fs assert.fs
|
float.fs glocals.fs glosgen.fs gray.fs hash.fs history.fs \ |
float.fs glocals.fs glosgen.fs gray.fs hash.fs history.fs \ |
kernal.fs locals-test.fs look.fs main.fs makedoc.fs \ |
kernal.fs locals-test.fs look.fs main.fs makedoc.fs \ |
mach16b.fs mach16l.fs mach32b.fs mach32l.fs mach64b.fs mach64l.fs \ |
mach16b.fs mach16l.fs mach32b.fs mach32l.fs mach64b.fs mach64l.fs \ |
other.fs prims2x.fs random.fs search-order.fs see.fs sieve.fs \ |
other.fs prims2x.fs random.fs search-order.fs see.fs sieve.fs source.fs \ |
startup.fs struct.fs tools.fs toolsext.fs tt.fs vars.fs vt100.fs \ |
startup.fs site-init.fs struct.fs tools.fs toolsext.fs tt.fs vars.fs \ |
vt100key.fs wordinfo.fs wordsets.fs \ |
vt100.fs vt100key.fs wordinfo.fs wordsets.fs \ |
tester.fs coretest.fs |
tester.fs coretest.fs \ |
|
bubble.fs siev.fs matrix.fs fib.fs |
|
|
SOURCES = Makefile.in configure.in configure config.sub config.guess \ |
SOURCES = Makefile.in configure.in configure config.sub config.guess \ |
install-sh INSTALL README ToDo BUGS model COPYING \ |
install-sh INSTALL README ToDo BUGS model COPYING Benchres \ |
gforth.ds texinfo.tex gforth.1 gforth.el \ |
gforth.ds texinfo.tex gforth.1 gforth.el \ |
primitives engine.c main.c io.c \ |
primitives engine.c main.c io.c \ |
m68k.h mips.h 386.h hppa.h cache.c sparc.h power.h alpha.h 32bit.h \ |
m68k.h mips.h 386.h hppa.h cache.c sparc.h power.h alpha.h 32bit.h \ |
Line 90 FORTH_GEN = $(FORTH_GEN0) @KERNAL@ gfor
|
Line 110 FORTH_GEN = $(FORTH_GEN0) @KERNAL@ gfor
|
# this is used for antidependences, |
# this is used for antidependences, |
FORTH_GEN1 = $(FORTH_GEN0) @kernal_fi@ |
FORTH_GEN1 = $(FORTH_GEN0) @kernal_fi@ |
|
|
|
#distributed documentation |
|
DOCDIST = gforth.texi gforth.fns gforth.ps gforth.info* |
|
|
KERNLS = kernl16b.fi+ kernl16l.fi+ \ |
KERNLS = kernl16b.fi+ kernl16l.fi+ \ |
kernl32b.fi+ kernl32l.fi+ \ |
kernl32b.fi+ kernl32l.fi+ \ |
Line 129 distclean: clean
|
Line 151 distclean: clean
|
realclean: distclean |
realclean: distclean |
-$(RM) $(GEN_PRECIOUS) |
-$(RM) $(GEN_PRECIOUS) |
|
|
dist: $(SOURCES) $(FORTH_GEN) |
dist: $(SOURCES) $(FORTH_GEN) $(DOCDIST) |
-rm -rf gforth-$(VERSION) |
-rm -rf gforth-$(VERSION) |
mkdir gforth-$(VERSION) |
mkdir gforth-$(VERSION) |
cp -p $(SOURCES) $(FORTH_GEN) gforth-$(VERSION) |
cp -p $(SOURCES) $(FORTH_GEN0) @KERNAL@ $(DOCDIST) gforth-$(VERSION) |
tar cvf - gforth-$(VERSION)|gzip -9 >gforth-$(VERSION).tar.gz |
tar cvf - gforth-$(VERSION)|gzip -9 >gforth-$(VERSION).tar.gz |
-rm -rf gforth-$(VERSION) |
-rm -rf gforth-$(VERSION) |
|
|
Line 166 binonlydist: $(SOURCES) $(FORTH_GEN) gfo
|
Line 188 binonlydist: $(SOURCES) $(FORTH_GEN) gfo
|
# gforth manages to execute more than a few primitives |
# gforth manages to execute more than a few primitives |
|
|
install: gforth $(FORTH_SRC) kernal.fi gforth.fi gforth.1 gforth.info |
install: gforth $(FORTH_SRC) kernal.fi gforth.fi gforth.1 gforth.info |
$(INSTALL) -d $(bindir) $(mandir) $(infodir) $(libdir)/gforth/$(VERSION) $(datadir)/gforth/$(VERSION) |
$(INSTALL) -d $(bindir) $(mandir) $(infodir) $(libdir)/gforth/$(VERSION) $(datadir)/gforth/$(VERSION) $(libdir)/gforth/site-forth $(datadir)/gforth/site-forth |
|
touch $(datadir)/gforth/site-forth/site-init.fs |
$(INSTALL_PROGRAM) -s gforth $(bindir) |
$(INSTALL_PROGRAM) -s gforth $(bindir) |
|
ln -f $(bindir)/gforth $(bindir)/gforth-$(VERSION) |
$(INSTALL_DATA) gforth.1 $(mandir) |
$(INSTALL_DATA) gforth.1 $(mandir) |
$(INSTALL_DATA) gforth.info* $(infodir) |
$(INSTALL_DATA) gforth.info* $(infodir) |
for i in $(FORTH_SRC); do \ |
for i in $(FORTH_SRC); do \ |
Line 176 install: gforth $(FORTH_SRC) kernal.fi g
|
Line 200 install: gforth $(FORTH_SRC) kernal.fi g
|
rm gforth.fi; make gforth.fi #gforth.fi contains some path names |
rm gforth.fi; make gforth.fi #gforth.fi contains some path names |
$(INSTALL_DATA) kernal.fi gforth.fi $(libdir)/gforth/$(VERSION) |
$(INSTALL_DATA) kernal.fi gforth.fi $(libdir)/gforth/$(VERSION) |
|
|
|
|
|
#deinstall all files specific to this version of gforth |
|
#to uninstall version foo, type `make uninstall VERSION=foo' |
|
uninstall: |
|
-$(RM) -rf $(libdir)/gforth/$(VERSION) $(datadir)/gforth/$(VERSION) $(bindir)/gforth-$(VERSION) |
|
@echo -e "Type\n$(RM) -rf $(bindir)/gforth $(mandir)/gforth.1 $(infodir)/gforth.info* $(datadir)/gforth $(libdir)/gforth\nto remove Gforth completely" |
|
|
check: test |
check: test |
touch test |
touch test |
|
|
test: gforth |
test: gforth |
@echo 'Expect to see INCORRECT RESULT: { GS1 -> <TRUE> <TRUE> }' |
|
@echo 'This is a bug of the testing program' |
|
$(FORTH) tester.fs coretest.fs -e bye |
$(FORTH) tester.fs coretest.fs -e bye |
$(FORTH) startup.fs blocks.fs code.fs checkans.fs -e bye |
$(FORTH) code.fs checkans.fs -e bye |
@echo 'Expect no differences' |
@echo 'Expect no differences' |
$(FORTH) prims2x.fs -e "s\" primitives.b\" ' output-c process-file bye"| diff -c - primitives.i |
$(FORTH) prims2x.fs -e "s\" primitives.b\" ' output-c process-file bye"| diff -c - primitives.i |
|
|
|
bench: gforth |
|
@echo 'Each benchmark takes about 30s on a 486-66 (gcc-2.6.3 -DFORCE_REG)' |
|
time $(FORTH) siev.fs -e "main bye" |
|
time $(FORTH) bubble.fs -e "main bye" |
|
time $(FORTH) -m 160000 matrix.fs -e "main bye" |
|
time $(FORTH) fib.fs -e "main bye" |
|
|
dvi: gforth.dvi |
dvi: gforth.dvi |
|
|
gforth: $(OBJECTS) |
gforth: $(OBJECTS) |
Line 242 kernl64l.fi: $(KERNLS)
|
Line 278 kernl64l.fi: $(KERNLS)
|
-$(CP) kernl64l.fi+ kernl64l.fi |
-$(CP) kernl64l.fi+ kernl64l.fi |
@LINK_KERNL64L@ |
@LINK_KERNL64L@ |
|
|
gforth.fi: @kernal_fi@ gforth startup.fs glocals.fs search-order.fs hash.fs float.fs debugging.fs environ.fs wordinfo.fs look.fs vt100.fs see.fs bufio.fs debug.fs history.fs vt100key.fs assert.fs blocks.fs struct.fs dumpimage.fs |
gforth.fi: @kernal_fi@ gforth startup.fs glocals.fs search-order.fs hash.fs float.fs debugging.fs environ.fs wordinfo.fs look.fs vt100.fs see.fs bufio.fs debug.fs history.fs vt100key.fs assert.fs source.fs blocks.fs struct.fs dumpimage.fs |
$(FORTHK) startup.fs dumpimage.fs -e "savesystem gforth.fi bye" |
$(FORTHK) startup.fs dumpimage.fs -e "savesystem gforth.fi bye" |
|
|
engine.s: engine.c primitives.i prim_labels.i machine.h $(INCLUDES) |
engine.s: engine.c primitives.i prim_labels.i machine.h threading.h $(INCLUDES) |
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -S engine.c |
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -S engine.c |
|
|
engine.o: engine.c primitives.i prim_labels.i machine.h $(INCLUDES) |
engine.o: engine.c primitives.i prim_labels.i machine.h threading.h $(INCLUDES) |
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -c engine.c |
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -c engine.c |
|
|
|
main.o: main.c machine.h threading.h $(INCLUDES) |
|
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -c main.c |
|
|
strtoul.o: strtoul.c strtol.c |
strtoul.o: strtoul.c strtol.c |
|
|
primitives.b: primitives |
primitives.b: primitives |
Line 296 gforth.dvi: gforth.texi
|
Line 335 gforth.dvi: gforth.texi
|
gforth.ps: gforth.dvi |
gforth.ps: gforth.dvi |
$(DVI2PS) gforth.dvi -o $@ |
$(DVI2PS) gforth.dvi -o $@ |
|
|
|
gforth.info*: gforth.info |
|
|
gforth.info: gforth.texi |
gforth.info: gforth.texi |
-$(MAKEINFO) gforth.texi |
-$(MAKEINFO) gforth.texi |
|
|