Sindbad~EG File Manager
#############################################################################
#
# Makefile for building Otter 3.1. There is no configuration script
# or higher-level make. Edit this file to configure compilation of
# Otter. There are three things you may need to change:
#
# DFLAGS - to control conditional compilation to enable/disable things
# CC - to specify the C compiler (usually cc or gcc)
# CFLAGS - to specify optimization, debugging, and profiling
#
# This should work as is for recent versions of Linux.
#
# To compile otter, "make" and cross your fingers!
# The binary will be left in this directory. There is no man page.
#
# !!!NOTE!!! On Solaris, you'll probably want to add -DTP_NO_CLOCKS
# to the DFLAGS line. If you don't, Otter might run VERY slowly.
#
#############################################################################
#############################################################################
#
# The DFLAGS symbol, defined after this section of comments, controls
# conditional compilation; it enables or disables various features.
#
# Enable features:
#
# -DTP_NAMES will get username, hostname.
# Don't use if you get errors about gethostname, getuid, getpwuid.
# -DTP_SIGNAL will cause some signals to be caught.
# Don't use if you get errors about signal, SIGINT, SIGSEGV.
# -DTP_FORK will allow interactive forks and case splitting.
# Don't use if you get errors about fork, wait.
# -DTP_RUSAGE for calls to getrusage() (user time, system time).
# Don't use if you get errors about rusage, getrusage, RUSAGE_SELF.
# For HP-UX, you might need -DHP_UX to use getrusage().
#
# Disable features:
#
# -DTP_NO_CLOCKS disables most timing---this can save a lot of system
# CPU time, because many operations are timed.
# This should definitely be used on FreeBSD (2.1.0), which seems
# to have a REALLY SLOW getrusage() system call.
# -DTP_ABSOLUTELY_NO_CLOCKS disables all of the timing.
# Use this as a last resort for timing or clock errrors.
#
# The full set of features:
#
# DFLAGS = -DTP_NAMES -DTP_SIGNAL -DTP_FORK -DTP_RUSAGE
#
###############
#
# Here are some notes about which features work on various OSs:
#
# Solaris (SunOS 5.7) - has a very slow getrusage() system call, so use
#
# DFLAGS = -DTP_NAMES -DTP_SIGNAL -DTP_FORK -DTP_RUSAGE -DTP_NO_CLOCKS
#
# HP-UX A.09.01 (snake) needs HP_UX to be defined (for getrusage macro):
#
# DFLAGS = -DHP_UX -DTP_NAMES -DTP_SIGNAL -DTP_FORK -DTP_RUSAGE
#
# MS Windows - see nonport.c, see DOS_GCC in the source.
#
# Macintosh - ???? - see macutils.c, see nonport.c, see THINK_C in the source
#
###############
# OK, here is where to define the DFLAGS:
DFLAGS = -DTP_NAMES -DTP_SIGNAL -DTP_FORK -DTP_RUSAGE -DTP_NO_CLOCKS
#############################################################################
#############################################################################
#
# Specify the C compiler. I recommend gcc (GNU C Compiler) if you have it.
# In many Linux environments, cc is just a symlink to gcc.
CC = cc
#############################################################################
#
# Specify the compiler flags; include DFLAGS (above) -- Pick one of these
#
# optimized
CFLAGS = -O $(DFLAGS)
#
# check for strict ANSI conformance with Solaris cc:
#
# CFLAGS = -Xc $(DFLAGS)
#
# various checks for gcc:
#
# CFLAGS = -ansi -pedantic -Wall $(DFLAGS)
# CFLAGS = -Wtraditional -Wpointer-arith -Wcast-qual -Wcast-align $(DFLAGS)
# CFLAGS = -Wconversion -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs $(DFLAGS)
#
# save symbols for debuggers
# CFLAGS = -g $(DFLAGS)
#
# optimized, debugging
# CFLAGS = -O -g $(DFLAGS)
#
# gprof profiling
# CFLAGS = -pg -O $(DFLAGS)
#
#############################################################################
FILES = av.c io.c share.c fpa.c clocks.c unify.c demod.c weight.c imd.c is.c clause.c options.c resolve.c index.c paramod.c formula.c process.c misc.c lrpo.c linkur.c linkhyp.c foreign.c geometry.c hot.c nonport.c check.c hints.c attrib.c case.c lisp.c ivy.c pickdiff.c overbeek.c
OBJECTS = av.o io.o share.o fpa.o clocks.o unify.o demod.o weight.o imd.o is.o clause.o options.o resolve.o index.o paramod.o formula.o process.o misc.o lrpo.o linkur.o linkhyp.o foreign.o geometry.o hot.o nonport.o check.o hints.o attrib.o case.o lisp.o ivy.o pickdiff.o overbeek.o
#############################################################################
otter: main.o $(OBJECTS)
$(CC) $(CFLAGS) main.o $(OBJECTS) -o otter
otterlib: main.o $(OBJECTS)
clean:
/bin/rm -f *.o
realclean:
/bin/rm -f *.o otter ../examples/*/*.out examples/Run_all.out[0-9]*
/bin/rm -f *~ ../*~ */*~ ../documents/*.{aux,dvi,log,bbl,blg}
prototypes:
/bin/csh make-prototypes main.c $(FILES)
lint:
lint $(DFLAGS) main.c $(FILES)
main.o $(OBJECTS): header.h
main.o $(OBJECTS): types.h
main.o $(OBJECTS): macros.h
main.o $(OBJECTS): cos.h
main.o $(OBJECTS): proto.h
foreign.o: foreign.h
lisp.o: lisp.h
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists