netgen/dbug/Makefile

212 lines
4.2 KiB
Makefile
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# FILE
#
# Makefile Makefile for dbug package
#
# SCCS ID
#
# @(#)Makefile 1.11 3/12/88
#
# DESCRIPTION
#
# Makefile for the dbug package (under UNIX system V or 4.2BSD).
#
# Interesting things to make are:
#
# lib => Makes the runtime support library in the
# current directory.
#
# lintlib => Makes the lint library in the current directory.
#
# install => Install pieces from current directory to
# where they belong.
#
# doc => Makes the documentation in the current
# directory.
#
# clean => Remove objects, temporary files, etc from
# current directory.
#
# superclean => Remove everything except sccs source files.
# Uses interactive remove for verification.
# Define NO_VARARGS if you have no <varargs.h> to include.
#VARARGS = -DNO_VARARGS
SH = /bin/sh
AR = ar
RM = rm
CFLAGS = -O $(VARARGS)
GFLAGS = -s
INSTALL = $(SH) install.sh
CHMOD = chmod
MAKE = make
INC = /usr/include/local
LIB = /usr/lib
RANLIB = $(SH) ranlib.sh
MODE = 664
# The following is provided for example only, it is set by "doinstall.sh".
LLIB = /usr/lib
.SUFFIXES: .r .r~ .c .c~
.c~.c:
$(GET) $(GFLAGS) -p $< >$*.c
.r~.r:
$(GET) $(GFLAGS) -p $< >$*.r
.c~.r:
$(GET) $(GFLAGS) -p $< >$*.c
sed "s/\\\/\\\e/" <$*.c >$*.r
$(RM) -f $*.c
.c.r:
sed "s/\\/\\e/" <$< >$*.r
# sed "s/\\\/\\\e/" <$< >$*.r
EXAMPLES = example1.r example2.r example3.r
OUTPUTS = output1.r output2.r output3.r output4.r output5.r
NROFF_INC = main.r factorial.r $(OUTPUTS) $(EXAMPLES)
#
# The default thing to do is remake the local runtime support
# library, local lint library, and local documentation as
# necessary.
#
all : lib lintlib analyze doc
lib : libdbug.a
lintlib : llib-ldbug.ln
doc : factorial user.t
#
# Make the local runtime support library "libdbug.a" from
# sources.
#
libdbug.a : dbug.o
rm -f $@
$(AR) cr $@ $?
$(RANLIB) $@
#
# Clean up the local directory.
#
clean :
$(RM) -f *.o *.ln *.a *.BAK nohup.out factorial $(NROFF_INC)
superclean :
$(RM) -i ?[!.]*
#
# Install the new header and library files. Since things go in
# different places depending upon the system (lint libraries
# go in /usr/lib under SV and /usr/lib/lint under BSD for example),
# the shell script "doinstall.sh" figures out the environment and
# does a recursive make with the appropriate pathnames set.
#
install :
$(SH) doinstall.sh $(MAKE) sysinstall
sysinstall: $(INC) $(INC)/dbug.h $(LIB)/libdbug.a \
$(LLIB)/llib-ldbug.ln $(LLIB)/llib-ldbug
$(INC) :
-if test -d $@ ;then true ;else mkdir $@ ;fi
$(INC)/dbug.h : dbug.h
$(INSTALL) $? $@
$(CHMOD) $(MODE) $@
$(LIB)/libdbug.a : libdbug.a
$(INSTALL) $? $@
$(CHMOD) $(MODE) $@
$(LLIB)/llib-ldbug.ln : llib-ldbug.ln
$(INSTALL) $? $@
$(CHMOD) $(MODE) $@
$(LLIB)/llib-ldbug : llib-ldbug
$(INSTALL) $? $@
$(CHMOD) $(MODE) $@
#
# Make the local lint library.
#
llib-ldbug.ln : llib-ldbug
$(SH) mklintlib.sh $? $@
#
# Make the test/example program "factorial".
#
# Note that the objects depend on the LOCAL dbug.h file and
# the compilations are set up to find dbug.h in the current
# directory even though the sources have "#include <dbug.h>".
# This allows the examples to look like the code a user would
# write but still be used as test cases for new versions
# of dbug.
factorial : main.o factorial.o libdbug.a
$(CC) -o $@ main.o factorial.o libdbug.a
main.o : main.c dbug.h
$(CC) $(CFLAGS) -c -I. main.c
factorial.o : factorial.c dbug.h
$(CC) $(CFLAGS) -c -I. factorial.c
#
# Make the analyze program for runtime profiling support.
#
analyze : analyze.o libdbug.a
$(CC) -o $@ analyze.o libdbug.a
analyze.o : analyze.c useful.h dbug.h
$(CC) $(CFLAGS) -c -I. analyze.c
#
# Rebuild the documentation
#
user.t : user.r $(NROFF_INC)
nroff -cm user.r >$@
#
# Run the factorial program to produce the sample outputs.
#
output1.r: factorial
./factorial 1 2 3 4 5 >$@
output2.r: factorial
./factorial -#t:o 2 3 >$@
output3.r: factorial
./factorial -#d:t:o 3 >$@
output4.r: factorial
./factorial -#d,result:o 4 >$@
output5.r: factorial
./factorial -#d:f,factorial:F:L:o 3 >$@
#
# All files included by user.r depend on user.r, thus
# forcing them to be remade if user.r changes.
#
$(NROFF_INC) : user.r