mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-21 11:13:30 +00:00
This is the first attempt to drag the top level Makefile Rod sent me
into 2.0. It will surely need more work. Submitted by: jkh
This commit is contained in:
parent
502bf5ce55
commit
3540f0e14a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=2061
226
Makefile
226
Makefile
@ -1,16 +1,218 @@
|
||||
# @(#)Makefile 8.1 (Berkeley) 6/19/93
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Make command line options:
|
||||
# -DCLOBBER will remove /usr/include and MOST of /usr/lib
|
||||
# -DMAKE_LOCAL to add ./local to the SUBDIR list
|
||||
# -DMAKE_PORTS to add ./ports to the SUBDIR list
|
||||
# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
|
||||
# XXX1 -DNOCRYPT will prevent building of crypt versions (BROKEN RIGHT NOW)
|
||||
# -DNOOBJDIR do not run ``${MAKE} obj''
|
||||
# -DNOPROFILE do not build profiled libraries
|
||||
#
|
||||
# XXX1 This has not yet been implemented in FreeBSD 2.0.0, the only way
|
||||
# to build the system is with full crypt and KerberosIV
|
||||
#
|
||||
|
||||
SUBDIR= bin gnu include lib libexec sbin \
|
||||
share usr.bin usr.sbin
|
||||
# Put initial settings here.
|
||||
NOCRYPT= yes
|
||||
SUBDIR=
|
||||
|
||||
afterinstall:
|
||||
(cd share/man && make makedb)
|
||||
.if exists(bin)
|
||||
SUBDIR+= bin
|
||||
.endif
|
||||
.if exists(contrib)
|
||||
SUBDIR+= contrib
|
||||
.endif
|
||||
.if exists(etc)
|
||||
SUBDIR+= etc
|
||||
.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
|
||||
.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(sys)
|
||||
SUBDIR+= sys
|
||||
.endif
|
||||
.if exists(usr.bin)
|
||||
SUBDIR+= usr.bin
|
||||
.endif
|
||||
.if exists(usr.sbin)
|
||||
SUBDIR+= usr.sbin
|
||||
.endif
|
||||
|
||||
# These are last, since it is nice to at least get the base system
|
||||
# rebuilt before you do them.
|
||||
.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
|
||||
SUBDIR+= local
|
||||
.endif
|
||||
.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
|
||||
SUBDIR+= ports
|
||||
.endif
|
||||
|
||||
# Handle the -DNOOBJDIR and -DNOCLEANDIR
|
||||
.if defined(NOOBJDIR)
|
||||
OBJDIR=
|
||||
.else
|
||||
OBJDIR= obj
|
||||
.endif
|
||||
.if defined(NOCLEANDIR)
|
||||
CLEANDIR= clean
|
||||
.else
|
||||
CLEANDIR= cleandir
|
||||
.endif
|
||||
|
||||
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 "--------------------------------------------------------------"
|
||||
@echo " XXX Not yet ready in 2.0.0"
|
||||
# XXX 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 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 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 rm -rf
|
||||
.endif
|
||||
${MAKE} cleandir
|
||||
${MAKE} obj
|
||||
.endif
|
||||
|
||||
mk:
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo " Rebuilding ${DESTDIR}/usr/share/mk"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${.CURDIR}/share/mk && ${MAKE} 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} install
|
||||
cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall
|
||||
cd ${.CURDIR}/gnu/usr.bin/cc/libobjc && ${MAKE} beforeinstall
|
||||
.if !defined(NOCRYPT)
|
||||
cd ${.CURDIR}/kerberosIV/include && ${MAKE} install
|
||||
.endif
|
||||
cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall
|
||||
cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall
|
||||
cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall
|
||||
cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall
|
||||
|
||||
libraries:
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo " Rebuilding ${DESTDIR}/usr/lib"
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo
|
||||
.if defined(CLOBBER)
|
||||
find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
|
||||
xargs rm -rf
|
||||
.endif
|
||||
# XXX The whole GNU block should be doable in one command, as soon # as libg++ works on FreeBSD 2.0 I will try that out
|
||||
#XXX cd ${.CURDIR}/gnu/lib/libg++ && \
|
||||
#XXX ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/gnu/lib/libmalloc && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/gnu/lib/libreadline && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/gnu/lib/libregex && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/lib && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
# You need the lex lib before you can build kerberosIV
|
||||
#XXX # We don't have lex in the 2.0 tree yet!
|
||||
#XXX cd ${.CURDIR}/usr.bin/lex/lib && \
|
||||
#XXX ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
.if !defined(NOCRYPT)
|
||||
cd ${.CURDIR}/kerberosIV/acl && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/kerberosIV/des && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/kerberosIV/kdb && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/kerberosIV/krb && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
.endif
|
||||
|
||||
tools:
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo " Rebuilding ${DESTDIR} Compiler and Make"
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo
|
||||
cd ${.CURDIR}/gnu/usr.bin/cc && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
cd ${.CURDIR}/usr.bin/make && \
|
||||
${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
|
||||
|
||||
mdec:
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo " Rebuilding ${DESTDIR}/usr/mdec"
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo
|
||||
@echo " XXX Not yet ready in 2.0.0"
|
||||
#XXX.if ${MACHINE} == "i386"
|
||||
#XXX # XXX Need to fix for obj case, src/sys/Makefile needs to be fixed to
|
||||
#XXX # traverse down into here and this can go away!
|
||||
#XXX cd ${.CURDIR}/sys/i386/boot && ${MAKE} depend all install ${CLEANDIR}
|
||||
#XXX.if defined (DESTDIR)
|
||||
#XXX # XXX Really need to fix the sys/i386/boot Makefile so this is not
|
||||
#XXX # necessary!!!
|
||||
#XXX cd /usr/mdec && find . | cpio -pdamuv ${DESTDIR}/usr/mdec
|
||||
#XXX.endif
|
||||
#XXX.endif
|
||||
|
||||
build:
|
||||
(cd include && make install)
|
||||
make cleandir
|
||||
(cd lib && make depend && make && make install)
|
||||
(cd kerberosIV && make depend && make && make install)
|
||||
make depend && make && make install
|
||||
|
||||
.include <bsd.subdir.mk>
|
||||
|
Loading…
Reference in New Issue
Block a user