#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