| 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) |
| |
STARTUP = -e 3 exboot.fs startup.fs @asm_fs@ @disasm_fs@ |
| STRIP = strip |
STRIP = strip |
| TEXI2DVI = texi2dvi |
TEXI2DVI = texi2dvi -e |
| DVI2PS = dvips -Z |
DVI2PS = dvips -Z |
| #you can get texi2html from http://wwwcn.cern.ch/dci/texi2html/ |
#you can get texi2html from http://wwwcn.cern.ch/dci/texi2html/ |
| TEXI2HTML = texi2html |
|
| MAKEINFO = makeinfo |
MAKEINFO = makeinfo |
| |
TEXI2HTML = texi2html |
| |
|
| # ------------- Compiler Flags |
# ------------- Compiler Flags |
| |
|
| 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/shboom/CVS arch/sharc/CVS \ |
| |
|
| INCLUDES = engine/forth.h engine/threaded.h engine/io.h |
INCLUDES = engine/forth.h engine/threaded.h engine/io.h |
| |
|
| kernel/aliases.fs \ |
kernel/aliases.fs \ |
| kernel/args.fs \ |
kernel/args.fs \ |
| chains.fs \ |
chains.fs \ |
| |
kernel/cbr.fs \ |
| |
kernel/cloop.fs \ |
| kernel/cond.fs \ |
kernel/cond.fs \ |
| kernel/cond-old.fs \ |
kernel/cond-old.fs \ |
| cross.fs \ |
cross.fs \ |
| savesys.fs \ |
savesys.fs \ |
| environ.fs \ |
environ.fs \ |
| errors.fs \ |
errors.fs \ |
| |
exboot.fs \ |
| exceptions.fs \ |
exceptions.fs \ |
| extend.fs \ |
extend.fs \ |
| float.fs \ |
float.fs \ |
| vt100.fs \ |
vt100.fs \ |
| vt100key.fs \ |
vt100key.fs \ |
| wordinfo.fs \ |
wordinfo.fs \ |
| lib.fs \ |
arch/alpha/asm.fs arch/alpha/disasm.fs \ |
| sieve.fs \ |
arch/mips/asm.fs arch/mips/disasm.fs |
| add.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 \ |
| code.fs colorize.fs comp-i.fs \ |
code.fs colorize.fs comp-i.fs \ |
| doskey.fs ds2texi.fs \ |
doskey.fs ds2texi.fs \ |
| envos.fs envos.dos envos.os2 etags.fs filedump.fs fi2c.fs \ |
envos.fs envos.dos envos.os2 etags.fs filedump.fs fi2c.fs \ |
| glosgen.fs gray.fs \ |
glosgen.fs gray.fs httpd.fs \ |
| make-app.fs doc/makedoc.fs \ |
make-app.fs doc/makedoc.fs \ |
| more.fs other.fs prims2x.fs random.fs \ |
more.fs other.fs prims2x.fs random.fs \ |
| table.fs \ |
table.fs string.fs \ |
| tt.fs sokoban.fs \ |
tt.fs sokoban.fs \ |
| unbuffered.fs wordsets.fs \ |
unbuffered.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 \ |
| oof.fs oofsampl.fs objects.fs objexamp.fs mini-oof.fs moof-exm.fs \ |
oof.fs oofsampl.fs objects.fs objexamp.fs mini-oof.fs moof-exm.fs \ |
| moofglos.fs |
moofglos.fs \ |
| |
add.fs lib.fs sieve.fs |
| |
|
| COMPAT = compat/README \ |
COMPAT = compat/README \ |
| compat/anslocal.fs \ |
compat/anslocal.fs \ |
| 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/compile.sharc \ |
| |
arch/sharc/unistd.h \ |
| |
arch/sharc/systypes.h \ |
| |
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 \ |
| engine/ansidecl.h engine/memmove.c \ |
engine/ansidecl.h engine/memmove.c \ |
| engine/pow10.c engine/atanh.c engine/cleanalign.c \ |
engine/pow10.c engine/atanh.c engine/cleanalign.c \ |
| engine/strerror.c engine/strsignal.c engine/dblsub.c \ |
engine/strerror.c engine/strsignal.c engine/dblsub.c \ |
| |
engine/fnmatch.h engine/fnmatch.c engine/strchrnul.c \ |
| INSTALL.DOS makefile.dos engine/makefile.dos mkdosmf.sed config.bat \ |
INSTALL.DOS makefile.dos engine/makefile.dos mkdosmf.sed config.bat \ |
| dosconf.h gforthmi.bat mkinstalldirs siteinit.fs \ |
dosconf.h gforthmi.bat mkinstalldirs siteinit.fs \ |
| versions.bsh \ |
versions.bsh \ |
| doc/version.texi gforthmi |
doc/version.texi gforthmi |
| |
|
| #realclean is useless, but dangerous, so it's commented out |
#realclean is useless, but dangerous, so it's commented out |
| #realclean: distclean |
realclean: distclean |
| # -$(RM) $(GEN_PRECIOUS) |
-$(RM) $(GEN_PRECIOUS) |
| |
|
| #mostlyclean, but also remove some of the stuff that is distributed |
#mostlyclean, but also remove some of the stuff that is distributed |
| virtualclean: mostlyclean |
virtualclean: mostlyclean |
| done |
done |
| $(INSTALL_DATA) $(kernel_fi) $(datadir)/gforth/$(VERSION) |
$(INSTALL_DATA) $(kernel_fi) $(datadir)/gforth/$(VERSION) |
| $(RM) gforth.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.fs" ./gforthmi gforth.fi $(FORTHSIZES) startup.fs #gforth.fi contains some path names |
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) gforth.fi $(libdir)/gforth/$(VERSION) |
| $(INSTALL_DATA) install.TAGS $(datadir)/gforth/$(VERSION)/TAGS |
$(INSTALL_DATA) install.TAGS $(datadir)/gforth/$(VERSION)/TAGS |
| # after install, remove these because they are owned by ROOT |
# after install, remove these because they are owned by ROOT |
| kernl64b.fi-: $(KERN_SRC) kernel/version.fs mach64b.fs $(FORTH_GEN0) |
kernl64b.fi-: $(KERN_SRC) kernel/version.fs mach64b.fs $(FORTH_GEN0) |
| $(FORTHK) -e 's" mach64b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl64b.fi- $(bindir)/gforth-$(VERSION) bye" |
$(FORTHK) -e 's" mach64b.fs"' $(srcdir)/kernel/main.fs -e "save-cross kernl64b.fi- $(bindir)/gforth-$(VERSION) bye" |
| |
|
| kernl-%.fi: arch/%/mach.fs \ |
kernl-%.fi: arch/%/mach.fs $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) |
| $(KERN_SRC) kernel/version.fs $(FORTH_GEN0) |
|
| $(FORTHK) -e 's" $<"' $(srcdir)/kernel/main.fs -e "save-cross $@- $(bindir)/gforth-$(VERSION) bye" |
$(FORTHK) -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/` $@; \ |
| else $(CP) $@- $@; \ |
else $(CP) $@- $@; \ |
| fi |
fi |
| |
|
| arch/%/mach.fs: arch/%/prim.fs |
arch/%/mach.fs: arch/%/prim.fs arch/%/asm.fs |
| |
|
| arch/%/prim.fs: arch/%/asm.fs |
|
| |
|
| kernl16b.fi: $(KERNLS) |
kernl16b.fi: $(KERNLS) |
| -$(CP) kernl16b.fi kernl16b.fi~ |
-$(CP) kernl16b.fi kernl16b.fi~ |
| # -$(CP) $< $@ |
# -$(CP) $< $@ |
| |
|
| gforth.fi: $(kernel_fi) gforthmi gforth$(EXE) gforth-ditc$(EXE) $(GFORTH_FI_SRC) |
gforth.fi: $(kernel_fi) gforthmi gforth$(EXE) gforth-ditc$(EXE) $(GFORTH_FI_SRC) |
| GFORTHD="./gforth-ditc -p .$(PATHSEP)$(srcdir)" GFORTH="./gforth-ditc -p .$(PATHSEP)$(srcdir) -i $(kernel_fi) startup.fs" ./gforthmi gforth.fi $(FORTHSIZES) $(FORTHKFLAGS) startup.fs |
GFORTHD="./gforth-ditc -p .$(PATHSEP)$(srcdir)" GFORTH="./gforth-ditc --die-on-signal -p .$(PATHSEP)$(srcdir) -i $(kernel_fi) $(STARTUP)" ./gforthmi gforth.fi $(FORTHSIZES) $(FORTHKFLAGS) $(STARTUP) |
| |
|
| # ------------- Make c-engine |
# ------------- Make c-engine |
| |
|
| $(CP) engine/$@ $@ |
$(CP) engine/$@ $@ |
| @GFORTHDITC_EXE@ |
@GFORTHDITC_EXE@ |
| |
|
| engines: FORCE engine/Makefile |
engines: FORCE engine/Makefile engine/prim.i engine/prim_lab.i |
| cd engine && $(MAKE) gforth$(EXE) gforth-fast$(EXE) gforth-ditc$(EXE) |
cd engine && $(MAKE) gforth$(EXE) gforth-fast$(EXE) gforth-ditc$(EXE) |
| |
|
| # ------------- additional C primitives |
# ------------- additional C primitives |
| 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 $(GFORTH_FI_SRC) prim.TAGS |
| $(FORTHK) etags.fs startup.fs -e bye |
$(FORTHK) etags.fs exceptions.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 |
| |
|
| $(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 startup.fs code.fs objects.fs oof.fs moofglos.fs -e bye |
$(FORTHK) -e "s\" doc/doc.fd\"" doc/makedoc.fs exceptions.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 |
| -$(RMTREE) html |
-$(RMTREE) html |
| -mkdir html |
-mkdir html |
| ### need makeinfo 4.0 to generate html. Otherwise, use texi2html.. |
### 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 |