File:
[gforth] /
gforth /
engine /
Makefile.in
Revision
1.27:
download - view:
text,
annotated -
select for diffs
Sun Dec 24 15:54:18 2000 UTC (23 years, 4 months ago) by
anton
Branches:
MAIN
CVS tags:
HEAD
finishing touches to dealing with inst-stream in prims2x.fs
converted prims to using this new feature for inline arguments (prefix '#')
commented out prim* targets in engine/Makefile.in (out-of-date)
#Makefile for the C part of Gforth
#Copyright (C) 1995,1996,1997,1998,2000 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., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
# ------------- gforth version
VERSION =@VERSION@
DOSVERSION=`echo $VERSION|sed 's/\.//g'`
EXE=@EXE@
# ------------- System specific variables
machine=@machine@
kernel_fi=@kernel_fi@
include_fi=gforth.fi
# this is the type of machine
# used to extend the include path with ./arch/$machine
# so we could include a machine specific
# machine.h file
PATHSEP = @PATHSEP@
osclass = @OSCLASS@
# ------------- Utility programs
SHELL = /bin/sh
RM = rm
RMTREE = rm -rf
CP = cp -p
TAR = tar cf -
GCC = @CC@
CC = $(GCC)
STRIP = strip
FORTHPATH = .$(PATHSEP)$(libdir)/gforth/site-forth$(PATHSEP)$(datadir)/gforth/site-forth$(PATHSEP)$(libdir)/gforth/$(VERSION)$(PATHSEP)$(datadir)/gforth/$(VERSION)
# ------------ Install Directorys
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
srcdir = @srcdir@
bindir = $(exec_prefix)/bin
#read-only architecture-independent files
datadir = $(prefix)/share
#read-only architecture-dependent non-ascii files
libdir = $(prefix)/lib
infodir = $(prefix)/info
mandir = $(prefix)/man
man1dir= $(mandir)/man1
man1ext= .1
# ------------- Compiler Flags
XCFLAGS = @CFLAGS@
XDEFINES = @DEFS@
SWITCHES = $(XCFLAGS) $(XDEFINES)
ENGINE_FLAGS = @ENGINE_FLAGS@ -fno-defer-pop -fcaller-saves
DEBUGFLAG = @DEBUGFLAG@
CFLAGS = $(DEBUGFLAG) -I$(srcdir)/../arch/$(machine) -I. -O3 -Wall $(SWITCHES) -DDEFAULTPATH=\"$(FORTHPATH)\"
CFLAGS2 = $(DEBUGFLAG) -I$(srcdir)/../arch/$(machine) -I. -O3 -Wall $(SWITCHES) -DDEFAULTPATH=\"$(FORTHPATH)\"
FORTHKFLAGS= --die-on-signal -p "..$(PATHSEP)$(srcdir)" -i ../$(kernel_fi)
FORTHK = ../gforth $(FORTHKFLAGS)
#John Wavrik should use -Xlinker -N to get a writable text (executable)
XLDFLAGS = @LDFLAGS@
LDFLAGS = $(DEBUGFLAG) $(XLDFLAGS)
LDLIBS = @LIBS@
AOBJECTS = io.o signals.o memcmpc.o @LIBOBJS@
OBJECTS = engine.o main.o
OBJECTS_FAST = engine-fast.o main-fast.o
OBJECTS_DITC = engine-ditc.o main-ditc.o
OBJECTS_FI = engine.o main-fi.o
# In engine subdirectory there are (or should be) only files that belong to
# our engine, so we can make life easy
DEPS = config.h *.h $(srcdir)/../arch/$(machine)/*.[h]
ENGINE_DEPS = engine.c $(DEPS) prim_lab.i prim.i
#some makes don't do the -o $@ correctly, so we help them
.c.o:
$(GCC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
gforth$(EXE): $(OBJECTS) $(AOBJECTS)
$(GCC) $(LDFLAGS) $(OBJECTS) $(AOBJECTS) $(LDLIBS) -o $@
gforth-fast$(EXE): $(OBJECTS_FAST) $(AOBJECTS)
$(GCC) $(LDFLAGS) $(OBJECTS_FAST) $(AOBJECTS) $(LDLIBS) -o $@
gforth-ditc$(EXE): $(OBJECTS_DITC) $(AOBJECTS)
$(GCC) $(LDFLAGS) $(OBJECTS_DITC) $(AOBJECTS) $(LDLIBS) -o $@
gforth-fi$(EXE): $(OBJECTS_FI) $(AOBJECTS)
$(GCC) $(LDFLAGS) $(OBJECTS_FI) $(AOBJECTS) $(LDLIBS) -o $@
engine.s: $(ENGINE_DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -S $(srcdir)/engine.c
engine.o: $(ENGINE_DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -DGFORTH_DEBUGGING -o $@ -c $(srcdir)/engine.c
engine-fast.o: $(ENGINE_DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -o $@ -c $(srcdir)/engine.c
engine-ditc.o: $(ENGINE_DEPS)
$(GCC) $(CFLAGS2) $(ENGINE_FLAGS) -DDOUBLY_INDIRECT -o $@ -c $(srcdir)/engine.c
main.o: main.c $(DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -DGFORTH_DEBUGGING -o $@ -c $(srcdir)/main.c
main-fast.o: main.c $(DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -o $@ -c $(srcdir)/main.c
main-ditc.o: main.c $(DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -DDOUBLY_INDIRECT -o $@ -c $(srcdir)/main.c
main-fi.o: main.c $(DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -DINCLUDE_IMAGE -o $@ -c $(srcdir)/main.c
engine: $(OBJECTS) $(OBJECTS0) ;
engine_ditc: $(OBJECTS_DITC) $(OBJECTS0) ;
#NeXTstep hack
termios.o: /usr/lib/libposix.a
ar x /usr/lib/libposix.a termios.o
#duplicated rules to avoid too many recursive make invocations
# !! No any forth stuff should be done in ../Makefile.
# !! I added the dependencies on prim.i and prim_lab.i in the main Makefile, jens
#I commented out the following rules because they are no longer up-to-date. - anton
#prim.i: ../prim.b ../prims2x.fs
# $(FORTHK) prims2x.fs -e "s\" ../prim.b\" ' output-c process-file bye" >$@-
# $(CP) $@- $@
# $(RM) $@-
#
#prim_lab.i: ../prim.b ../prims2x.fs
# $(FORTHK) prims2x.fs -e "s\" ../prim.b\" ' output-label process-file bye" >$@-
# $(CP) $@- $@
# $(RM) $@-
config.h: stamp-h
stamp-h: config.h.in ../config.status
cd .. && CONFIG_FILES=$@ CONFIG_HEADERS=engine/config.h ./config.status
echo timestamp > stamp-h
image.c: ../fi2c.fs ../$(include_fi)
$(FORTHK) fi2c.fs -e "s\" ../$(include_fi)\" fi2c bye" >$@
../$(include_fi): FORCE
cd .. && $(MAKE) $(include_fi)
#phony targets depend on FORCE; this is more portable than .PHONY
FORCE:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>