|
|
1.1 ! root 1: ################################################################### ! 2: ################################################################### ! 3: ### ### ! 4: ### ### ! 5: ### ***** * * ***** **** ***** **** ### ! 6: ### * ** * * * * * * ### ! 7: ### * * * * * *** **** *** *** ### ! 8: ### * * ** * * * * * * ### ! 9: ### ***** * * ***** * * ***** **** ### ! 10: ### ### ! 11: ### ### ! 12: ### A relational database management system ### ! 13: ### ### ! 14: ### RELEASE 7 ### ! 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 7.3 3/4/81 ! 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 PDP ! 54: # or VAX. Actually, this falacious; there are ! 55: # many other changes that must be made between ! 56: # the two machines (mostly in LDFLAGS entries, ! 57: # etc.). If `make' only had "conditional ! 58: # compilation".... ! 59: # ! 60: # Examples of usage: ! 61: # To recompile entire system from sources: ! 62: # make allclean allinstall ! 63: # To install INGRES for general users: ! 64: # make allinstall sysinstall ! 65: # To print the entire system: ! 66: # make install INSTALL=print ! 67: # {yes, this is cheating} ! 68: # ! 69: ! 70: # ! 71: # General system paths ! 72: # ! 73: ! 74: # the ingres subtree ! 75: INGRES= ../.. ! 76: # the location of the system header files ! 77: H= ../h ! 78: # the residence of the system (internal) libraries ! 79: LIB= $(INGRES)/lib ! 80: # the residence of the system (internal) binaries ! 81: # this entry must be reflected in the process table ! 82: BIN= $(INGRES)/bin ! 83: # the location of user binaries ! 84: SYSBIN= /usr/local ! 85: # the location of user libraries (libq.a) ! 86: SYSLIB= /usr/local/lib ! 87: # the cputype, PDP or VAX ! 88: CPUTYPE=VAX ! 89: ! 90: PDPALL= monitor parser qrymod decomp alldbu ! 91: VAXALL= monitor vaxingres ! 92: ALLALL= monitor parser qrymod decomp alldbu vaxingres sysdump ! 93: ! 94: SRCS= monitor.c parser.c qrymod.c decomp.c alldbu.c vaxingres.c \ ! 95: sysdump.c version.c ! 96: ! 97: # ! 98: # Libraries ! 99: # ! 100: # Libraries should be loaded in the order listed below. ! 101: # ! 102: CTLMOD= $(LIB)/ctlmod ! 103: IUTIL= $(LIB)/iutil ! 104: GUTIL= $(LIB)/gutil ! 105: MATH= -lm ! 106: ! 107: ALLLIB= $(CTLMOD) $(IUTIL) $(GUTIL) ! 108: ! 109: # ! 110: # Binaries ! 111: # ! 112: MONITOR=$(LIB)/monitor ! 113: PARSER= $(LIB)/parser ! 114: QRYMOD= $(LIB)/qrymod ! 115: DECOMP= $(LIB)/decomp ! 116: OVQP= $(LIB)/ovqp ! 117: DBULIB= $(LIB)/dbulib ! 118: ! 119: # ! 120: # Assorted commands & other garbage ! 121: # ! 122: CFLAGS= -I$H -O ! 123: LDFLAGS=-z ! 124: CHMOD= chmod ! 125: BINMODE=751 ! 126: SUMODE= 4740 ! 127: CP= cp ! 128: GET= sccs get ! 129: REL= ! 130: PR= print ! 131: VGRIND= csh /usr/ucb/vgrind ! 132: HEADER= Configuration Tables ! 133: MAKE= make CPUTYPE=$(CPUTYPE) ! 134: MFLAGS= -k ! 135: INSTALL=install ! 136: ! 137: # ! 138: # Recompile absolutely everything ! 139: # ! 140: ! 141: all: all$(CPUTYPE) ! 142: ! 143: allPDP: $(PDPALL) ! 144: ! 145: allVAX: $(VAXALL) ! 146: ! 147: allall: $(ALLALL) ! 148: ! 149: # ! 150: # And the processes.... ! 151: # ! 152: # Proper loading order is: ! 153: # conf table ! 154: # library(s) for modules ! 155: # ctlmod library ! 156: # iutil library ! 157: # gutil library ! 158: # ! 159: ! 160: # Sysdump ! 161: ! 162: sysdump: version.o sysdump.o $(CTLMOD) $(ALLLIB) ! 163: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(ALLLIB) -o $@ ! 164: $(CHMOD) $(SUMODE) $@ ! 165: ls -l $@; size $@ ! 166: ! 167: # Monitor ! 168: ! 169: monitor: version.o monitor.o $(MONITOR) $(CTLMOD) $(IUTIL) $(GUTIL) ! 170: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(MONITOR) $(CTLMOD) $(IUTIL) $(GUTIL) -o $@ ! 171: $(CHMOD) $(BINMODE) $@ ! 172: ls -l $@; size $@ ! 173: ! 174: # Parser ! 175: ! 176: parser: version.o parser.o $(PARSER) $(ALLLIB) ! 177: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(PARSER) $(ALLLIB) $(MATH) -o $@ ! 178: $(CHMOD) $(SUMODE) $@ ! 179: ls -l $@; size $@ ! 180: ! 181: # Query Modification ! 182: ! 183: qrymod: version.o qrymod.o $(QRYMOD) $(ALLLIB) ! 184: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(QRYMOD) $(ALLLIB) $(MATH) -o $@ ! 185: $(CHMOD) $(SUMODE) $@ ! 186: ls -l $@; size $@ ! 187: ! 188: # Decomp/OVQP ! 189: ! 190: decomp: version.o decomp.o $(DECOMP) $(OVQP) $(ALLLIB) ! 191: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(DECOMP) $(OVQP) $(ALLLIB) $(MATH) -o $@ ! 192: $(CHMOD) $(SUMODE) $@ ! 193: ls -l $@; size $@ ! 194: ! 195: # All DBU routines. ! 196: ! 197: alldbu: version.o alldbu.o $(DBULIB) $(ALLLIB) ! 198: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(DBULIB) $(ALLLIB) $(MATH) -o $@ ! 199: $(CHMOD) $(SUMODE) $@ ! 200: ls -l $@; size $@ ! 201: ! 202: # Full VAX System ! 203: ! 204: ALLLIBS=$(PARSER) $(QRYMOD) $(DECOMP) $(OVQP) $(DBULIB) $(ALLLIB) ! 205: ! 206: vaxingres: version.o vaxingres.o $(ALLLIBS) ! 207: $(CC) $(LDFLAGS) version.o [email protected] $(OTHERS) $(ALLLIBS) $(MATH) -o $@ ! 208: $(CHMOD) $(SUMODE) $@ ! 209: ls -l $@; size $@ ! 210: ! 211: ################################################################# ! 212: # ! 213: # Install the world ! 214: # ! 215: ! 216: install: install$(CPUTYPE) $(BIN)/sysdump $(BIN)/monitor ! 217: ! 218: installPDP: $(BIN)/parser $(BIN)/qrymod $(BIN)/decomp $(BIN)/alldbu ! 219: ! 220: installVAX: $(BIN)/vaxingres ! 221: ! 222: $(BIN)/monitor: monitor ! 223: $(CP) monitor $(BIN)/monitor ! 224: $(BIN)/parser: parser ! 225: $(CP) parser $(BIN)/parser; $(CHMOD) $(SUMODE) $(BIN)/parser ! 226: $(BIN)/qrymod: qrymod ! 227: $(CP) qrymod $(BIN)/qrymod; $(CHMOD) $(SUMODE) $(BIN)/qrymod ! 228: $(BIN)/decomp: decomp ! 229: $(CP) decomp $(BIN)/decomp; $(CHMOD) $(SUMODE) $(BIN)/decomp ! 230: $(BIN)/alldbu: alldbu ! 231: $(CP) alldbu $(BIN)/alldbu; $(CHMOD) $(SUMODE) $(BIN)/alldbu ! 232: $(BIN)/vaxingres: vaxingres ! 233: $(CP) vaxingres $(BIN)/vaxingres; $(CHMOD) $(SUMODE) $(BIN)/vaxingres ! 234: $(BIN)/sysdump: sysdump ! 235: $(CP) sysdump $(BIN)/sysdump; $(CHMOD) $(SUMODE) $(BIN)/sysdump ! 236: ! 237: allinstall: version.o all1 install ! 238: ! 239: all1: ! 240: chdir ../h; $(MAKE) $(MFLAGS) $(INSTALL) ! 241: chdir ../gutil; $(MAKE) $(MFLAGS) $(INSTALL) ! 242: chdir ../iutil; $(MAKE) $(MFLAGS) $(INSTALL) ! 243: chdir ../ctlmod; $(MAKE) $(MFLAGS) $(INSTALL) ! 244: chdir ../dbu; $(MAKE) $(MFLAGS) $(INSTALL) ! 245: chdir ../decomp; $(MAKE) $(MFLAGS) $(INSTALL) ! 246: chdir ../equel; $(MAKE) $(MFLAGS) $(INSTALL) ! 247: chdir ../libq; $(MAKE) $(MFLAGS) $(INSTALL) ! 248: chdir ../monitor; $(MAKE) $(MFLAGS) $(INSTALL) ! 249: chdir ../ovqp; $(MAKE) $(MFLAGS) $(INSTALL) ! 250: chdir ../parser; $(MAKE) $(MFLAGS) $(INSTALL) ! 251: chdir ../qrymod; $(MAKE) $(MFLAGS) $(INSTALL) ! 252: chdir ../support; $(MAKE) $(MFLAGS) $(INSTALL) ! 253: ! 254: # install the user programs ! 255: sysinstall: ! 256: @echo 'you may have to be root for this to work....' ! 257: chdir ../support; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall ! 258: chdir ../equel; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall ! 259: chdir ../libq; $(MAKE) $(MFLAGS) SYSBIN=$(SYSBIN) SYSLIB=$(SYSLIB) sysinstall ! 260: ! 261: ################################################################# ! 262: # ! 263: # Miscellaneous entries ! 264: # ! 265: ! 266: new: new$(CPUTYPE) ! 267: newPDP: ! 268: rm -f $(PDPALL) ! 269: newVAX: ! 270: rm -f $(VAXALL) ! 271: ! 272: print: sources ! 273: $(PR) Makefile *.[csy] ! 274: ! 275: vgrind: sources ! 276: cp /dev/null index ! 277: $(VGRIND) -h "$(HEADER) (Release 7)" -n Makefile ! 278: $(VGRIND) -h "$(HEADER) (Release 7)" *.[csy] ! 279: $(VGRIND) -h "$(HEADER) (Release 7)" -x index ! 280: ! 281: clean: new ! 282: rm -f *.o ! 283: rm -f a.out core ! 284: ! 285: allclean: clean ! 286: chdir ../h; $(MAKE) $(MFLAGS) clean ! 287: chdir ../gutil; $(MAKE) $(MFLAGS) clean ! 288: chdir ../iutil; $(MAKE) $(MFLAGS) clean ! 289: chdir ../ctlmod; $(MAKE) $(MFLAGS) clean ! 290: chdir ../dbu; $(MAKE) $(MFLAGS) clean ! 291: chdir ../decomp; $(MAKE) $(MFLAGS) clean ! 292: chdir ../equel; $(MAKE) $(MFLAGS) clean ! 293: chdir ../libq; $(MAKE) $(MFLAGS) clean ! 294: chdir ../monitor; $(MAKE) $(MFLAGS) clean ! 295: chdir ../ovqp; $(MAKE) $(MFLAGS) clean ! 296: chdir ../parser; $(MAKE) $(MFLAGS) clean ! 297: chdir ../qrymod; $(MAKE) $(MFLAGS) clean ! 298: chdir ../support; $(MAKE) $(MFLAGS) clean ! 299: ! 300: sources: $(SRCS) ! 301: ! 302: $(SRCS): ! 303: $(GET) $(REL) SCCS/s.$@ ! 304: ! 305: depend: ! 306: grep '^#[ ]*include' $(SRCS) | sed -n -f ../h/depend.sed > makedep ! 307: echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep ! 308: echo '$$r makedep' >>eddep ! 309: echo 'w' >>eddep ! 310: cp Makefile Makefile.bak ! 311: ed - Makefile < eddep ! 312: rm eddep makedep ! 313: echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile ! 314: echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile ! 315: echo '# see make depend above' >> Makefile ! 316: ! 317: # DO NOT DELETE THIS LINE -- make depend uses it ! 318: ! 319: monitor.o:$H/func.h ! 320: parser.o:$H/ingres.h ! 321: parser.o:$H/aux.h ! 322: parser.o:$H/access.h ! 323: parser.o:$H/func.h ! 324: qrymod.o:$H/func.h ! 325: decomp.o:$H/func.h ! 326: alldbu.o:$H/func.h ! 327: vaxingres.o:$H/ingres.h ! 328: vaxingres.o:$H/aux.h ! 329: vaxingres.o:$H/access.h ! 330: vaxingres.o:$H/func.h ! 331: sysdump.o:$H/func.h ! 332: # DEPENDENCIES MUST END AT END OF FILE ! 333: # IF YOU PUT STUFF HERE IT WILL GO AWAY ! 334: # see make depend above
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.