summaryrefslogtreecommitdiffstats
path: root/Makefile.alpha
diff options
context:
space:
mode:
authorjb <jb@FreeBSD.org>1998-02-19 07:25:03 +0000
committerjb <jb@FreeBSD.org>1998-02-19 07:25:03 +0000
commit283cac6d8e83bafc951eb3d542927ea2b0a17b7b (patch)
tree15bd6eb6145fd0db64334d453bb1a543919bb677 /Makefile.alpha
parent7d4af6ecd6bb200ad98cb5c0b1e0073157755434 (diff)
downloadFreeBSD-src-283cac6d8e83bafc951eb3d542927ea2b0a17b7b.zip
FreeBSD-src-283cac6d8e83bafc951eb3d542927ea2b0a17b7b.tar.gz
With the exception of tools that should come from GNU binutils,
this makefile will bootstrap all libraries and tools needed to build the system.
Diffstat (limited to 'Makefile.alpha')
-rw-r--r--Makefile.alpha283
1 files changed, 176 insertions, 107 deletions
diff --git a/Makefile.alpha b/Makefile.alpha
index 1ed2e10..57cda5dc 100644
--- a/Makefile.alpha
+++ b/Makefile.alpha
@@ -1,4 +1,4 @@
-# $Id$
+# $Id: Makefile.alpha,v 1.1 1998/01/11 04:46:02 jb Exp $
#
# NOTE:
#
@@ -24,10 +24,13 @@
# ======= 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
+SUBDIR = share/info lib bin gnu libexec sbin share sys usr.bin \
+ usr.sbin secure
OBJDIR = obj
+CLEANDIR= cleandir
+
.MAKEFLAGS:= ${.MAKEFLAGS} -m ${.CURDIR}/share/mk
#
@@ -59,9 +62,9 @@ COMPILER_ENV= BISON_SIMPLE=${WORLDTMP}/usr/share/misc/bison.simple \
BMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t
LMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} CC='cc -nostdinc' \
- MKDEP_CPP='cc -E -nostdinc'
+ MKDEP_CPP='${WORLDTMP}/usr/bin/cc -E -nostdinc'
XMAKEENV= PATH=${STRICTTMPPATH} ${COMPILER_ENV} \
- CC='cc -nostdinc' MKDEP_CPP='cc -nostdinc -E'
+ 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}
@@ -88,10 +91,10 @@ buildworld:
@echo " ABORT NOW IF UNSURE!"
@sleep 10
@echo " OK, here we go......"
+ mkdir -p ${WORLDTMP}
@echo "--------------------------------------------------------------"
@echo " Cleaning up the temporary build tree"
@echo "--------------------------------------------------------------"
- mkdir -p ${WORLDTMP}
chflags -R noschg ${WORLDTMP}/
rm -rf ${WORLDTMP}
@echo
@@ -99,56 +102,56 @@ buildworld:
@echo " Install the FreeBSD mkdep ('cause the NetBSD one isn't good enough!)"
@echo "--------------------------------------------------------------"
mkdir -p ${WORLDTMP}/usr/bin
- cd ${.CURDIR}/usr.bin/mkdep && \
+ @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 && \
+ @cd ${.CURDIR}/usr.bin/make && \
${IBMAKE} -I${.CURDIR}/share/mk ${CLEANDIR} ${OBJDIR}
- cd ${.CURDIR}/usr.bin/make && \
+ @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} clean cleandepend
+ ${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 && \
+ @cd ${.CURDIR}/usr.bin/find && \
${IBMAKE} -I${.CURDIR}/share/mk ${CLEANDIR} ${OBJDIR}
- cd ${.CURDIR}/usr.bin/find && \
+ @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} clean cleandepend
+ ${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} ${CLEANDIR} ${OBJDIR}
@echo
@echo "--------------------------------------------------------------"
@echo " Making hierarchy like normal"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${BMAKE} hierarchy
+ @cd ${.CURDIR} && ${BMAKE} hierarchy
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding the obj tree like normal"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${BMAKE} par-obj
+ @cd ${.CURDIR} && ${BMAKE} par-obj
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding FreeBSD bootstrap tools using the NetBSD ones"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${BMAKE} bootstrap
+ @cd ${.CURDIR} && ${BMAKE} bootstrap
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding FreeBSD tools necessary to build the include files"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${BMAKE} include-tools
+ @cd ${.CURDIR} && ${BMAKE} include-tools
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding FreeBSD tools needed to build the libraries"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${BMAKE} lib-tools
+ @cd ${.CURDIR} && ${BMAKE} lib-tools
@echo
@echo "--------------------------------------------------------------"
@echo " AT THIS POINT, THE TEMPORARY TREE IS SUPPOSED TO HAVE ALL"
@@ -157,27 +160,41 @@ buildworld:
@echo
@echo " Rebuilding /usr/include"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && SHARED=copies ${BMAKE} includes
+ @cd ${.CURDIR} && SHARED=copies ${BMAKE} includes
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding /usr/lib"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${LMAKE} libraries
+ @cd ${.CURDIR} && ${LMAKE} libraries
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding all other tools needed to build the world"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${LMAKE} build-tools
+ @cd ${.CURDIR} && ${LMAKE} build-tools
@echo
@echo "--------------------------------------------------------------"
@echo " Rebuilding dependencies"
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${XMAKE} par-depend
+ @cd ${.CURDIR} && ${XMAKE} par-depend
+.if IHAVELOTSOFDISKSPACE
@echo
@echo "--------------------------------------------------------------"
@echo " Building everything.."
@echo "--------------------------------------------------------------"
- cd ${.CURDIR} && ${XMAKE} all
+ @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
+
#
# ------------------------------------------------------------------------
@@ -205,10 +222,11 @@ 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} depend && \
+ 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} bootstrap && ${MAKE} depend && \
+ 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
@@ -291,29 +309,44 @@ includes:
#
# XXX gperf is required for cc
# XXX a new ld and tsort is required for cc
-# gnu/usr.bin/ld
-# gnu/usr.bin/as
-# gnu/usr.bin/cc
lib-tools:
- cd ${.CURDIR}/lib/csu/alpha && ${MAKE} depend && \
- ${MAKE} ${MK_FLAGS} all && \
- ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
+ @echo "--------------------------------------------------------------"
+ @echo " Link to GNU binutils we haven't imported yet..."
+ @echo "--------------------------------------------------------------"
@-rm -f ${WORLDTMP}/usr/bin/ld
@-rm -f ${WORLDTMP}/usr/bin/as
- @-rm -f ${WORLDTMP}/usr/bin/g++
@-rm -f ${WORLDTMP}/usr/bin/nm
@-rm -f ${WORLDTMP}/usr/bin/ranlib
- ln -s /usr/local/bin/ld ${WORLDTMP}/usr/bin/ld
- ln -s /usr/local/bin/as ${WORLDTMP}/usr/bin/as
- ln -s /usr/local/bin/g++ ${WORLDTMP}/usr/bin/g++
- ln -s /usr/local/bin/nm ${WORLDTMP}/usr/bin/nm
- ln -s /usr/local/bin/ranlib ${WORLDTMP}/usr/bin/ranlib
+ @-rm -f ${WORLDTMP}/usr/bin/ar
+ @-rm -f ${WORLDTMP}/usr/bin/tsort
+ @-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/local/bin/as ${WORLDTMP}/usr/bin/as
+ ln -s /usr/local/bin/nm ${WORLDTMP}/usr/bin/nm
+ ln -s /usr/local/bin/ranlib ${WORLDTMP}/usr/bin/ranlib
+ ln -s /usr/local/bin/ar ${WORLDTMP}/usr/bin/ar
+ ln -s /usr/bin/lorder ${WORLDTMP}/usr/bin/lorder
+ ln -s /usr/bin/tsort ${WORLDTMP}/usr/bin/tsort
+ 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
+.if ${MACHINE} == "alpha"
+ ln -s /usr/local/bin/ld ${WORLDTMP}/usr/bin/ld
+.else
+ cd ${.CURDIR}/gnu/usr.bin/ld && ${MAKE} obj depend && \
+ ${MAKE} ${MK_FLAGS} all && \
+ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
+.endif
.for d in \
gnu/usr.bin/gperf \
- usr.bin/tsort \
gnu/usr.bin/bison \
gnu/usr.bin/cc \
- usr.bin/ar \
usr.bin/compile_et \
usr.bin/lex/lib \
usr.bin/mk_cmds \
@@ -328,60 +361,91 @@ lib-tools:
#
libraries:
.if exists(lib/csu/${MACHINE})
- cd ${.CURDIR}/lib/csu/${MACHINE} && ${MAKE} depend && \
+ @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
- cd ${.CURDIR}/lib/libc && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/lib/libmytinfo && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/gnu/lib && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/secure/lib && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/lib && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && \
+ @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)
- cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} depend && \
+ @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
@@ -396,64 +460,69 @@ libraries:
# 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:
-.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/sh \
- bin/test \
- gnu/usr.bin/awk \
- gnu/usr.bin/bc \
- gnu/usr.bin/grep \
- gnu/usr.bin/groff \
- gnu/usr.bin/gzip \
- gnu/usr.bin/man/makewhatis \
- gnu/usr.bin/sort \
- gnu/usr.bin/texinfo \
- 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/lorder \
- usr.bin/m4 \
- usr.bin/mkdep \
- usr.bin/paste \
- usr.bin/sed \
- usr.bin/size \
- usr.bin/soelim \
- usr.bin/strip \
- usr.bin/symorder \
- 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
- cd ${.CURDIR}/$d && ${MAKE} depend && \
+ @-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
OpenPOWER on IntegriCloud