2 # $Id: Makefile,v 1.6 1994/08/13 22:47:28 jkh Exp $
4 # Make command line options:
5 # -DCLOBBER will remove /usr/include and MOST of /usr/lib
6 # -DMAKE_LOCAL to add ./local to the SUBDIR list
7 # -DMAKE_PORTS to add ./ports to the SUBDIR list
8 # -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
9 # XXX1 -DNOCRYPT will prevent building of crypt versions (BROKEN RIGHT NOW)
10 # -DNOOBJDIR do not run ``${MAKE} obj''
11 # -DNOPROFILE do not build profiled libraries
13 # XXX1 This has not yet been implemented in FreeBSD 2.0.0, the only way
14 # to build the system is with full crypt and KerberosIV
17 # Put initial settings here.
42 .if exists(kerberosIV) && !defined(NOCRYPT)
64 # These are last, since it is nice to at least get the base system
65 # rebuilt before you do them.
66 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
69 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
73 # Handle the -DNOOBJDIR and -DNOCLEANDIR
79 .if defined(NOCLEANDIR)
85 world: directories cleandist mk includes libraries tools mdec
86 @echo "--------------------------------------------------------------"
87 @echo " Rebuilding ${DESTDIR} The whole thing"
88 @echo "--------------------------------------------------------------"
90 ${MAKE} depend all install
91 cd ${.CURDIR}/share/man && ${MAKE} makedb
94 @echo "--------------------------------------------------------------"
95 @echo " Making directories"
96 @echo "--------------------------------------------------------------"
97 @echo " XXX Not yet ready in 2.0.0"
98 # XXX cd ${.CURDIR}/etc && ${MAKE} distrib-dirs
101 .if !defined(NOCLEANDIR)
102 @echo "--------------------------------------------------------------"
103 @echo " Cleaning up the source tree, and rebuilding the obj tree"
104 @echo "--------------------------------------------------------------"
106 here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
107 if test -d /usr/obj -a ! -d $$dest; then \
112 cd $$dest && rm -rf ${SUBDIR}
113 find . -name obj | xargs rm -rf
114 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
115 # The cd is done as local may well be a symbolic link
116 -cd local && find . -name obj | xargs rm -rf
118 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
119 # The cd is done as local may well be a symbolic link
120 -cd ports && find . -name obj | xargs rm -rf
127 @echo "--------------------------------------------------------------"
128 @echo " Rebuilding ${DESTDIR}/usr/share/mk"
129 @echo "--------------------------------------------------------------"
130 cd ${.CURDIR}/share/mk && ${MAKE} install
133 @echo "--------------------------------------------------------------"
134 @echo " Rebuilding ${DESTDIR}/usr/include"
135 @echo "--------------------------------------------------------------"
138 rm -rf ${DESTDIR}/usr/include
139 mkdir ${DESTDIR}/usr/include
140 chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
141 chmod 755 ${DESTDIR}/usr/include
143 cd ${.CURDIR}/include && ${MAKE} install
144 #XXX cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall
145 cd ${.CURDIR}/gnu/usr.bin/cc/libobjc && ${MAKE} beforeinstall
146 .if !defined(NOCRYPT)
147 cd ${.CURDIR}/kerberosIV/include && ${MAKE} install
149 cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall
150 cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall
151 cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall
152 cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall
155 @echo "--------------------------------------------------------------"
156 @echo " Rebuilding ${DESTDIR}/usr/lib"
157 @echo "--------------------------------------------------------------"
160 find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
163 # 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
164 #XXX cd ${.CURDIR}/gnu/lib/libg++ && \
165 #XXX ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
166 cd ${.CURDIR}/gnu/lib/libmalloc && \
167 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
168 cd ${.CURDIR}/gnu/lib/libreadline && \
169 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
170 cd ${.CURDIR}/gnu/lib/libregex && \
171 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
172 cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
173 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
174 cd ${.CURDIR}/lib && \
175 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
176 # You need the lex lib before you can build kerberosIV
177 #XXX # We don't have lex in the 2.0 tree yet!
178 #XXX cd ${.CURDIR}/usr.bin/lex/lib && \
179 #XXX ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
180 .if !defined(NOCRYPT)
181 cd ${.CURDIR}/kerberosIV/acl && \
182 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
183 cd ${.CURDIR}/kerberosIV/des && \
184 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
185 cd ${.CURDIR}/kerberosIV/kdb && \
186 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
187 cd ${.CURDIR}/kerberosIV/krb && \
188 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
192 @echo "--------------------------------------------------------------"
193 @echo " Rebuilding ${DESTDIR} Compiler and Make"
194 @echo "--------------------------------------------------------------"
196 cd ${.CURDIR}/gnu/usr.bin/cc && \
197 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
198 cd ${.CURDIR}/usr.bin/make && \
199 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
202 @echo "--------------------------------------------------------------"
203 @echo " Rebuilding ${DESTDIR}/usr/mdec"
204 @echo "--------------------------------------------------------------"
206 @echo " XXX Not yet ready in 2.0.0"
207 #XXX.if ${MACHINE} == "i386"
208 #XXX # XXX Need to fix for obj case, src/sys/Makefile needs to be fixed to
209 #XXX # traverse down into here and this can go away!
210 #XXX cd ${.CURDIR}/sys/i386/boot && ${MAKE} depend all install ${CLEANDIR}
211 #XXX.if defined (DESTDIR)
212 #XXX # XXX Really need to fix the sys/i386/boot Makefile so this is not
214 #XXX cd /usr/mdec && find . | cpio -pdamuv ${DESTDIR}/usr/mdec
218 .include <bsd.subdir.mk>