home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
lifeos2.zip
/
LIFE-1.02
/
SOURCE
/
MAKEFILE.IN
< prev
next >
Wrap
Text File
|
1996-06-04
|
7KB
|
212 lines
# DIST: This is the distribution Makefile for WILD Life. configure
# DIST: can make most of the changes to this file you might want, so
# DIST: try that first.
SHELL = /bin/sh
@SET_MAKE@
CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
DEFS = @DEFS@
RANLIB = @RANLIB@
INSTALL = @INSTALL@
MKDIRHIER = @MKDIRHIER@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = ${exec_prefix}/bin
libdir = ${prefix}/lib/life
srcdir = @srcdir@
VPATH = @srcdir@
X_CFLAGS = @X_CFLAGS@
X_LIBS = @X_LIBS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
XLIBS = ${X_PRE_LIBS} ${X_LIBS} -lX11 ${X_EXTRA_LIBS}
XLIBRARIES = @XLIBRARIES@
MKDEP = @MKDEP@
SETUPDIR = ${libdir}
SETUP = ${SETUPDIR}/Source/.set_up
INCLUDE_PATHS = @x_includes@
XSOURCE = @XSOURCE@
XOBJECT = @XOBJECT@
XINCLUDE = @XINCLUDE@
DBMSOURCE = @DBMSOURCE@
DBMOBJECT = @DBMOBJECT@
#=====================================================================
# For Linux:
# The following variable should contain the pathname of the GCC include
# directory. Run 'gcc -v' to find where gcc's directories are, then edit
# the sample pathname below to be correct.
#INCLUDE_PATHS = -I/usr/lib/gcc-lib/i[34]86-linux/<version>/include
#
# For Linux (continued):
# This is an example of a definition that works on a Gateway 2000 machine:
#INCLUDE_PATHS = -I/usr/lib/gcc-lib/i486-linux/2.4.5/include -I/usr/include/bsd
#
# For Solaris
#INCLUDE_PATHS = -I/usr/openwin/include
#=====================================================================
#=====================================================================
# -DNORAW
# Add this if the low-level (unbuffered) terminal input file (raw.c) won't
# compile on your system. On SunOS for some reason this file will include some
# library files twice. This does not seem to make any difference.
#
# -DNEED_TRUNC
# If defined, adds a definition of the 'trunc' function.
#
# -DX11
# If defined, will cause the X interface to be linked in. If it is not
# defined then the system will contain no X interface. -lX11 should be
# removed from LOADFLAGS in that case (see below).
#
# -DGARBCOL
# If defined will cause the garbage collector to be called when memory is low.
#
# -DUNIF_DEBUG
# If defined causes the 'debug' mode to show matching and unification sub-goals.
#=====================================================================
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c
XCOMPILE.c = $(CC) $(CFLAGS) $(X_CFLAGS) $(CPPFLAGS) $(DEFS) -c
.c.o:
$(COMPILE.c) -o $@ $<
#=====================================================================
# MEMORY is the number of words that the system will allocate.
# Because of the half-space GC, Wild-LIFE will actually allocate twice that
# many words. So on a 32-bit system, multiply by 8 to obtain the real memory
# usage in bytes. The default size results in about 17MB virtual memory size.
# If this is too big for your system then redefine MEMORY as suggested below.
#
# The memory size given by MEMORY is overridden by
# the command line argument: "-memoryNNNNNNNN"
#
# Normal version (totals about 17 MB virtual)
#MEMORY = 2097152
#
# Smaller versions--take your pick.
# The smallest totals about 5 MB virtual.
# Under Linux, one of the smaller versions may run better--it depends on
# how much RAM and swap space your machine has.
#MEMORY = 1048576
#MEMORY = 524288
#=====================================================================
PROGRAM = wild_life
XSRC = xpred.c xdisplaylist.c
XOBJ = xpred.o xdisplaylist.o
XINC = xpred.h xdisplaylist.h
LIBSOURCE = \
arity.c bi_math.c bi_sys.c bi_type.c built_ins.c copy.c error.c \
hash_table.c info.c interrupt.c lefun.c lib.c list.c login.c \
lub.c memory.c modules.c parser.c print.c raw.c sys.c templates.c \
token.c trees.c types.c $(XSOURCE) $(DBMSOURCE)
LIBOBJECT = \
arity.o bi_math.o bi_sys.o bi_type.o built_ins.o copy.o error.o \
hash_table.o Info.o interrupt.o lefun.o Lib.o list.o login.o \
lub.o memory.o modules.o parser.o print.o raw.o sys.o templates.o \
token.o trees.o types.o $(XOBJECT) $(DBMOBJECT)
LIBINCLUDE = \
built_ins.h c_life.h copy.h error.h extern.h info.h interrupt.h \
lefun.h list.h login.h memory.h modules.h parser.h print.h raw.h \
templates.h token.h trees.h types.h $(XINCLUDE) \
sys.h
REINCLUDE = regexp.h
PROGINCLUDE = $(LIBINCLUDE)
PROGSOURCE = $(LIBSOURCE) life.c
PROGOBJECT = $(LIBOBJECT) life.o
PROGSOURCELIFE = built_ins.lf term_expansion.lf onlinedoc.lf
MANPAGE = $(PROGRAM).1
LIBA = c_life.a
# Please don't change this so we can tell which release you are using.
DATE = Fri Jul 7 13:57:49 PDT 1995
VERSION = 1.02
all: $(LIBA) $(PROGRAM) .set_up Demo
@echo
@echo "Life generation done"
@echo
Demo:
cd ../Demo; $(MAKE) SETUPDIR="$(SETUPDIR)"
regexp/regexp.o regexp/regsub.o: RegExp
@echo "Regular Expression Package: $@ done"
RegExp:
cd regexp; $(MAKE) r CC="$(CC)" CFLAGS="$(CFLAGS)"
$(PROGRAM): $(LIBA) Life.o
$(CC) -o $(PROGRAM) Life.o $(LIBA) $(LDFLAGS) $(LIBS) $(XLIBRARIES)
.set_up: .set_up_basis
sed -e "s%+SETUPDIR+%$(SETUPDIR)%g" < .set_up_basis > .set_up
clean:
-rm *~ *.o *.a .set_up Life.c Lib.c $(PROGRAM)
cd regexp; $(MAKE) clean
veryclean: clean
-rm *.cache *.status Makefile
cd regexp; $(MAKE) veryclean
Life.c: life.c Makefile
sed -e "s%+SETUP+%$(SETUP)%" < life.c > Life.c
Lib.c: lib.c Makefile
sed -e "s%+SETUP+%$(SETUP)%" < lib.c > Lib.c
Info.c: $(PROGSOURCE) $(PROGINCLUDE)
@echo Don\'t be surprised, info is compiled "for ${DATE} because" something has changed
sed -e "s/+VERSION+/$(VERSION)/" \
-e "s/+DATE+/$(DATE)/" < info.c > Info.c
$(LIBA): regexp/regexp.o regexp/regsub.o $(LIBOBJECT)
-rm -f $(LIBA)
ar cr $(LIBA) $(LIBOBJECT) regexp/regexp.o regexp/regsub.o
$(RANLIB) $(LIBA)
xpred.o: xpred.c
$(XCOMPILE.c) -o $@ $<
xdisplaylist.o: xdisplaylist.c
$(XCOMPILE.c) -o $@ $<
MKINSTALL = $(MAKE) MKDIRHIER="$(MKDIRHIER)"\
libdir="$(libdir)" INSTALL="$(INSTALL)" srcdir="$(srcdir)" install
install: $(PROGRAM) .set_up
test -d $(bindir) || $(MKDIRHIER) $(bindir)
$(INSTALL) -m 755 $(PROGRAM) $(bindir)/$(PROGRAM)
test -d $(libdir) || $(MKDIRHIER) $(libdir)
test -d $(libdir)/Source || $(MKDIRHIER) $(libdir)/Source
$(INSTALL) -m 744 .set_up $(libdir)/Source
$(INSTALL) -m 744 built_ins.lf $(libdir)/Source
$(INSTALL) -m 744 onlinedoc.lf $(libdir)/Source
$(INSTALL) -m 744 term_expansion.lf $(libdir)/Source
cd $(srcdir)/../Lib; $(MKINSTALL)
cd $(srcdir)/../Tools; $(MKINSTALL)
cd $(srcdir)/../Examples; $(MKINSTALL)
cd $(srcdir)/../Doc; $(MKINSTALL)
cd $(srcdir)/../Demo; $(MKINSTALL)
#=====================================================================
# Dependencies
depend:
$(MKDEP) $(CPPFLAGS) $(DEFS) $(INCLUDE_PATHS) $(PROGSOURCE)