2 # $Id: Makefile,v 1.20 1994/09/23 08:36:37 rgrimes 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 # -DNOCRYPT will prevent building of crypt versions
10 # XXX2 -DNOKERBEROS do not build Kerberos
11 # -DNOLKM do not build loadable kernel modules
12 # -DNOOBJDIR do not run ``${MAKE} obj''
13 # -DNOPROFILE do not build profiled libraries
14 # -DNOSECURE do not go into secure subdir
15 # -DNOEBONES do not make eBones (kerberosIV)
17 # XXX2 Mandatory, and Kerberos will not build sucessfully yet
19 # Put initial settings here.
30 # XXX until etc vs release conversion is done
45 .if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
48 .if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) \
70 .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
73 .if exists(lkm) && !defined(NOLKM)
77 # These are last, since it is nice to at least get the base system
78 # rebuilt before you do them.
79 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
82 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
86 # Handle the -DNOOBJDIR and -DNOCLEANDIR
92 .if defined(NOCLEANDIR)
98 world: hierarchy cleandist mk includes libraries tools
99 @echo "--------------------------------------------------------------"
100 @echo " Rebuilding ${DESTDIR} The whole thing"
101 @echo "--------------------------------------------------------------"
103 ${MAKE} depend all install
104 cd ${.CURDIR}/share/man && ${MAKE} makedb
108 @echo "--------------------------------------------------------------"
109 @echo " Making hierarchy"
110 @echo "--------------------------------------------------------------"
111 cd ${.CURDIR}/release && ${MAKE} hierarchy
114 .if defined(SUP_UPDATE)
115 @echo "--------------------------------------------------------------"
117 @echo "--------------------------------------------------------------"
120 .if defined(CVS_UPDATE)
121 @echo "--------------------------------------------------------------"
122 @echo "Updating /usr/src from cvs repository" ${CVSROOT}
123 @echo "--------------------------------------------------------------"
124 cd ${.CURDIR} && cvs update -P -d
128 .if !defined(NOCLEANDIR)
129 @echo "--------------------------------------------------------------"
130 @echo " Cleaning up the source tree, and rebuilding the obj tree"
131 @echo "--------------------------------------------------------------"
133 here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
134 if test -d /usr/obj -a ! -d $$dest; then \
139 cd $$dest && rm -rf ${SUBDIR}
140 find . -name obj | xargs rm -rf
141 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
142 # The cd is done as local may well be a symbolic link
143 -cd local && find . -name obj | xargs rm -rf
145 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
146 # The cd is done as local may well be a symbolic link
147 -cd ports && find . -name obj | xargs rm -rf
154 @echo "--------------------------------------------------------------"
155 @echo " Rebuilding ${DESTDIR}/usr/share/mk"
156 @echo "--------------------------------------------------------------"
157 cd ${.CURDIR}/share/mk && ${MAKE} install
160 @echo "--------------------------------------------------------------"
161 @echo " Rebuilding ${DESTDIR}/usr/include"
162 @echo "--------------------------------------------------------------"
165 rm -rf ${DESTDIR}/usr/include
166 mkdir ${DESTDIR}/usr/include
167 chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
168 chmod 755 ${DESTDIR}/usr/include
170 cd ${.CURDIR}/include && ${MAKE} install
171 cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall
172 cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall
173 .if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
174 cd ${.CURDIR}/kerberosIV/include && ${MAKE} install
176 cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall
177 cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall
178 cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall
179 cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall
180 cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall
181 .if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \
183 cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall
187 @echo "--------------------------------------------------------------"
188 @echo " Rebuilding ${DESTDIR}/usr/lib"
189 @echo "--------------------------------------------------------------"
192 find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
195 cd ${.CURDIR}/gnu/lib && \
196 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
197 cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
198 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
199 .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
200 cd ${.CURDIR}/secure/lib && \
201 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
204 cd ${.CURDIR}/lib && \
205 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
207 cd ${.CURDIR}/usr.bin/lex/lib && \
208 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
209 .if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
210 cd ${.CURDIR}/kerberosIV/acl && \
211 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
212 cd ${.CURDIR}/kerberosIV/des && \
213 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
214 cd ${.CURDIR}/kerberosIV/kdb && \
215 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
216 cd ${.CURDIR}/kerberosIV/krb && \
217 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
219 .if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \
221 cd ${.CURDIR}/eBones/des && \
222 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
223 cd ${.CURDIR}/eBones/acl && \
224 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
225 cd ${.CURDIR}/eBones/kdb && \
226 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
227 cd ${.CURDIR}/eBones/krb && \
228 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
232 @echo "--------------------------------------------------------------"
233 @echo " Rebuilding ${DESTDIR} Compiler and Make"
234 @echo "--------------------------------------------------------------"
236 cd ${.CURDIR}/gnu/usr.bin/cc && \
237 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
238 cd ${.CURDIR}/usr.bin/make && \
239 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
241 .include <bsd.subdir.mk>