2 # $Id: Makefile,v 1.17 1994/09/12 05:17:15 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.
44 .if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
47 .if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) \
69 .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
72 .if exists(lkm) && !defined(NOLKM)
76 # These are last, since it is nice to at least get the base system
77 # rebuilt before you do them.
78 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
81 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
85 # Handle the -DNOOBJDIR and -DNOCLEANDIR
91 .if defined(NOCLEANDIR)
97 world: directories cleandist mk includes libraries tools
98 @echo "--------------------------------------------------------------"
99 @echo " Rebuilding ${DESTDIR} The whole thing"
100 @echo "--------------------------------------------------------------"
102 ${MAKE} depend all install
103 cd ${.CURDIR}/share/man && ${MAKE} makedb
107 @echo "--------------------------------------------------------------"
108 @echo " Making directories"
109 @echo "--------------------------------------------------------------"
110 cd ${.CURDIR}/etc && ${MAKE} distrib-dirs
113 .if defined(SUP_UPDATE)
114 @echo "--------------------------------------------------------------"
116 @echo "--------------------------------------------------------------"
119 .if defined(CVS_UPDATE)
120 @echo "--------------------------------------------------------------"
121 @echo "Updating /usr/src from cvs repository" ${CVSROOT}
122 @echo "--------------------------------------------------------------"
123 cd ${.CURDIR} && cvs update -P -d
127 .if !defined(NOCLEANDIR)
128 @echo "--------------------------------------------------------------"
129 @echo " Cleaning up the source tree, and rebuilding the obj tree"
130 @echo "--------------------------------------------------------------"
132 here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
133 if test -d /usr/obj -a ! -d $$dest; then \
138 cd $$dest && rm -rf ${SUBDIR}
139 find . -name obj | xargs rm -rf
140 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
141 # The cd is done as local may well be a symbolic link
142 -cd local && find . -name obj | xargs rm -rf
144 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
145 # The cd is done as local may well be a symbolic link
146 -cd ports && find . -name obj | xargs rm -rf
153 @echo "--------------------------------------------------------------"
154 @echo " Rebuilding ${DESTDIR}/usr/share/mk"
155 @echo "--------------------------------------------------------------"
156 cd ${.CURDIR}/share/mk && ${MAKE} install
159 @echo "--------------------------------------------------------------"
160 @echo " Rebuilding ${DESTDIR}/usr/include"
161 @echo "--------------------------------------------------------------"
164 rm -rf ${DESTDIR}/usr/include
165 mkdir ${DESTDIR}/usr/include
166 chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
167 chmod 755 ${DESTDIR}/usr/include
169 cd ${.CURDIR}/include && ${MAKE} install
170 cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall
171 cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall
172 .if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
173 cd ${.CURDIR}/kerberosIV/include && ${MAKE} install
175 cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall
176 cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall
177 cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall
178 cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall
179 .if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \
181 cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall
185 @echo "--------------------------------------------------------------"
186 @echo " Rebuilding ${DESTDIR}/usr/lib"
187 @echo "--------------------------------------------------------------"
190 find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
193 cd ${.CURDIR}/gnu/lib && \
194 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
195 cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
196 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
197 .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
198 cd ${.CURDIR}/secure/lib && \
199 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
202 cd ${.CURDIR}/lib && \
203 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
205 cd ${.CURDIR}/usr.bin/lex/lib && \
206 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
207 .if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
208 cd ${.CURDIR}/kerberosIV/acl && \
209 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
210 cd ${.CURDIR}/kerberosIV/des && \
211 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
212 cd ${.CURDIR}/kerberosIV/kdb && \
213 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
214 cd ${.CURDIR}/kerberosIV/krb && \
215 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
217 .if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \
219 cd ${.CURDIR}/eBones/des && \
220 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
221 cd ${.CURDIR}/eBones/acl && \
222 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
223 cd ${.CURDIR}/eBones/kdb && \
224 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
225 cd ${.CURDIR}/eBones/krb && \
226 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
230 @echo "--------------------------------------------------------------"
231 @echo " Rebuilding ${DESTDIR} Compiler and Make"
232 @echo "--------------------------------------------------------------"
234 cd ${.CURDIR}/gnu/usr.bin/cc && \
235 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
236 cd ${.CURDIR}/usr.bin/make && \
237 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
239 .include <bsd.subdir.mk>