#
# makefile ---	makefile for portable Forth environment.
#		This file was generated automatically
#		  Tue Nov 22 23:03:46 MET 1994
#		on machine
#		  FreeBSD rz-wb.fh-sw.de 2.1.0-Development FreeBSD 2.1.0-Development #5: Mon Nov 21 19:43:07 MET 1994     root@rz-wb.fh-sw.de:/public/FreeBSD/src/sys/compile/rzwb  i386
#		by script
#		  ./config
#

# FreeBSD version.
SYSTEM	= FreeBSD
CC	= gcc -pipe -Wall
OPTS	= -D_BSD -DUSE_TERMCAP
OPTIM	= -DUSE_REGS
DEBUG	= -g
STRIP	= -s
LFLAGS	= -static
LIBS	= -ltermcap
TERM_O	= termcap.o
SYS_O	= unix.o
PREFIX?= /usr/local
PFELIB	= $(PREFIX)/lib/pfe
PFEHLP	= $(PFELIB)/help


# if you want a final optimized version uncomment these lines:
 CFLAGS +=	$(OPTS) $(OPTIM) -D$(SYSTEM) -DPREFIX=\"$(PREFIX)\"
 LDFLAGS =	$(OPTS) $(STRIP) $(LFLAGS)

# if you want a version for C-level debugging uncomment these lines:
# CFLAGS =	$(OPTS) $(DEBUG) -D$(SYSTEM) -DPREFIX=\"$(PREFIX)\"
# LDFLAGS =	$(OPTS) $(DEBUG) $(LFLAGS)


#==============================================================================
# dependencies
#==============================================================================

# object files that should be clean ANSI-C:
ANSOBJ =	core.o block.o double.o xception.o facility.o file.o \
		floating.o locals.o memory.o toolkit.o search.o string.o \
		forth-83.o lpf83.o misc.o showhelp.o debug.o dblsub.o \
		support.o dictnry.o vocs.o lined.o term.o version.o

# object files containing environmental dependencies:
ENVOBJ =	main.o $(TERM_O) 4ed.o signals.o sysdep.o $(SYS_O) shell.o \
		yours.o

OBJECTS =	$(ANSOBJ) $(ENVOBJ)

HEADERS =	forth.h config.h virtual.h options.h const.h types.h macros.h \
		support.h preload.h compiler.h dblsub.h term.h help.h lined.h


all:		pfe helpidx showhelp


pfe:		$(OBJECTS)
		$(CC) $(LDFLAGS) -o pfe $(OBJECTS) $(LIBS) -lm
		rm version.o

$(OBJECTS):	$(HEADERS)

.c.s:
		$(CC) $(CFLAGS) -S $<


clean:
		rm -rf	pfe helpidx showhelp core \
			*.core *.o *.s *.bak *~ '#'*'#'

new:		clean all

veryclean:	clean
		rm -f config.* makefile*

testit:		pfe
		( cd ..; src/pfe testsuite; cd src )


# Rules for the standalone help programs:

helpidx:	helpidx.o helpsub.o
		$(CC) $(LDFLAGS) -o helpidx helpidx.o helpsub.o

showhelp:	showhlps.o helpsub.o
		$(CC) $(LDFLAGS) -o showhelp showhlps.o helpsub.o

showhlps.o:	showhelp.c $(HEADERS)
		$(CC) $(CFLAGS) -DSTANDALONE -c showhelp.c -o showhlps.o

helpidx.o:	helpidx.c $(HEADERS)
		$(CC) $(CFLAGS) -DSTANDALONE -c helpidx.c -o helpidx.o

helpsub.o:	helpsub.c $(HEADERS)
		$(CC) $(CFLAGS) -DSTANDALONE -c helpsub.c -o helpsub.o

install:	all
		cp pfe $(PREFIX)/bin/pfe;\
		if [ ! -d $(PFELIB) ]; then mkdir $(PFELIB); fi	;\
		if [ ! -d $(PFEHLP) ]; then mkdir $(PFEHLP); fi	;\
		cp -p helpidx showhelp ../help/*.hlp $(PFEHLP)	;\
		cd $(PFEHLP)					;\
		./helpidx -o $(PFEHLP)/index *.hlp

