File:  [gforth] / gforth / engine / Makefile.in
Revision 1.5: download - view: text, annotated - select for diffs
Sat May 2 21:29:01 1998 UTC (25 years, 11 months ago) by pazsan
Branches: MAIN
CVS tags: HEAD
Mega-Patch; lots of changes

#Makefile for library replace functions

#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_MAJOR=0
VERSION_MINOR=4
VERSION_RELEASE=0
VERSION =$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_RELEASE)
DOSVERSION=$(VERSION_MAJOR)$(VERSION_MINOR)$(VERSION_RELEASE)

# ------------- System specific variables

machine=@mach_h@
# 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 = $(libdir)/gforth/site-forth$(PATHSEP)$(datadir)/gforth/site-forth$(PATHSEP)$(libdir)/gforth/$(VERSION)$(PATHSEP)$(datadir)/gforth/$(VERSION)$(PATHSEP).

# ------------	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
#older emacses have their site-lisp in $(libdir)/emacs/
emacssitelispdir=$(datadir)/emacs/site-lisp

# ------------- Compiler Flags

XCFLAGS	= @CFLAGS@
XDEFINES = @DEFS@
SWITCHES = $(XCFLAGS) $(XDEFINES)
ENGINE_FLAGS = @ENGINE_FLAGS@ -fno-defer-pop -fcaller-saves
DEBUGFLAG = @DEBUGFLAG@
CFLAGS	= $(DEBUGFLAG) -I../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@ @getopt_long@

OBJECTS0 = replace.a
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)/*

all:	replace.a

replace.a:	$(AOBJECTS)
		ar r $@ $(AOBJECTS)

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


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>