Added a set of parans to an expression to make things a bit more clear.
[unix-history] / Makefile
# @(#)Makefile 5.1.1.2 (Berkeley) 5/9/91
#
# $Id: Makefile,v 1.54 1994/06/15 20:21:00 adam Exp $
#
SUBDIR=
.if exists(bin)
SUBDIR+= bin
.endif
.if exists(contrib)
SUBDIR+= contrib
.endif
.if exists(games)
SUBDIR+= games
.endif
.if exists(gnu)
SUBDIR+= gnu
.endif
.if exists(include)
SUBDIR+= include
.endif
.if exists(lib)
SUBDIR+= lib
.endif
# This contains both libraries and includes, which stuff below depends
# upon.
.if exists(kerberosIV) && !defined(NOCRYPT)
SUBDIR+= kerberosIV
.endif
.if exists(libexec)
SUBDIR+= libexec
.endif
.if exists(sbin)
SUBDIR+= sbin
.endif
.if exists(share)
SUBDIR+= share
.endif
.if exists(usr.bin)
SUBDIR+= usr.bin
.endif
.if exists(usr.sbin)
SUBDIR+= usr.sbin
.endif
# This is for people who want to have src/ports, src/local built
# automatically.
.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
SUBDIR+= local
.endif
.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
SUBDIR+= ports
.endif
# Special cases: etc sys
# Not ported: kerberosIV
#
# setenv NOCLEANDIR will prevent make cleandirs from being run
#
.if defined(NOCLEANDIR)
CLEANDIR=
.else
CLEANDIR= cleandir
.endif
# Where is the c-compiler source. Change this, and gnu/usr.bin/Makefile if you
# want to use another cc (gcc-2.5.8 for instance)
CCDIR= ${.CURDIR}/gnu/usr.bin/cc
#CCDIR= ${.CURDIR}/gnu/usr.bin/cc25
world: directories cleandist mk includes libraries tools mdec
@echo "--------------------------------------------------------------"
@echo " Rebuilding ${DESTDIR} The whole thing"
@echo "--------------------------------------------------------------"
@echo
make depend all install
cd ${.CURDIR}/share/man; make makedb
directories:
@echo "--------------------------------------------------------------"
@echo " Making directories"
@echo "--------------------------------------------------------------"
cd ${.CURDIR}/etc; make distrib-dirs
cleandist:
.if !defined(NOCLEANDIR)
@echo "--------------------------------------------------------------"
@echo " Cleaning up the source tree, and rebuilding the obj tree"
@echo "--------------------------------------------------------------"
@echo
here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
if test -d /usr/obj -a ! -d $$dest; then \
mkdir -p $$dest; \
else \
true; \
fi; \
cd $$dest; rm -rf ${SUBDIR}
find . -name obj | xargs -n30 rm -rf
.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
# The cd is done as local may well be a symbolic link
-cd local ; find . -name obj | xargs -n30 rm -rf
.endif
.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
# The cd is done as local may well be a symbolic link
-cd ports ; find . -name obj | xargs -n30 rm -rf
.endif
make cleandir
make obj
.endif
mk:
@echo "--------------------------------------------------------------"
@echo " Rebuilding ${DESTDIR}/usr/share/mk"
@echo "--------------------------------------------------------------"
.if defined(CLOBBER)
# DONT DO THIS!! rm -rf ${DESTDIR}/usr/share/mk
# DONT DO THIS!! mkdir ${DESTDIR}/usr/share/mk
# DONT DO THIS!! chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/share/mk
# DONT DO THIS!! chmod 755 ${DESTDIR}/usr/share/mk
.endif
cd ${.CURDIR}/share/mk; make clean all install;
includes:
@echo "--------------------------------------------------------------"
@echo " Rebuilding ${DESTDIR}/usr/include"
@echo "--------------------------------------------------------------"
@echo
.if defined(CLOBBER)
rm -rf ${DESTDIR}/usr/include
mkdir ${DESTDIR}/usr/include
chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
chmod 755 ${DESTDIR}/usr/include
.endif
cd ${.CURDIR}/include; make clean all install
cd ${CCDIR}/libobjc; make beforeinstall
cd ${.CURDIR}/gnu/lib/libg++; make beforeinstall
cd ${.CURDIR}/gnu/lib/libreadline; make beforeinstall
cd ${.CURDIR}/lib/libcurses; make beforeinstall
cd ${.CURDIR}/lib/libc; make beforeinstall
.if !defined(NOCRYPT) && exists(${.CURDIR}/kerberosIV)
cd ${.CURDIR}/kerberosIV/include; make clean all install
.endif
# You MUST run this the first time you get the new sources to boot strap
# the shared library tools onto you system. This target should only
# need to be run once on a system.
bootstrapld: directories cleandist mk includes
@echo "--------------------------------------------------------------"
@echo " Building new shlib compiler tools"
@echo "--------------------------------------------------------------"
# These tools need to be built very early due to a.out.h changes:
# It is possible that ar is needed
cd ${.CURDIR}/usr.bin/mkdep; make -DNOPIC depend all install ${CLEANDIR} obj
cd ${.CURDIR}/usr.bin/nm; make -DNOPIC depend all install ${CLEANDIR} obj
cd ${.CURDIR}/usr.bin/ranlib; make -DNOPIC depend all install ${CLEANDIR} obj
cd ${.CURDIR}/usr.bin/strip; make -DNOPIC depend all install ${CLEANDIR} obj
cd ${.CURDIR}/gnu/usr.bin/ld; make -DNOPIC depend all install ${CLEANDIR} obj
cd ${.CURDIR}/gnu/usr.bin/as; make depend all install ${CLEANDIR} obj
cd ${CCDIR}; make -DNOPIC depend all install ${CLEANDIR} obj
cd ${CCDIR}/libgcc; make all install ${CLEANDIR} obj
cd ${.CURDIR}/lib/csu.i386; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/lib/libc; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/gnu/usr.bin/ld/rtld; make depend all install ${CLEANDIR} obj
# Standard database make routines are slow especially for big passwd files.
# Moreover, *pwd.db bases are too big and waste root space. You can have
# much faster routines with small *pwd.db, but loose binary compatibility
# with previous versions and with other BSD-like systems. If you want to
# setup much faster routines, define envirnoment variable (f.e. 'setenv
# PW_COMPACT' in csh) and use target into /usr/src/Makefile. If you will
# want to return this changes back, use the same target without defining
# PW_COMPACT.
bootstrappwd: #directories
-rm -f ${.CURDIR}/lib/libc/obj/getpwent.o ${.CURDIR}/lib/libc/getpwent.o
cd ${.CURDIR}/lib/libc; make all
-rm -f ${.CURDIR}/usr.sbin/pwd_mkdb/obj/pwd_mkdb.o ${.CURDIR}/usr.sbin/pwd_mkdb/pwd_mkdb.o
cd ${.CURDIR}/usr.sbin/pwd_mkdb; make all install ${CLEANDIR}
cp /etc/master.passwd /etc/mp.t; pwd_mkdb /etc/mp.t
SLIB=`basename ${.CURDIR}/lib/libc/obj/libc.so.*`; \
cp ${.CURDIR}/lib/libc/obj/$$SLIB /usr/lib/$$SLIB.tmp; \
mv /usr/lib/$$SLIB.tmp /usr/lib/$$SLIB
cd ${.CURDIR}/lib/libc; make install ${CLEANDIR}
cd ${.CURDIR}/usr.bin/passwd; make clean all install ${CLEANDIR}
cd ${.CURDIR}/usr.bin/chpass; make clean all install ${CLEANDIR}
cd ${.CURDIR}/bin; make clean all install ${CLEANDIR}
cd ${.CURDIR}/sbin; make clean all install ${CLEANDIR}
@echo "--------------------------------------------------------------"
@echo " Do a reboot now because all daemons need restarting"
@echo "--------------------------------------------------------------"
libraries:
# setenv NOPROFILE if you do not want profiled libraries
@echo "--------------------------------------------------------------"
@echo " Rebuilding ${DESTDIR}/usr/lib"
@echo "--------------------------------------------------------------"
@echo
.if defined(CLOBBER)
find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | xargs -n30 rm -rf
.endif
cd ${.CURDIR}/lib; make depend all install ${CLEANDIR} obj
cd ${CCDIR}/libgcc; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/gnu/lib/libg++; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/gnu/lib/libregex; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/gnu/lib/libmalloc; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/gnu/lib/libreadline; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/usr.bin/lex; make depend all install ${CLEANDIR} obj
.if exists(${.CURDIR}/kerberosIV) && !defined(NOCRYPT)
cd ${.CURDIR}/kerberosIV/des; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/kerberosIV/krb; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/kerberosIV/kdb; make depend all install ${CLEANDIR} obj
.endif
tools:
@echo "--------------------------------------------------------------"
@echo " Rebuilding ${DESTDIR} Compiler and Make"
@echo "--------------------------------------------------------------"
@echo
cd ${CCDIR}; make depend all install ${CLEANDIR} obj
cd ${.CURDIR}/usr.bin/make; make depend all install ${CLEANDIR} obj
mdec:
@echo "--------------------------------------------------------------"
@echo " Rebuilding ${DESTDIR}/usr/mdec"
@echo "--------------------------------------------------------------"
@echo
.if ${MACHINE} == "i386"
cd ${.CURDIR}/sys/i386/boot; make depend all install ${CLEANDIR}
.if defined (DESTDIR)
cd /usr/mdec; find . | cpio -pdamuv ${DESTDIR}/usr/mdec
.endif
.endif
.include <bsd.subdir.mk>