X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/d99a42dc00522e3837a71014404d301cf8060ba1..599d88d07a3206cfff4283ac1abf6c2e9d27a7e0:/usr/src/Makefile diff --git a/usr/src/Makefile b/usr/src/Makefile index dd34397d3a..f7f89b801c 100644 --- a/usr/src/Makefile +++ b/usr/src/Makefile @@ -1,154 +1,47 @@ -# -# Copyright (c) 1986 Regents of the University of California. -# All rights reserved. The Berkeley software License Agreement -# specifies the terms and conditions for redistribution. -# -# @(#)Makefile 4.17 (Berkeley) %G% -# -# This makefile is designed to be run in one of three ways: -# -# make clean -# make depend -# make build -# make installsrc -# This is the most rigorous way to rebuild the source tree. -# The first two steps will clean the source tree and remake the dependencies. -# The `make build' will compile and install the libraries and the compiler -# twice before building the rest of the sources. The `make installsrc' will -# then install the remaining binaries. -# -# make libthenall -# make installsrc -# The `make libthenall' will compile and install the libraries, compile -# and install the compiler and then compile everything else. Note, -# however, that the libraries will have been built with the old compiler. -# The `make installsrc' will then install the remaining binaries. -# -# make all -# make install -# The `make all' (the default) will compile everything, and install -# nothing. The `make install' will then install everything. -# -# C library options: passed to libc makefile. -# See lib/libc/Makefile for explanation. -# -# HOSTLOOKUP must be either named or hosttable. -# DFLMON must be either mon.o or gmon.o. -# DEFS may include -DLIBC_SCCS, -DSYSLIBC_SCCS, both, or neither. -# -DEFS= -DLIBC_SCCS -DFLMON= mon.o -HOSTLOOKUP= named -LIBCDEFS= HOSTLOOKUP=${HOSTLOOKUP} DFLMON=${DFLMON} DEFS="${DEFS}" - -# global flags -# SRC_MFLAGS are used on makes in command source directories, -# but not in library or compiler directories that will be installed -# for use in compiling everything else. -# -DESTDIR= -CFLAGS= -O -SRC_MFLAGS= -k - -LIBDIR= lib usr.lib -# order is important, old and man must be #1 and #2 -SRCDIR= old man bin usr.bin etc ucb new games local - -all: ${LIBDIR} ${SRCDIR} - -libthenall: buildlib1 buildlib3 src - -build: buildlib1 buildlib2 buildlib3 src - -src: ${SRCDIR} - -lib: FRC - cd lib/libc; make ${MFLAGS} ${LIBCDEFS} - cd lib; make ${MFLAGS} pcc cpp c2 - -usr.lib ${SRCDIR}: FRC - @echo - @echo === compiling $@ - cd $@; make ${MFLAGS} ${SRC_MFLAGS} - -buildlib1: FRC - @echo === installing /usr/include - cd include; make ${MFLAGS} DESTDIR=${DESTDIR} install - @echo - @echo === compiling libc.a - cd lib/libc; make ${MFLAGS} ${LIBCDEFS} - @echo === installing /lib/libc.a - cd lib/libc; make ${MFLAGS} DESTDIR=${DESTDIR} install - @echo - @echo === compiling C compiler - cd lib; make ${MFLAGS} pcc cpp c2 - @echo - @echo === installing C compiler - cd lib/pcc; make ${MFLAGS} DESTDIR=${DESTDIR} install - cd lib/cpp; make ${MFLAGS} DESTDIR=${DESTDIR} install - cd lib/c2; make ${MFLAGS} DESTDIR=${DESTDIR} install - @echo - -buildlib2: FRC - @echo === cleaning lib - cd lib; make ${MFLAGS} clean - @echo === re-compiling libc.a - cd lib/libc; make ${MFLAGS} ${LIBCDEFS} - @echo === re-installing /lib/libc.a - cd lib/libc; make ${MFLAGS} DESTDIR=${DESTDIR} install - @echo - @echo === re-compiling C compiler - cd lib; make ${MFLAGS} pcc cpp c2 - @echo === re-installing C compiler - cd lib/pcc; make ${MFLAGS} DESTDIR=${DESTDIR} install - cd lib/cpp; make ${MFLAGS} DESTDIR=${DESTDIR} install - cd lib/c2; make ${MFLAGS} DESTDIR=${DESTDIR} install - @echo - -buildlib3: FRC - @echo === compiling usr.lib - cd usr.lib; make ${MFLAGS} ${SRC_MFLAGS} - @echo === installing /usr/lib - cd usr.lib; make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install - @echo === done with libraries - @echo - -install: FRC - -for i in ${LIBDIR} ${SRCDIR}; do \ - echo; \ - echo === installing $$i; \ - (cd $$i; \ - make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install); \ - done - -installsrc: FRC - -for i in ${SRCDIR}; do \ - echo; \ - echo === installing $$i; \ - (cd $$i; \ - make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install); \ - done - -depend: FRC - for i in ${LIBDIR} ${SRCDIR}; do \ - echo; \ - echo === doing dependencies for $$i; \ - (cd $$i; make ${MFLAGS} depend); \ - done - -tags: FRC - for i in include lib usr.lib; do \ - echo; \ - echo === making tags for $$i; \ - (cd $$i; make ${MFLAGS} TAGSFILE=../tags tags); \ - done - sort -u +0 -1 -o tags tags - -clean: FRC - for i in ${LIBDIR} ${SRCDIR}; do \ - echo; \ - echo === cleaning $$i; \ - (cd $$i; make -k ${MFLAGS} clean); \ +# @(#)Makefile 4.22 (Berkeley) %G% + +SUBDIR= bin contrib games include kerberosIV lib libexec old pgrm sbin \ + share usr.bin usr.sbin + +build: + ${MAKE} cleandir + + @echo "+++ includes" + cd include; ${MAKE} depend all install clean + +.if ${MACHINE} == "vax" || ${MACHINE} == "tahoe" + @echo "+++ C preprocessor, compiler, loader" + cd pgrm/cpp; ${MAKE} depend all install clean + cd libexec/pcc; ${MAKE} depend all install clean + cd pgrm/ld; ${MAKE} depend all install clean + + @echo "+++ C library" + cd lib/libc; ${MAKE} depend all install clean + + @echo "+++ C preprocessor, compiler, loader (second time)" + cd pgrm/cpp; ${MAKE} all install + cd libexec/pcc; ${MAKE} all install + cd pgrm/ld; ${MAKE} all install +.endif + + @echo "+++ libraries" + cd lib; ${MAKE} depend all install all + cd kerberosIV; ${MAKE} depend all install all + + @echo "+++ C library tags" + cd lib/libc; rm -f tags; ${MAKE} tags; \ + install -c -o ${BINOWN} -g ${BINGRP} -m 444 tags /usr/libdata/tags + + ${MAKE} depend all + +OBJ= /usr/obj +shadow: + @-for file in \ + `find ${SUBDIR:S/^/-f /g} name SCCS prune or name obj print`; do \ + d=`dirname $$file`; \ + echo ${OBJ}/$$d; \ + mkdir -p ${OBJ}/$$d > /dev/null 2>&1 ; \ + chown bin.bin ${OBJ}/$$d; \ done -FRC: +.include