|
|
BSD 4.3
###################################################################
###################################################################
### ###
### ###
### ***** * * ***** **** ***** **** ###
### * ** * * * * * * ###
### * * * * * *** **** *** *** ###
### * * ** * * * * * * ###
### ***** * * ***** * * ***** **** ###
### ###
### ###
### A relational database management system ###
### ###
### RELEASE 8 ###
### ###
###################################################################
###################################################################
#
# For information contact:
# Mike Stonebraker
# Dept. of Electrical Engineering &
# Computer Science
# University of California
# Berkeley, California 94720
#
#
# @(#)Makefile 8.3 1/31/86
#
#
# This makefile compiles most of the modules for the bulk of
# the INGRES system. The modules affected are those used by
# the "ingres" command itself. Stand-alone utilities such as
# "printr" and "restore" are in the 'support' directory.
#
#
# Major recompilation will take place from this directory.
# There are several interesting entry points:
# allclean cleans all cruft from all
# directories.
# allinstall installs binaries in the INGRES
# bin directory.
# INSTALL=actual entry point called.
# sysinstall installs that subset of the INGRES
# system in public directories.
# SYSBIN= bin directory that the binaries
# should live in.
# SYSLIB= directory that libraries should live
# in (typically /usr/lib).
# for all of these:
# CPUTYPE=type of cpu you are running on, either VAX
# or SUN.
#
# Examples of usage:
# To recompile entire system from sources:
# make allclean allinstall
# To install INGRES for general users:
# make allinstall sysinstall
# To print the entire system:
# make install INSTALL=print
# {yes, this is cheating}
#
#
# General system paths
#
# the ingres subtree
INGRES= ../..
# the location of the system header files
H= ../h
# the residence of the system (internal) libraries
LIB= $(INGRES)/lib
# the residence of the system (internal) binaries
# this entry must be reflected in the process table
BIN= $(INGRES)/bin
# the location of user binaries
SYSBIN= /usr/local
# the location of user libraries (libq.a)
SYSLIB= /usr/local/lib
# the cputype, VAX or SUN
CPUTYPE=VAX
ALL= monitor univingres sysmonitor sysmodfunc printadmin sysdump
SRCS= monitor.c univingres.c sysdump.c version.c sysmonitor.c sysmodfunc.c
#
# Libraries
#
# Libraries should be loaded in the order listed below.
#
CTLMOD= $(LIB)/ctlmod
IUTIL= $(LIB)/iutil
GUTIL= $(LIB)/gutil
MATH= -lm
ALLLIB= $(CTLMOD) $(IUTIL) $(GUTIL)
#
# Binaries
#
MONITOR=$(LIB)/monitor
SYSMONITOR=$(LIB)/sysmonlib
PARSER= $(LIB)/parser
QRYMOD= $(LIB)/qrymod
DECOMP= $(LIB)/decomp
OVQP= $(LIB)/ovqp
DBULIB= $(LIB)/dbulib
#
# Assorted commands & other garbage
#
CFLAGS= -I$H -O
LDFLAGS=
CHMOD= chmod
BINMODE=751
SUMODE= 4751
CP= cp
GET= sccs get
REL=
PR= print
VGRIND= csh /usr/ucb/vgrind
HEADER= Configuration Tables
MAKE= make CPUTYPE=$(CPUTYPE)
MFLAGS= -k
INSTALL=install
#
# And the processes....
#
# Proper loading order is:
# conf table
# library(s) for modules
# ctlmod library
# iutil library
# gutil library
#
# Sysmodfunc
sysmodfunc: version.o sysmodfunc.o $(DBULIB) $(CTLMOD) $(ALLLIB)
$(CC) $(LDFLAGS) version.o [email protected] $(DBULIB) $(OTHERS) $(ALLLIB) -o $@
$(CHMOD) $(SUMODE) $@
ls -l $@; size $@
# Sysdump
sysdump: version.o sysdump.o $(CTLMOD) $(ALLLIB)
$(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(ALLLIB) -o $@
$(CHMOD) $(SUMODE) $@
ls -l $@; size $@
# Monitor
monitor: version.o monitor.o $(MONITOR) $(CTLMOD) $(IUTIL) $(GUTIL)
$(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(MONITOR) $(CTLMOD) $(IUTIL) $(GUTIL) -o $@
$(CHMOD) $(BINMODE) $@
ls -l $@; size $@
# SysMonitor
sysmonitor: version.o sysmonitor.o $(SYSMONITOR) $(DBULIB) $(IUTIL) $(GUTIL)
$(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(SYSMONITOR) $(CTLMOD) $(IUTIL) $(GUTIL) -o $@
$(CHMOD) $(BINMODE) $@
ls -l $@; size $@
# Full System
ALLLIBS=$(PARSER) $(QRYMOD) $(DECOMP) $(OVQP) $(DBULIB) $(ALLLIB)
univingres: version.o univingres.o $(ALLLIBS)
$(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(ALLLIBS) $(MATH) -o $@
$(CHMOD) $(SUMODE) $@
ls -l $@; size $@
#################################################################
#
# Install the world
#
install: $(BIN)/univingres $(BIN)/sysdump $(BIN)/monitor \
$(BIN)/sysmonitor $(BIN)/sysmodfunc
$(BIN)/monitor: monitor
$(CP) monitor $(BIN)/monitor
$(BIN)/sysmonitor: sysmonitor
$(CP) sysmonitor $(BIN)/sysmonitor
$(BIN)/parser: parser
$(CP) parser $(BIN)/parser; $(CHMOD) $(SUMODE) $(BIN)/parser
$(BIN)/qrymod: qrymod
$(CP) qrymod $(BIN)/qrymod; $(CHMOD) $(SUMODE) $(BIN)/qrymod
$(BIN)/decomp: decomp
$(CP) decomp $(BIN)/decomp; $(CHMOD) $(SUMODE) $(BIN)/decomp
$(BIN)/alldbu: alldbu
$(CP) alldbu $(BIN)/alldbu; $(CHMOD) $(SUMODE) $(BIN)/alldbu
$(BIN)/univingres: univingres
$(CP) univingres $(BIN)/univingres; $(CHMOD) $(SUMODE) $(BIN)/univingres
$(BIN)/sysdump: sysdump
$(CP) sysdump $(BIN)/sysdump; $(CHMOD) $(SUMODE) $(BIN)/sysdump
$(BIN)/sysmodfunc: sysmodfunc
$(CP) sysmodfunc $(BIN)/sysmodfunc; $(CHMOD) $(SUMODE) $(BIN)/sysmodfunc
allinstall: version.o all1 install
all1:
cd ../h; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../gutil; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../iutil; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../ctlmod; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../dbu; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../decomp; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../equel; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../libq; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../monitor; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../ovqp; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../parser; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../qrymod; $(MAKE) $(MFLAGS) $(INSTALL)
cd ../support; $(MAKE) $(MFLAGS) $(INSTALL)
# install the user programs
sysinstall:
@echo 'you may have to be root for this to work....'
cd ../support; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall
cd ../equel; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall
cd ../libq; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall
#################################################################
#
# Miscellaneous entries
#
new:
rm -f $(ALL)
print: sources
$(PR) Makefile *.[csy]
vgrind: sources
cp /dev/null index
$(VGRIND) -h "$(HEADER) (Release 8)" -n Makefile
$(VGRIND) -h "$(HEADER) (Release 8)" *.[csy]
$(VGRIND) -h "$(HEADER) (Release 8)" -x index
clean: new
rm -f *.o
rm -f a.out core
allclean: clean
cd ../h; $(MAKE) $(MFLAGS) clean
cd ../gutil; $(MAKE) $(MFLAGS) clean
cd ../iutil; $(MAKE) $(MFLAGS) clean
cd ../ctlmod; $(MAKE) $(MFLAGS) clean
cd ../dbu; $(MAKE) $(MFLAGS) clean
cd ../decomp; $(MAKE) $(MFLAGS) clean
cd ../equel; $(MAKE) $(MFLAGS) clean
cd ../libq; $(MAKE) $(MFLAGS) clean
cd ../monitor; $(MAKE) $(MFLAGS) clean
cd ../ovqp; $(MAKE) $(MFLAGS) clean
cd ../parser; $(MAKE) $(MFLAGS) clean
cd ../qrymod; $(MAKE) $(MFLAGS) clean
cd ../support; $(MAKE) $(MFLAGS) clean
tags:
cp /dev/null ../tags
cd ../h; $(MAKE) $(MFLAGS) systags
cd ../gutil; $(MAKE) $(MFLAGS) systags
cd ../iutil; $(MAKE) $(MFLAGS) systags
cd ../ctlmod; $(MAKE) $(MFLAGS) systags
cd ../dbu; $(MAKE) $(MFLAGS) systags
cd ../decomp; $(MAKE) $(MFLAGS) systags
cd ../equel; $(MAKE) $(MFLAGS) systags
cd ../libq; $(MAKE) $(MFLAGS) systags
cd ../monitor; $(MAKE) $(MFLAGS) systags
cd ../ovqp; $(MAKE) $(MFLAGS) systags
cd ../parser; $(MAKE) $(MFLAGS) systags
cd ../qrymod; $(MAKE) $(MFLAGS) systags
cd ../support; $(MAKE) $(MFLAGS) systags
sort -o ../tags ../tags
cd ../h; $(MAKE) $(MFLAGS) installtags
cd ../gutil; $(MAKE) $(MFLAGS) installtags
cd ../iutil; $(MAKE) $(MFLAGS) installtags
cd ../ctlmod; $(MAKE) $(MFLAGS) installtags
cd ../dbu; $(MAKE) $(MFLAGS) installtags
cd ../decomp; $(MAKE) $(MFLAGS) installtags
cd ../equel; $(MAKE) $(MFLAGS) installtags
cd ../libq; $(MAKE) $(MFLAGS) installtags
cd ../monitor; $(MAKE) $(MFLAGS) installtags
cd ../ovqp; $(MAKE) $(MFLAGS) installtags
cd ../parser; $(MAKE) $(MFLAGS) installtags
cd ../qrymod; $(MAKE) $(MFLAGS) installtags
cd ../support; $(MAKE) $(MFLAGS) installtags
sources: $(SRCS)
$(SRCS):
$(GET) $(REL) $@
depend:
grep '^#[ ]*include' $(SRCS) | sed -n -f ../h/depend.sed > makedep
echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
echo '$$r makedep' >>eddep
echo 'w' >>eddep
cp Makefile Makefile.bak
ed - Makefile < eddep
rm eddep makedep
echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
echo '# see make depend above' >> Makefile
# DO NOT DELETE THIS LINE -- make depend uses it
monitor.o:$H/func.h
parser.o:$H/ingres.h
parser.o:$H/aux.h
parser.o:$H/access.h
parser.o:$H/func.h
qrymod.o:$H/func.h
decomp.o:$H/func.h
alldbu.o:$H/func.h
vaxingres.o:$H/ingres.h
vaxingres.o:$H/aux.h
vaxingres.o:$H/access.h
vaxingres.o:$H/func.h
sysdump.o:$H/func.h
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.