version 1.455, 2010/12/31 18:09:01
|
version 1.469, 2012/03/14 15:51:15
|
Line 1
|
Line 1
|
#Makefile for Gforth |
#Makefile for Gforth |
|
|
#Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc. |
#Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010,2011 Free Software Foundation, Inc. |
|
|
#This file is part of Gforth. |
#This file is part of Gforth. |
|
|
Line 47 PATHSEP = @PATHSEP@
|
Line 47 PATHSEP = @PATHSEP@
|
|
|
EC = @EC@ |
EC = @EC@ |
|
|
|
# ------------ Install Directories |
|
|
|
VPATH = @srcdir@ |
|
prefix = @prefix@ |
|
exec_prefix = @exec_prefix@ |
|
srcdir = @srcdir@ |
|
bindir = @bindir@ |
|
#read-only architecture-independent files |
|
datarootdir = @datarootdir@ |
|
datadir = @datadir@ |
|
#read-only architecture-dependent non-ascii files |
|
libdir = @libdir@ |
|
libccdir = $(subst $(DESTDIR),,$(libdir)/gforth/$(VERSION)/libcc-named/) |
|
includedir = @includedir@ |
|
infodir = @infodir@ |
|
htmldir = @htmldir@ |
|
mandir = @mandir@ |
|
man1dir= $(mandir)/man1 |
|
man1ext= .1 |
|
#older emacses have their site-lisp in $(libdir)/emacs/ |
|
emacssitelispdir=@lispdir@ |
|
siteforthdir=$(datadir)/gforth/site-forth |
|
|
# ------------- Utility programs |
# ------------- Utility programs |
|
|
SHELL = /bin/sh |
SHELL = /bin/sh |
Line 64 INSTALL_INFO = @INSTALL_INFO@
|
Line 87 INSTALL_INFO = @INSTALL_INFO@
|
LN_S = @LN_S@ |
LN_S = @LN_S@ |
M4 = @M4@ |
M4 = @M4@ |
GCC = @CC@ |
GCC = @CC@ |
EMACS = emacs |
EMACS = @EMACS@ |
LIBTOOL = @GNU_LIBTOOL@ |
LIBTOOL = @GNU_LIBTOOL@ |
PREFORTH = ./preforth -p ".$(PATHSEP)~+$(PATHSEP)$(srcdir)" |
PREFORTH = ./preforth -p ".$(PATHSEP)~+$(PATHSEP)$(srcdir)" |
CC = $(GCC) |
CC = $(GCC) |
Line 86 FORTHB = $(BUILDFORTH) exboot.fs -e 'fpa
|
Line 109 FORTHB = $(BUILDFORTH) exboot.fs -e 'fpa
|
ENGINE_FAST = ./gforth-fast |
ENGINE_FAST = ./gforth-fast |
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 = ./gforthker -p ".$(PATHSEP)~+$(PATHSEP)$(srcdir)" |
#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 |
#the "-2 image-included-files +!" undoes the change to image-included-files |
# in exboot.fs |
# in exboot.fs |
Line 117 LDLIBS = @LIBS@
|
Line 140 LDLIBS = @LIBS@
|
STACK_CACHE_REGS = @STACK_CACHE_REGS@ |
STACK_CACHE_REGS = @STACK_CACHE_REGS@ |
STACK_CACHE_DEFAULT_FAST = @STACK_CACHE_DEFAULT_FAST@ |
STACK_CACHE_DEFAULT_FAST = @STACK_CACHE_DEFAULT_FAST@ |
|
|
# ------------ Install Directories |
|
|
|
VPATH = @srcdir@ |
|
prefix = @prefix@ |
|
exec_prefix = @exec_prefix@ |
|
srcdir = @srcdir@ |
|
bindir = @bindir@ |
|
#read-only architecture-independent files |
|
datarootdir = @datarootdir@ |
|
datadir = @datadir@ |
|
#read-only architecture-dependent non-ascii files |
|
libdir = @libdir@ |
|
libccdir = $(subst $(DESTDIR),,$(libdir)/gforth/$(VERSION)/libcc-named/) |
|
includedir = @includedir@ |
|
infodir = @infodir@ |
|
htmldir = @htmldir@ |
|
mandir = @mandir@ |
|
man1dir= $(mandir)/man1 |
|
man1ext= .1 |
|
#older emacses have their site-lisp in $(libdir)/emacs/ |
|
emacssitelispdir=@lispdir@ |
|
siteforthdir=$(datadir)/gforth/site-forth |
|
|
|
PROFOBJS = @PROFOBJS@ |
PROFOBJS = @PROFOBJS@ |
PROFEXES = @PROFEXES@ |
PROFEXES = @PROFEXES@ |
|
|
Line 181 KERN_SRC = \
|
Line 181 KERN_SRC = \
|
kernel/basics.fs \ |
kernel/basics.fs \ |
kernel/int.fs \ |
kernel/int.fs \ |
kernel/comp.fs \ |
kernel/comp.fs \ |
|
kernel/recognizer.fs \ |
kernel/io.fs \ |
kernel/io.fs \ |
kernel/input.fs \ |
kernel/input.fs \ |
kernel/license.fs \ |
kernel/license.fs \ |
Line 245 GFORTH_FI_SRC2=\
|
Line 246 GFORTH_FI_SRC2=\
|
simp-see.fs \ |
simp-see.fs \ |
source.fs \ |
source.fs \ |
startup.fs \ |
startup.fs \ |
|
str-exec.fs \ |
struct.fs \ |
struct.fs \ |
struct0x.fs \ |
struct0x.fs \ |
stuff.fs \ |
stuff.fs \ |
Line 261 GFORTH_FI_SRC2=\
|
Line 263 GFORTH_FI_SRC2=\
|
arch/arm/testdisasm.fs arch/arm/testdisasm.out arch/arm/Makefile \ |
arch/arm/testdisasm.fs arch/arm/testdisasm.out arch/arm/Makefile \ |
arch/mips/asm.fs arch/mips/disasm.fs arch/mips/insts.fs \ |
arch/mips/asm.fs arch/mips/disasm.fs arch/mips/insts.fs \ |
arch/mips/testasm.fs arch/mips/testdisasm.fs \ |
arch/mips/testasm.fs arch/mips/testdisasm.fs \ |
arch/power/asm.fs arch/power/disasm.fs arch/power/inst.fs |
arch/power/asm.fs arch/power/disasm.fs arch/power/inst.fs \ |
|
arch/lm32/asm.fs arch/lm32/testasm.fs |
|
|
# execlude envos.fs into list of distributed sources |
# execlude envos.fs into list of distributed sources |
GFORTH_FI_DIST_SRC = \ |
GFORTH_FI_DIST_SRC = \ |
Line 273 GFORTH_FI_SRC = \
|
Line 276 GFORTH_FI_SRC = \
|
envos.fs \ |
envos.fs \ |
$(GFORTH_FI_SRC2) |
$(GFORTH_FI_SRC2) |
|
|
LIBCC_SRC = cstr.fs unix/socket.fs |
LIBCC_SRC = cstr.fs unix/socket.fs unix/pthread.fs |
|
|
LIBCC_DIST_SRC = libffi.fs fflib.fs $(LIBCC_SRC) |
LIBCC_DIST_SRC = libffi.fs fflib.fs $(LIBCC_SRC) |
|
|
Line 289 FORTH_SRC = $(KERN_SRC) $(GFORTH_FI_DIST
|
Line 292 FORTH_SRC = $(KERN_SRC) $(GFORTH_FI_DIST
|
make-app.fs doc/makedoc.fs locate.fs more.fs onebench.fs \ |
make-app.fs doc/makedoc.fs locate.fs more.fs onebench.fs \ |
other.fs prims2x.fs prims2x0.6.2.fs proxy.fs random.fs \ |
other.fs prims2x.fs prims2x0.6.2.fs proxy.fs random.fs \ |
regexp.fs sokoban.fs string.fs table.fs tags.fs \ |
regexp.fs sokoban.fs string.fs table.fs tags.fs \ |
tt.fs \ |
tt.fs quotations.fs \ |
unbuffer.fs wordsets.fs xwords.fs \ |
unbuffer.fs wordsets.fs xwords.fs \ |
test/tester.fs test/ttester.fs \ |
test/tester.fs test/ttester.fs \ |
test/coretest.fs test/postpone.fs test/dbltest.fs \ |
test/coretest.fs test/postpone.fs test/dbltest.fs \ |
Line 381 ARCHS = \
|
Line 384 ARCHS = \
|
arch/r8c/lauflicht.fs \ |
arch/r8c/lauflicht.fs \ |
arch/r8c/tasker.fs \ |
arch/r8c/tasker.fs \ |
arch/r8c/terminal.fs \ |
arch/r8c/terminal.fs \ |
arch/sharc/unistd.h |
arch/sharc/unistd.h \ |
|
arch/lm32/mach.fs \ |
|
arch/lm32/mach.sh \ |
|
arch/lm32/prim.fs \ |
|
arch/lm32/Makefile \ |
|
arch/lm32/testasm.disas-ok |
|
|
#not included in distribution until distribution terms are included: |
#not included in distribution until distribution terms are included: |
ARCHS_NO_DIST = \ |
ARCHS_NO_DIST = \ |
Line 424 ENGINE_SOURCES = engine/Makefile.in engi
|
Line 432 ENGINE_SOURCES = engine/Makefile.in engi
|
engine/makefile.dos engine/makefile.os2 |
engine/makefile.dos engine/makefile.os2 |
|
|
SOURCES = $(ENGINE_SOURCES) compat Makefile.in Makedist.in \ |
SOURCES = $(ENGINE_SOURCES) compat Makefile.in Makedist.in \ |
gforthmi.in vmgen.in preforth.in gfgen README.vmgen NEWS.vmgen \ |
gforthmi.in vmgen.in preforth.in gforthker.in gfgen README.vmgen NEWS.vmgen \ |
autogen.sh configure.in configure config.sub config.guess \ |
autogen.sh configure.in configure config.sub config.guess \ |
elisp-comp missing stamp-h.in envos.fs.in \ |
elisp-comp missing stamp-h.in envos.fs.in \ |
iss.sh install-sh INSTALL INSTALL.BINDIST NEWS README ToDo BUGS \ |
iss.sh install-sh INSTALL INSTALL.BINDIST NEWS README ToDo BUGS \ |
Line 450 ENGINES = gforth$(EC)$(EXE) @NO_EC@ gfor
|
Line 458 ENGINES = gforth$(EC)$(EXE) @NO_EC@ gfor
|
|
|
ENGINES_FAST = @NO_EC@ gforth-fast$(OPT)$(EC)$(EXE) #gforth-native$(OPT)$(EC)$(EXE) |
ENGINES_FAST = @NO_EC@ gforth-fast$(OPT)$(EC)$(EXE) #gforth-native$(OPT)$(EC)$(EXE) |
|
|
GEN = $(ENGINES) $(ENGINES_FAST) gforth.elc |
GEN = $(ENGINES) $(ENGINES_FAST) @gforth_elc@ |
|
|
# 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 \ |
Line 464 FORTH_GEN_ENGINE_FAST= \
|
Line 472 FORTH_GEN_ENGINE_FAST= \
|
engine/costs-fast.i engine/super2-fast.i |
engine/costs-fast.i engine/super2-fast.i |
FORTH_GEN_PRIMB = $(FORTH_GEN_ENGINE) kernel/aliases.fs kernel/prim.fs |
FORTH_GEN_PRIMB = $(FORTH_GEN_ENGINE) kernel/aliases.fs kernel/prim.fs |
FORTH_GEN0 = prim.b $(FORTH_GEN_PRIMB) |
FORTH_GEN0 = prim.b $(FORTH_GEN_PRIMB) |
FORTH_GEN = $(FORTH_GEN0) @KERNEL@ @NO_EC@ gforth.fi |
FORTH_GEN = $(FORTH_GEN0) @KERNEL@ @NO_CROSS@ gforth.fi |
# this is used for antidependences, |
# this is used for antidependences, |
FORTH_GEN1 = $(FORTH_GEN0) @kernel_fi@ build-ec |
FORTH_GEN1 = $(FORTH_GEN0) @kernel_fi@ build-ec |
|
|
Line 493 GEN_PRECIOUS = $(FORTH_GEN) $(KERNLS) \
|
Line 501 GEN_PRECIOUS = $(FORTH_GEN) $(KERNLS) \
|
.SUFFIXES: |
.SUFFIXES: |
.SUFFIXES: .c .o |
.SUFFIXES: .c .o |
|
|
all: kernel/version.fs more @NO_EC@ check |
all: kernel/version.fs more @NO_CROSS@ check |
|
|
# use this dependency for phony targets just as mostlyclean,... |
# use this dependency for phony targets just as mostlyclean,... |
FORCE: ; |
FORCE: ; |
Line 635 install: gforth$(EC)$(EXE) $(FORTH_SRC)
|
Line 643 install: gforth$(EC)$(EXE) $(FORTH_SRC)
|
for i in $(FORTH_SRC) $(COMPAT) envos.fs prim; do \ |
for i in $(FORTH_SRC) $(COMPAT) envos.fs prim; do \ |
$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(datadir)/gforth/$(VERSION)/$$i; \ |
$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(datadir)/gforth/$(VERSION)/$$i; \ |
done |
done |
$(INSTALL_DATA) $(kernel_fi) $(DESTDIR)$(datadir)/gforth/$(VERSION) |
$(INSTALL_DATA) $(kernel_fi) $(DESTDIR)$(libdir)/gforth/$(VERSION) |
@if test -d "$(DESTDIR)$(emacssitelispdir)"; then \ |
@if test -d "$(DESTDIR)$(emacssitelispdir)"; then \ |
$(INSTALL_DATA) gforth.el $(DESTDIR)$(emacssitelispdir); \ |
for i in gforth.el @gforth_elc@; do \ |
$(INSTALL_DATA) gforth.elc $(DESTDIR)$(emacssitelispdir); \ |
$(INSTALL_DATA) $$i $(DESTDIR)$(emacssitelispdir); \ |
|
done; \ |
else \ |
else \ |
echo '>>>>>Please install gforth.{el,elc} in your .../emacs/site-lisp directory'; \ |
echo '>>>>>Please install gforth.{el,elc} in your .../emacs/site-lisp directory'; \ |
fi |
fi |
Line 689 check: gforths gforth.fi
|
Line 698 check: gforths gforth.fi
|
./gforth-fast --diag -e bye |
./gforth-fast --diag -e bye |
|
|
checkone test: gforth.fi engine/prim-s.i |
checkone test: 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>/dev/null | 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 |
$(FORTHS) test/coremore.fs test/gforth.fs test/macros.fs -e bye 2>&1 | tr -d '\015' | diff -c - $(srcdir)/test/gforth.out |
$(FORTHS) test/coremore.fs test/gforth.fs test/macros.fs -e bye 2>&1 | tr -d '\015' | diff -c - $(srcdir)/test/gforth.out |
Line 842 gforth$(OPT)$(EC)$(EXE): $(ENGINE_SOURCE
|
Line 851 gforth$(OPT)$(EC)$(EXE): $(ENGINE_SOURCE
|
$(CP) engine/$@ $@ && \ |
$(CP) engine/$@ $@ && \ |
$(MASSAGE_EXE) $@; \ |
$(MASSAGE_EXE) $@; \ |
@GFORTH_EXE@; \ |
@GFORTH_EXE@; \ |
@NO_EC@ $(MAKE) checkone check-nofast ENGINE=./engine/$@; \ |
@NO_CROSS@ $(MAKE) checkone check-nofast ENGINE=./engine/$@; \ |
fi |
fi |
|
|
optgforth: |
optgforth: |
Line 856 gforth-fast$(OPT)$(EC)$(EXE): $(ENGINE_S
|
Line 865 gforth-fast$(OPT)$(EC)$(EXE): $(ENGINE_S
|
$(CP) engine/$@ $@ && \ |
$(CP) engine/$@ $@ && \ |
$(MASSAGE_EXE) $@; \ |
$(MASSAGE_EXE) $@; \ |
@GFORTHFAST_EXE@; \ |
@GFORTHFAST_EXE@; \ |
@NO_EC@ $(MAKE) checkone ENGINE=./engine/$@; \ |
@NO_CROSS@ $(MAKE) checkone ENGINE=./engine/$@; \ |
fi |
fi |
|
|
optgforth-fast: |
optgforth-fast: |