mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-02 04:13:39 +00:00
592ec7c1e4
the FreeBSD one which isn't built during the bootstrap. This causes all programs that normally use shared libraries to fail to exec with "ELF: not found". Sub-optimal. So force the boot strapped programs to be linked statically. To install the FreeBSD header files requires both the include tools and the lib tools. And the libraries require the FreeBSD headers, so the first build of the tools compiles FreeBSD source against NetBSD headers and libraries. These tools are then used to install the headers and build the FreeBSD libraries. After doing that, go back and rebuild the tools _again_ so that they are fully FreeBSD (src, headers, libs). And only then go on to build the rest of the FreeBSD system with _only_ FreeBSD tools.
536 lines
20 KiB
Makefile
536 lines
20 KiB
Makefile
# $Id: Makefile.alpha,v 1.5 1998/03/11 21:00:49 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. The bootstrap is pretty much complete now, with
|
|
# all tools (except the lorder script) being built from FreeBSD
|
|
# source. If you have lots of disk space (like 1G) for the obj
|
|
# tree, then define IHAVELOTSOFDISKSPACE in your environment before
|
|
# running this script. Without this, the bootstrap will complete
|
|
# with all the tools, libraries and headers in the /usr/obj/usr/src/tmp
|
|
# tree. Then you can build the rest bit by bit by setting the DIRS
|
|
# environment variable to the list of directories you want to build,
|
|
# then running 'make dirs". So, to make /usr/src/usr.bin,
|
|
# export DIRS=usr.bin; cd /usr/src; make dirs
|
|
# The programs will build and install in the /usr/obj/usr/src/tmp
|
|
# tree. You should run them from there to see if they work. And just
|
|
# because they compile, don't assume they work. 8-)
|
|
#
|
|
# 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 \
|
|
LDFLAGS=-static
|
|
LMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} CC='cc -nostdinc' \
|
|
LDFLAGS=-static \
|
|
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 all tools with the new FreeBSD tools to see"
|
|
@echo " if they work..."
|
|
@echo "--------------------------------------------------------------"
|
|
@cd ${.CURDIR} && ${LMAKE} build-tools
|
|
.if IHAVELOTSOFDISKSPACE
|
|
@echo
|
|
@echo "--------------------------------------------------------------"
|
|
@echo " Rebuilding dependencies"
|
|
@echo "--------------------------------------------------------------"
|
|
@cd ${.CURDIR} && ${XMAKE} par-depend
|
|
@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
|
|
cd ${.CURDIR}/lib/csu/${MACHINE_ARCH} && ${MAKE} beforeinstall
|
|
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 "--------------------------------------------------------------"
|
|
@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 \
|
|
lib/csu/${MACHINE_ARCH} \
|
|
usr.bin/compile_et \
|
|
usr.bin/lex/lib \
|
|
usr.bin/mk_cmds \
|
|
usr.bin/uudecode
|
|
cd ${.CURDIR}/$d && ${MAKE} obj && \
|
|
${MAKE} ${MK_FLAGS} -DBOOTSTRAP depend && \
|
|
${MAKE} ${MK_FLAGS} -DBOOTSTRAP all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
.endfor
|
|
|
|
#
|
|
# libraries - build and install the libraries
|
|
#
|
|
libraries:
|
|
@echo "-----------------------"
|
|
@echo "Making ${.CURDIR}/lib/csu/${MACHINE_ARCH}"
|
|
@cd ${.CURDIR}/lib/csu/${MACHINE_ARCH} && ${MAKE} depend && \
|
|
${MAKE} ${MK_FLAGS} all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
@echo "-----------------------"
|
|
@echo "Making ${.CURDIR}/lib/libc"
|
|
@cd ${.CURDIR}/lib/libc && ${MAKE} depend && \
|
|
${MAKE} ${MK_FLAGS} all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
@echo "-----------------------"
|
|
@echo "Making ${.CURDIR}/lib/libcompat"
|
|
@cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \
|
|
${MAKE} ${MK_FLAGS} all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
@echo "-----------------------"
|
|
@echo "Making ${.CURDIR}/lib/libutil"
|
|
@cd ${.CURDIR}/lib/libutil && ${MAKE} depend && \
|
|
${MAKE} ${MK_FLAGS} all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
@echo "-----------------------"
|
|
@echo "Making ${.CURDIR}/lib/libmytinfo"
|
|
@cd ${.CURDIR}/lib/libmytinfo && ${MAKE} depend && \
|
|
${MAKE} ${MK_FLAGS} all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
@echo "-----------------------"
|
|
@echo "Making ${.CURDIR}/lib/libncurses"
|
|
@cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \
|
|
${MAKE} ${MK_FLAGS} all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
@echo "-----------------------"
|
|
@echo "Making ${.CURDIR}/lib/libtermcap"
|
|
@cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \
|
|
${MAKE} ${MK_FLAGS} all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
@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}
|
|
.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
|
|
@echo "-----------------------"
|
|
@echo "Making ${.CURDIR}/lib"
|
|
@cd ${.CURDIR}/lib && ${MAKE} depend && \
|
|
${MAKE} ${MK_FLAGS} all && \
|
|
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
|
|
@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}
|
|
.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
|
|
|
|
#
|
|
# 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/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 \
|
|
gnu/usr.bin/make \
|
|
gnu/usr.bin/xinstall \
|
|
gnu/usr.bin/lex \
|
|
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 \
|
|
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_ARCH}; then \
|
|
${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE_ARCH}"; \
|
|
edir=${entry}.${MACHINE_ARCH}; \
|
|
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
|
|
|