#Makefile for the C part of Gforth
#Copyright (C) 1995-1997 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.
# ------------- gforth version
VERSION =@VERSION@
DOSVERSION=`echo $VERSION|sed 's/\.//g'`
# ------------- System specific variables
machine=@machine@
# 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
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) -O4 -Wall $(SWITCHES) -DDEFAULTPATH=\"$(FORTHPATH)\"
#John Wavrik should use -Xlinker -N to get a writable text (executable)
XLDFLAGS = @LDFLAGS@
GCCLDFLAGS = @GCCLDFLAGS@
LDFLAGS = $(DEBUGFLAG) $(XLDFLAGS) $(GCCLDFLAGS)
LDLIBS = @LIBS@
AOBJECTS = io.o memcmpc.o @LIBOBJS@
OBJECTS = engine.o main.o
OBJECTS_DITC = engine-ditc.o main-ditc.o
# In engine subdirectory there are (or should be) only files that belong to
# our engine, so we can make life easy
ENGINE_DEPS = *.c *.h *.i ../arch/$(machine)/*.[ch]
gforth: $(OBJECTS) $(AOBJECTS)
$(GCC) $(LDFLAGS) $(OBJECTS) $(AOBJECTS) $(LDLIBS) -o $@
gforth-ditc: $(OBJECTS_DITC) $(AOBJECTS)
$(GCC) $(LDFLAGS) $(OBJECTS_DITC) $(AOBJECTS) $(LDLIBS) -o $@
engine.s: $(ENGINE_DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -S engine.c
engine.o: $(ENGINE_DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -c engine.c -o $@
engine-ditc.o: $(ENGINE_DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -DDOUBLY_INDIRECT -o $@ -c engine.c
main.o: $(ENGINE_DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -o $@ -c main.c
main-ditc.o: $(ENGINE_DEPS)
$(GCC) $(CFLAGS) $(ENGINE_FLAGS) -DDOUBLY_INDIRECT -o $@ -c 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
prim.i: FORCE
cd ..; $(MAKE) engine/$@
prim_lab.i: FORCE
cd ..; $(MAKE) engine/$@
#phony targets depend on FORCE; this is more portable than .PHONY
FORCE:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>