|
|
1.1 root 1: ###################################################################
2: ###################################################################
3: ### ###
4: ### ###
5: ### ***** * * ***** **** ***** **** ###
6: ### * ** * * * * * * ###
7: ### * * * * * *** **** *** *** ###
8: ### * * ** * * * * * * ###
9: ### ***** * * ***** * * ***** **** ###
10: ### ###
11: ### ###
12: ### A relational database management system ###
13: ### ###
14: ### RELEASE 8 ###
15: ### ###
16: ###################################################################
17: ###################################################################
18: #
19: # For information contact:
20: # Mike Stonebraker
21: # Dept. of Electrical Engineering &
22: # Computer Science
23: # University of California
24: # Berkeley, California 94720
25: #
26:
27: #
28: # @(#)Makefile 8.3 1/31/86
29: #
30:
31: #
32: # This makefile compiles most of the modules for the bulk of
33: # the INGRES system. The modules affected are those used by
34: # the "ingres" command itself. Stand-alone utilities such as
35: # "printr" and "restore" are in the 'support' directory.
36: #
37:
38: #
39: # Major recompilation will take place from this directory.
40: # There are several interesting entry points:
41: # allclean cleans all cruft from all
42: # directories.
43: # allinstall installs binaries in the INGRES
44: # bin directory.
45: # INSTALL=actual entry point called.
46: # sysinstall installs that subset of the INGRES
47: # system in public directories.
48: # SYSBIN= bin directory that the binaries
49: # should live in.
50: # SYSLIB= directory that libraries should live
51: # in (typically /usr/lib).
52: # for all of these:
53: # CPUTYPE=type of cpu you are running on, either VAX
54: # or SUN.
55: #
56: # Examples of usage:
57: # To recompile entire system from sources:
58: # make allclean allinstall
59: # To install INGRES for general users:
60: # make allinstall sysinstall
61: # To print the entire system:
62: # make install INSTALL=print
63: # {yes, this is cheating}
64: #
65:
66: #
67: # General system paths
68: #
69:
70: # the ingres subtree
71: INGRES= ../..
72: # the location of the system header files
73: H= ../h
74: # the residence of the system (internal) libraries
75: LIB= $(INGRES)/lib
76: # the residence of the system (internal) binaries
77: # this entry must be reflected in the process table
78: BIN= $(INGRES)/bin
79: # the location of user binaries
80: SYSBIN= /usr/local
81: # the location of user libraries (libq.a)
82: SYSLIB= /usr/local/lib
83: # the cputype, VAX or SUN
84: CPUTYPE=VAX
85:
86: ALL= monitor univingres sysmonitor sysmodfunc printadmin sysdump
87:
88: SRCS= monitor.c univingres.c sysdump.c version.c sysmonitor.c sysmodfunc.c
89:
90: #
91: # Libraries
92: #
93: # Libraries should be loaded in the order listed below.
94: #
95: CTLMOD= $(LIB)/ctlmod
96: IUTIL= $(LIB)/iutil
97: GUTIL= $(LIB)/gutil
98: MATH= -lm
99:
100: ALLLIB= $(CTLMOD) $(IUTIL) $(GUTIL)
101:
102: #
103: # Binaries
104: #
105: MONITOR=$(LIB)/monitor
106: SYSMONITOR=$(LIB)/sysmonlib
107: PARSER= $(LIB)/parser
108: QRYMOD= $(LIB)/qrymod
109: DECOMP= $(LIB)/decomp
110: OVQP= $(LIB)/ovqp
111: DBULIB= $(LIB)/dbulib
112:
113: #
114: # Assorted commands & other garbage
115: #
116: CFLAGS= -I$H -O
117: LDFLAGS=
118: CHMOD= chmod
119: BINMODE=751
120: SUMODE= 4751
121: CP= cp
122: GET= sccs get
123: REL=
124: PR= print
125: VGRIND= csh /usr/ucb/vgrind
126: HEADER= Configuration Tables
127: MAKE= make CPUTYPE=$(CPUTYPE)
128: MFLAGS= -k
129: INSTALL=install
130:
131: #
132: # And the processes....
133: #
134: # Proper loading order is:
135: # conf table
136: # library(s) for modules
137: # ctlmod library
138: # iutil library
139: # gutil library
140: #
141: # Sysmodfunc
142:
143: sysmodfunc: version.o sysmodfunc.o $(DBULIB) $(CTLMOD) $(ALLLIB)
144: $(CC) $(LDFLAGS) version.o [email protected] $(DBULIB) $(OTHERS) $(ALLLIB) -o $@
145: $(CHMOD) $(SUMODE) $@
146: ls -l $@; size $@
147:
148: # Sysdump
149:
150: sysdump: version.o sysdump.o $(CTLMOD) $(ALLLIB)
151: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(ALLLIB) -o $@
152: $(CHMOD) $(SUMODE) $@
153: ls -l $@; size $@
154:
155: # Monitor
156:
157: monitor: version.o monitor.o $(MONITOR) $(CTLMOD) $(IUTIL) $(GUTIL)
158: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(MONITOR) $(CTLMOD) $(IUTIL) $(GUTIL) -o $@
159: $(CHMOD) $(BINMODE) $@
160: ls -l $@; size $@
161:
162: # SysMonitor
163:
164: sysmonitor: version.o sysmonitor.o $(SYSMONITOR) $(DBULIB) $(IUTIL) $(GUTIL)
165: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(SYSMONITOR) $(CTLMOD) $(IUTIL) $(GUTIL) -o $@
166: $(CHMOD) $(BINMODE) $@
167: ls -l $@; size $@
168:
169: # Full System
170:
171: ALLLIBS=$(PARSER) $(QRYMOD) $(DECOMP) $(OVQP) $(DBULIB) $(ALLLIB)
172:
173: univingres: version.o univingres.o $(ALLLIBS)
174: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(ALLLIBS) $(MATH) -o $@
175: $(CHMOD) $(SUMODE) $@
176: ls -l $@; size $@
177:
178: #################################################################
179: #
180: # Install the world
181: #
182:
183: install: $(BIN)/univingres $(BIN)/sysdump $(BIN)/monitor \
184: $(BIN)/sysmonitor $(BIN)/sysmodfunc
185:
186: $(BIN)/monitor: monitor
187: $(CP) monitor $(BIN)/monitor
188: $(BIN)/sysmonitor: sysmonitor
189: $(CP) sysmonitor $(BIN)/sysmonitor
190: $(BIN)/parser: parser
191: $(CP) parser $(BIN)/parser; $(CHMOD) $(SUMODE) $(BIN)/parser
192: $(BIN)/qrymod: qrymod
193: $(CP) qrymod $(BIN)/qrymod; $(CHMOD) $(SUMODE) $(BIN)/qrymod
194: $(BIN)/decomp: decomp
195: $(CP) decomp $(BIN)/decomp; $(CHMOD) $(SUMODE) $(BIN)/decomp
196: $(BIN)/alldbu: alldbu
197: $(CP) alldbu $(BIN)/alldbu; $(CHMOD) $(SUMODE) $(BIN)/alldbu
198: $(BIN)/univingres: univingres
199: $(CP) univingres $(BIN)/univingres; $(CHMOD) $(SUMODE) $(BIN)/univingres
200: $(BIN)/sysdump: sysdump
201: $(CP) sysdump $(BIN)/sysdump; $(CHMOD) $(SUMODE) $(BIN)/sysdump
202: $(BIN)/sysmodfunc: sysmodfunc
203: $(CP) sysmodfunc $(BIN)/sysmodfunc; $(CHMOD) $(SUMODE) $(BIN)/sysmodfunc
204:
205: allinstall: version.o all1 install
206:
207: all1:
208: cd ../h; $(MAKE) $(MFLAGS) $(INSTALL)
209: cd ../gutil; $(MAKE) $(MFLAGS) $(INSTALL)
210: cd ../iutil; $(MAKE) $(MFLAGS) $(INSTALL)
211: cd ../ctlmod; $(MAKE) $(MFLAGS) $(INSTALL)
212: cd ../dbu; $(MAKE) $(MFLAGS) $(INSTALL)
213: cd ../decomp; $(MAKE) $(MFLAGS) $(INSTALL)
214: cd ../equel; $(MAKE) $(MFLAGS) $(INSTALL)
215: cd ../libq; $(MAKE) $(MFLAGS) $(INSTALL)
216: cd ../monitor; $(MAKE) $(MFLAGS) $(INSTALL)
217: cd ../ovqp; $(MAKE) $(MFLAGS) $(INSTALL)
218: cd ../parser; $(MAKE) $(MFLAGS) $(INSTALL)
219: cd ../qrymod; $(MAKE) $(MFLAGS) $(INSTALL)
220: cd ../support; $(MAKE) $(MFLAGS) $(INSTALL)
221:
222: # install the user programs
223: sysinstall:
224: @echo 'you may have to be root for this to work....'
225: cd ../support; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall
226: cd ../equel; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall
227: cd ../libq; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall
228:
229: #################################################################
230: #
231: # Miscellaneous entries
232: #
233:
234: new:
235: rm -f $(ALL)
236:
237: print: sources
238: $(PR) Makefile *.[csy]
239:
240: vgrind: sources
241: cp /dev/null index
242: $(VGRIND) -h "$(HEADER) (Release 8)" -n Makefile
243: $(VGRIND) -h "$(HEADER) (Release 8)" *.[csy]
244: $(VGRIND) -h "$(HEADER) (Release 8)" -x index
245:
246: clean: new
247: rm -f *.o
248: rm -f a.out core
249:
250: allclean: clean
251: cd ../h; $(MAKE) $(MFLAGS) clean
252: cd ../gutil; $(MAKE) $(MFLAGS) clean
253: cd ../iutil; $(MAKE) $(MFLAGS) clean
254: cd ../ctlmod; $(MAKE) $(MFLAGS) clean
255: cd ../dbu; $(MAKE) $(MFLAGS) clean
256: cd ../decomp; $(MAKE) $(MFLAGS) clean
257: cd ../equel; $(MAKE) $(MFLAGS) clean
258: cd ../libq; $(MAKE) $(MFLAGS) clean
259: cd ../monitor; $(MAKE) $(MFLAGS) clean
260: cd ../ovqp; $(MAKE) $(MFLAGS) clean
261: cd ../parser; $(MAKE) $(MFLAGS) clean
262: cd ../qrymod; $(MAKE) $(MFLAGS) clean
263: cd ../support; $(MAKE) $(MFLAGS) clean
264:
265: tags:
266: cp /dev/null ../tags
267: cd ../h; $(MAKE) $(MFLAGS) systags
268: cd ../gutil; $(MAKE) $(MFLAGS) systags
269: cd ../iutil; $(MAKE) $(MFLAGS) systags
270: cd ../ctlmod; $(MAKE) $(MFLAGS) systags
271: cd ../dbu; $(MAKE) $(MFLAGS) systags
272: cd ../decomp; $(MAKE) $(MFLAGS) systags
273: cd ../equel; $(MAKE) $(MFLAGS) systags
274: cd ../libq; $(MAKE) $(MFLAGS) systags
275: cd ../monitor; $(MAKE) $(MFLAGS) systags
276: cd ../ovqp; $(MAKE) $(MFLAGS) systags
277: cd ../parser; $(MAKE) $(MFLAGS) systags
278: cd ../qrymod; $(MAKE) $(MFLAGS) systags
279: cd ../support; $(MAKE) $(MFLAGS) systags
280: sort -o ../tags ../tags
281: cd ../h; $(MAKE) $(MFLAGS) installtags
282: cd ../gutil; $(MAKE) $(MFLAGS) installtags
283: cd ../iutil; $(MAKE) $(MFLAGS) installtags
284: cd ../ctlmod; $(MAKE) $(MFLAGS) installtags
285: cd ../dbu; $(MAKE) $(MFLAGS) installtags
286: cd ../decomp; $(MAKE) $(MFLAGS) installtags
287: cd ../equel; $(MAKE) $(MFLAGS) installtags
288: cd ../libq; $(MAKE) $(MFLAGS) installtags
289: cd ../monitor; $(MAKE) $(MFLAGS) installtags
290: cd ../ovqp; $(MAKE) $(MFLAGS) installtags
291: cd ../parser; $(MAKE) $(MFLAGS) installtags
292: cd ../qrymod; $(MAKE) $(MFLAGS) installtags
293: cd ../support; $(MAKE) $(MFLAGS) installtags
294:
295:
296: sources: $(SRCS)
297:
298: $(SRCS):
299: $(GET) $(REL) $@
300:
301: depend:
302: grep '^#[ ]*include' $(SRCS) | sed -n -f ../h/depend.sed > makedep
303: echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
304: echo '$$r makedep' >>eddep
305: echo 'w' >>eddep
306: cp Makefile Makefile.bak
307: ed - Makefile < eddep
308: rm eddep makedep
309: echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
310: echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
311: echo '# see make depend above' >> Makefile
312:
313: # DO NOT DELETE THIS LINE -- make depend uses it
314:
315: monitor.o:$H/func.h
316: parser.o:$H/ingres.h
317: parser.o:$H/aux.h
318: parser.o:$H/access.h
319: parser.o:$H/func.h
320: qrymod.o:$H/func.h
321: decomp.o:$H/func.h
322: alldbu.o:$H/func.h
323: vaxingres.o:$H/ingres.h
324: vaxingres.o:$H/aux.h
325: vaxingres.o:$H/access.h
326: vaxingres.o:$H/func.h
327: sysdump.o:$H/func.h
328: # DEPENDENCIES MUST END AT END OF FILE
329: # IF YOU PUT STUFF HERE IT WILL GO AWAY
330: # see make depend above
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.