freebsd-nq/Makefile.alpha
John Birrell 2b9ede499c Update to build binutils (yay!), so that ar, ld, as, strip, nm, objcopy,
objdump all build out of the FreeBSD tree. At EDS we used to call this
a "significant emotional event".

Still using the lorder script from NetBSD until I can explain why the
is a difference in nm behaviour when the output looks the same.
1998-03-09 00:25:30 +00:00

537 lines
19 KiB
Makefile

# $Id: Makefile.alpha,v 1.2 1998/02/19 07:25:03 jb Exp $
#
# NOTE:
#
# This is a makefile for use while porting FreeBSD to the Alpha
# architecture. It is based on src/Makefile and is included by
# it rather than filling it with a lot of temporary crud.
#
# To use this Makefile on a NetBSD/Alpha 1.3 system, load the
# entire FreeBSD source tree, or mount /usr/src via NFS. From
# /usr/src type:
#
# make -m /usr/src/share/mk buildworld
#
# and you're away. Don't expect the build to complete. It will fail
# where the porting effort is up to. This will be somewhere in the
# build of the bootstrap libraries that are needed for the second
# set of bootstrap tools. The build will deliberately skip the
# build of libc because that involves considerable porting effort.
# The build will also create symbolic links to several of the GNU
# tools that are currently being ported/imported to FreeBSD.
#
# Warning: This build is not supposed to clobber anything on the
# ======= system you are building on, but you should consider what
# ======= you would do if that happened.
#
SUBDIR = share/info lib bin gnu libexec sbin share sys usr.bin \
usr.sbin
.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
SUBDIR+= secure
.endif
OBJDIR = obj
CLEANDIR= cleandir
.MAKEFLAGS:= ${.MAKEFLAGS} -m ${.CURDIR}/share/mk
#
# While building tools for bootstrapping, we dont need to waste time on
# profiled libraries or man pages. This speeds things up somewhat.
#
MK_FLAGS= -DNOINFO -DNOMAN -DNOPROFILE
.if defined(MAKEOBJDIRPREFIX)
WORLDTMP= ${MAKEOBJDIRPREFIX}${.CURDIR}/tmp
.else
WORLDTMP= /usr/obj${.CURDIR}/tmp
.endif
STRICTTMPPATH= ${WORLDTMP}/sbin:${WORLDTMP}/usr/sbin:${WORLDTMP}/bin:${WORLDTMP}/usr/bin
TMPPATH= ${STRICTTMPPATH}:${PATH}
# XXX COMPILER_PATH is needed for finding cc1, ld and as
# XXX GCC_EXEC_PREFIX is for *crt.o. It is probably unnecssary now
# tbat LIBRARY_PATH is set. We still can't use -nostdlib, since gcc
# wouldn't link *crt.o or libgcc if it were used.
# XXX LD_LIBRARY_PATH is for ld.so. It is also used by ld, although we don't
# want that - all compile-time library paths should be resolved by gcc.
# It fails for set[ug]id executables (are any used?).
COMPILER_ENV= BISON_SIMPLE=${WORLDTMP}/usr/share/misc/bison.simple \
COMPILER_PATH=${WORLDTMP}/usr/libexec:${WORLDTMP}/usr/bin \
GCC_EXEC_PREFIX=${WORLDTMP}/usr/lib/ \
LD_LIBRARY_PATH=${WORLDTMP}${SHLIBDIR} \
LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib
BMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t
LMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} CC='cc -nostdinc' \
MKDEP_CPP='${WORLDTMP}/usr/bin/cc -E -nostdinc'
XMAKEENV= PATH=${STRICTTMPPATH} ${COMPILER_ENV} \
CC='cc -nostdinc' MKDEP_CPP='${WORLDTMP}/usr/bin/cc -nostdinc -E'
# used to compile and install 'make' in temporary build tree
IBMAKE= ${BMAKEENV} ${MAKE} DESTDIR=${WORLDTMP}
# bootstrap make
BMAKE= ${BMAKEENV} ${WORLDTMP}/usr/bin/${MAKE} DESTDIR=${WORLDTMP}
# library make
LMAKE= ${LMAKEENV} ${WORLDTMP}/usr/bin/${MAKE} DESTDIR=${WORLDTMP}
# cross make used for compilation
XMAKE= ${XMAKEENV} ${WORLDTMP}/usr/bin/${MAKE} DESTDIR=${WORLDTMP}
# cross make used for final installation
IXMAKE= ${XMAKEENV} ${WORLDTMP}/usr/bin/${MAKE}
#
# buildworld
#
# Attempt to rebuild the entire system, with reasonable chance of
# success, regardless of how old your existing system is.
#
buildworld:
@echo " Warning: This build is not supposed to clobber anything on the"
@echo " ======= system you are building on, but you should consider what"
@echo " ======= you would do if that happened."
@echo
@echo " ABORT NOW IF UNSURE!"
@sleep 10
@echo " OK, here we go......"
mkdir -p ${WORLDTMP}
@echo "--------------------------------------------------------------"
@echo " Cleaning up the temporary build tree"
@echo "--------------------------------------------------------------"
chflags -R noschg ${WORLDTMP}/
rm -rf ${WORLDTMP}
@echo
@echo "--------------------------------------------------------------"
@echo " Install the FreeBSD mkdep ('cause the NetBSD one isn't good enough!)"
@echo "--------------------------------------------------------------"
mkdir -p ${WORLDTMP}/usr/bin
@cd ${.CURDIR}/usr.bin/mkdep && \
${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} install
@echo
@echo
@echo "--------------------------------------------------------------"
@echo " Making a FreeBSD make using the NetBSD one"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR}/usr.bin/make && \
${IBMAKE} -I${.CURDIR}/share/mk ${CLEANDIR} ${OBJDIR}
@cd ${.CURDIR}/usr.bin/make && \
${IBMAKE} -I${.CURDIR}/share/mk depend && \
${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all && \
${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} install && \
${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} ${CLEANDIR} ${OBJDIR}
@echo
@echo "--------------------------------------------------------------"
@echo " Making a FreeBSD find which knows the -L argument"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR}/usr.bin/find && \
${IBMAKE} -I${.CURDIR}/share/mk ${CLEANDIR} ${OBJDIR}
@cd ${.CURDIR}/usr.bin/find && \
${IBMAKE} -I${.CURDIR}/share/mk depend && \
${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all && \
${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} install && \
${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} ${CLEANDIR} ${OBJDIR}
@echo
@echo "--------------------------------------------------------------"
@echo " Making hierarchy like normal"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${BMAKE} hierarchy
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding the obj tree like normal"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${BMAKE} par-obj
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding FreeBSD bootstrap tools using the NetBSD ones"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${BMAKE} bootstrap
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding FreeBSD tools necessary to build the include files"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${BMAKE} include-tools
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding FreeBSD tools needed to build the libraries"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${BMAKE} lib-tools
@echo
@echo "--------------------------------------------------------------"
@echo " AT THIS POINT, THE TEMPORARY TREE IS SUPPOSED TO HAVE ALL"
@echo " THE TOOLS TO BUILD THE ENTIRE FreeBSD TREE USING FreeBSD"
@echo " HEADER FILES"
@echo
@echo " Rebuilding /usr/include"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && SHARED=copies ${BMAKE} includes
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding /usr/lib"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${LMAKE} libraries
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding all other tools needed to build the world"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${LMAKE} build-tools
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding dependencies"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${XMAKE} par-depend
.if IHAVELOTSOFDISKSPACE
@echo
@echo "--------------------------------------------------------------"
@echo " Building everything.."
@echo "--------------------------------------------------------------"
@cd ${.CURDIR} && ${XMAKE} all && ${XMAKE} install
.else
@echo "Now build specific directories: export DIRS=foo; make dirs"
.endif
dirs:
@echo DIRS = ${DIRS}
.for d in ${DIRS}
cd ${.CURDIR}/$d && ${XMAKE} obj && \
${XMAKE} depend && \
${XMAKE} all && \
${XMAKE} install ${CLEANDIR} ${OBJDIR}
.endfor
#
# ------------------------------------------------------------------------
#
# From here onwards are utility targets used by the 'make world' and
# related targets. If your 'world' breaks, you may like to try to fix
# the problem and manually run the following targets to attempt to
# complete the build. Beware, this is *not* guaranteed to work, you
# need to have a pretty good grip on the current state of the system
# to attempt to manually finish it. If in doubt, 'make world' again.
#
#
# heirarchy - ensure that all the needed directories are present
#
hierarchy:
cd ${.CURDIR}/etc && ${MAKE} distrib-dirs
#
# bootstrap - [re]build tools needed to run the actual build, this includes
# tools needed by 'make depend', as some tools are needed to generate source
# for the dependency information to be gathered from.
#
bootstrap:
cd ${.CURDIR}/usr.bin/make && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
cd ${.CURDIR}/usr.bin/xinstall && ${MAKE} ${OBJDIR} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
cd ${.CURDIR}/usr.bin/lex && ${MAKE} ${OBJDIR} bootstrap && \
${MAKE} depend && \
${MAKE} ${MK_FLAGS} -DNOLIB all && \
${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR}
cd ${.CURDIR}/usr.bin/lex && ${MAKE} obj
#
# include-tools - generally the same as 'bootstrap', except that it's for
# things that are specifically needed to generate include files.
#
# XXX should be merged with bootstrap, it's not worth keeeping them separate.
# Well, maybe it is now. We force 'cleandepend' here to avoid dependencies
# on cleaned away headers in ${WORLDTMP}.
#
include-tools:
cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} -B cleandepend depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
#
# includes - possibly generate and install the include files.
#
includes:
cd ${.CURDIR}/include && ${MAKE} obj && \
${MAKE} -B all install
cd ${.CURDIR}/gnu/include && ${MAKE} install
cd ${.CURDIR}/gnu/lib/libmp && ${MAKE} beforeinstall
cd ${.CURDIR}/gnu/lib/libobjc && ${MAKE} beforeinstall
cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall
cd ${.CURDIR}/gnu/lib/libregex && ${MAKE} beforeinstall
cd ${.CURDIR}/gnu/lib/libstdc++ && ${MAKE} beforeinstall
cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall
cd ${.CURDIR}/gnu/lib/libdialog && ${MAKE} beforeinstall
cd ${.CURDIR}/gnu/lib/libgmp && ${MAKE} beforeinstall
.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
cd ${.CURDIR}/secure/lib/libdes && ${MAKE} beforeinstall
.endif
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
cd ${.CURDIR}/kerberosIV/lib/libacl && ${MAKE} beforeinstall
cd ${.CURDIR}/kerberosIV/lib/libkadm && ${MAKE} beforeinstall
cd ${.CURDIR}/kerberosIV/lib/libkafs && ${MAKE} beforeinstall
cd ${.CURDIR}/kerberosIV/lib/libkdb && ${MAKE} beforeinstall
cd ${.CURDIR}/kerberosIV/lib/libkrb && ${MAKE} beforeinstall
cd ${.CURDIR}/kerberosIV/lib/libtelnet && ${MAKE} beforeinstall
.else
cd ${.CURDIR}/lib/libtelnet && ${MAKE} beforeinstall
.endif
.if exists(${.CURDIR}/lib/csu/${MACHINE})
cd ${.CURDIR}/lib/csu/${MACHINE} && ${MAKE} beforeinstall
.endif
cd ${.CURDIR}/lib/libalias && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libdisk && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libftpio && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libmytinfo && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libncurses && ${MAKE} beforeinstall
.if !defined(WANT_CSRG_LIBM)
cd ${.CURDIR}/lib/msun && ${MAKE} beforeinstall
.endif
cd ${.CURDIR}/lib/libopie && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libpcap && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libskey && ${MAKE} beforeinstall
.if !defined(NOTCL) && exists (${.CURDIR}/contrib/tcl) && \
exists(${.CURDIR}/usr.bin/tclsh) && exists (${.CURDIR}/lib/libtcl)
cd ${.CURDIR}/lib/libtcl && ${MAKE} installhdrs
.endif
cd ${.CURDIR}/lib/libtermcap && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libcom_err && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libss && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libscsi && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libutil && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libvgl && ${MAKE} beforeinstall
cd ${.CURDIR}/lib/libz && ${MAKE} beforeinstall
cd ${.CURDIR}/usr.bin/f2c && ${MAKE} beforeinstall
cd ${.CURDIR}/usr.bin/lex && ${MAKE} beforeinstall
#
# lib-tools - build tools to compile and install the libraries.
#
lib-tools:
@echo "--------------------------------------------------------------"
@echo " Link to things we haven't fixed yet..."
@echo "--------------------------------------------------------------"
@-rm -f ${WORLDTMP}/usr/bin/lorder
@-rm -f ${WORLDTMP}/usr/bin/groff
@-rm -f ${WORLDTMP}/usr/bin/troff
@-rm -f ${WORLDTMP}/usr/bin/grotty
@-rm -f ${WORLDTMP}/usr/bin/pic
@-rm -f ${WORLDTMP}/usr/bin/tbl
ln -s /usr/bin/lorder ${WORLDTMP}/usr/bin/lorder
ln -s /usr/bin/groff ${WORLDTMP}/usr/bin/groff
ln -s /usr/bin/troff ${WORLDTMP}/usr/bin/troff
ln -s /usr/bin/grotty ${WORLDTMP}/usr/bin/grotty
ln -s /usr/bin/pic ${WORLDTMP}/usr/bin/pic
ln -s /usr/bin/tbl ${WORLDTMP}/usr/bin/tbl
@echo "--------------------------------------------------------------"
@echo " Build tools to compile and install the libraries...."
@echo "--------------------------------------------------------------"
.for d in \
gnu/usr.bin/gperf \
gnu/usr.bin/bison \
gnu/usr.bin/binutils \
usr.bin/tsort \
gnu/usr.bin/cc \
usr.bin/compile_et \
usr.bin/lex/lib \
usr.bin/mk_cmds \
usr.bin/uudecode
cd ${.CURDIR}/$d && ${MAKE} obj && \
${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endfor
#
# libraries - build and install the libraries
#
libraries:
.if exists(lib/csu/${MACHINE})
@echo "-----------------------"
@echo "Making ${.CURDIR}/lib/csu/${MACHINE}"
@cd ${.CURDIR}/lib/csu/${MACHINE} && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
@echo "-----------------------"
@echo "Making ${.CURDIR}/lib/libc"
@cd ${.CURDIR}/lib/libc && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.if exists(lib/libcompat)
@echo "-----------------------"
@echo "Making ${.CURDIR}/lib/libcompat"
@cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(lib/libutil)
@echo "-----------------------"
@echo "Making ${.CURDIR}/lib/libutil"
@cd ${.CURDIR}/lib/libutil && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(lib/libmytinfo)
@echo "-----------------------"
@echo "Making ${.CURDIR}/lib/libmytinfo"
@cd ${.CURDIR}/lib/libmytinfo && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(lib/libncurses)
@echo "-----------------------"
@echo "Making ${.CURDIR}/lib/libncurses"
@cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(lib/libtermcap)
@echo "-----------------------"
@echo "Making ${.CURDIR}/lib/libtermcap"
@cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(gnu)
@echo "-----------------------"
@echo "Making ${.CURDIR}/gnu/lib"
@cd ${.CURDIR}/gnu/lib && ${MAKE} ${CLEANDIR} ${OBJDIR} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
@echo "-----------------------"
@echo "Making ${.CURDIR}/secure/lib"
@cd ${.CURDIR}/secure/lib && ${MAKE} ${OBJDIR} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(lib)
@echo "-----------------------"
@echo "Making ${.CURDIR}/lib"
@cd ${.CURDIR}/lib && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(usr.bin/lex/lib)
@echo "-----------------------"
@echo "Making ${.CURDIR}/usr.bin/lex/lib"
@cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
@echo "-----------------------"
@echo "Making ${.CURDIR}/kerberosIV/lib"
@cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(usr.sbin/pcvt/keycap)
@echo "-----------------------"
@echo "Making ${.CURDIR}/usr.sbin/pcvt/keycap"
@cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
#
# build-tools - build and install any other tools needed to complete the
# compile and install.
# ifdef stale
# bc and cpp are required to build groff. Otherwise, the order here is
# mostly historical, i.e., bogus.
# chmod is used to build gcc's tmpmultilib[2] at obscure times.
# endif stale
# XXX uname is a bug - the target should not depend on the host.
#
# gnu/usr.bin/awk
# gnu/usr.bin/groff
# bin/sh
# usr.bin/size
# usr.bin/strip
# usr.bin/symorder
build-tools:
@-rm -f ${WORLDTMP}/usr/bin/awk
@-rm -f ${WORLDTMP}/bin/sh
ln -s /usr/bin/awk ${WORLDTMP}/usr/bin/awk
ln -s /bin/sh ${WORLDTMP}/bin/sh
.for d in \
bin/cat \
bin/chmod \
bin/cp \
bin/date \
bin/dd \
bin/echo \
bin/expr \
bin/hostname \
bin/ln \
bin/ls \
bin/mkdir \
bin/mv \
bin/rm \
bin/test \
share/info \
usr.bin/basename \
usr.bin/cap_mkdb \
usr.bin/chflags \
usr.bin/cmp \
usr.bin/col \
usr.bin/cpp \
usr.bin/expand \
usr.bin/file2c \
usr.bin/find \
usr.bin/gencat \
usr.bin/m4 \
usr.bin/mkdep \
usr.bin/paste \
usr.bin/printf \
usr.bin/sed \
usr.bin/soelim \
usr.bin/touch \
usr.bin/tr \
usr.bin/true \
usr.bin/uname \
usr.bin/uuencode \
usr.bin/vgrind \
usr.bin/vi \
usr.bin/wc \
usr.bin/yacc \
usr.sbin/chown \
usr.sbin/mtree \
usr.sbin/zic \
gnu/usr.bin/grep \
gnu/usr.bin/gzip \
gnu/usr.bin/sort \
gnu/usr.bin/texinfo
@echo "---------------------------"
@echo "Making ${.CURDIR}/$d"
@cd ${.CURDIR}/$d && ${MAKE} ${CLEANDIR} ${OBJDIR} && \
${MAKE} depend && \
${MAKE} ${MK_FLAGS} all && \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endfor
.for __target in clean cleandir obj depend
.for entry in ${SUBDIR}
${entry}.${__target}__D: .PHONY
if test -d ${.CURDIR}/${entry}.${MACHINE}; then \
${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE}"; \
edir=${entry}.${MACHINE}; \
cd ${.CURDIR}/$${edir}; \
else \
${ECHODIR} "===> ${DIRPRFX}${entry}"; \
edir=${entry}; \
cd ${.CURDIR}/$${edir}; \
fi; \
${MAKE} ${__target} DIRPRFX=${DIRPRFX}$${edir}/
.endfor
par-${__target}: ${SUBDIR:S/$/.${__target}__D/}
.endfor