Deleted Added
full compact
Makefile (2007) Makefile (2061)
1# @(#)Makefile 8.1 (Berkeley) 6/19/93
1#
2# $Id$
3#
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
12#
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
15#
2
16
3SUBDIR= bin gnu include lib libexec sbin \
4 share usr.bin usr.sbin
17# Put initial settings here.
18NOCRYPT= yes
19SUBDIR=
5
20
6afterinstall:
7 (cd share/man && make makedb)
21.if exists(bin)
22SUBDIR+= bin
23.endif
24.if exists(contrib)
25SUBDIR+= contrib
26.endif
27.if exists(etc)
28SUBDIR+= etc
29.endif
30.if exists(games)
31SUBDIR+= games
32.endif
33.if exists(gnu)
34SUBDIR+= gnu
35.endif
36.if exists(include)
37SUBDIR+= include
38.endif
39.if exists(lib)
40SUBDIR+= lib
41.endif
42.if exists(kerberosIV) && !defined(NOCRYPT)
43SUBDIR+= kerberosIV
44.endif
45.if exists(libexec)
46SUBDIR+= libexec
47.endif
48.if exists(sbin)
49SUBDIR+= sbin
50.endif
51.if exists(share)
52SUBDIR+= share
53.endif
54.if exists(sys)
55SUBDIR+= sys
56.endif
57.if exists(usr.bin)
58SUBDIR+= usr.bin
59.endif
60.if exists(usr.sbin)
61SUBDIR+= usr.sbin
62.endif
8
63
9build:
10 (cd include && make install)
11 make cleandir
12 (cd lib && make depend && make && make install)
13 (cd kerberosIV && make depend && make && make install)
14 make depend && make && make install
15
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)
67SUBDIR+= local
68.endif
69.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
70SUBDIR+= ports
71.endif
72
73# Handle the -DNOOBJDIR and -DNOCLEANDIR
74.if defined(NOOBJDIR)
75OBJDIR=
76.else
77OBJDIR= obj
78.endif
79.if defined(NOCLEANDIR)
80CLEANDIR= clean
81.else
82CLEANDIR= cleandir
83.endif
84
85world: directories cleandist mk includes libraries tools mdec
86 @echo "--------------------------------------------------------------"
87 @echo " Rebuilding ${DESTDIR} The whole thing"
88 @echo "--------------------------------------------------------------"
89 @echo
90 ${MAKE} depend all install
91 cd ${.CURDIR}/share/man && ${MAKE} makedb
92
93directories:
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
99
100cleandist:
101.if !defined(NOCLEANDIR)
102 @echo "--------------------------------------------------------------"
103 @echo " Cleaning up the source tree, and rebuilding the obj tree"
104 @echo "--------------------------------------------------------------"
105 @echo
106 here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
107 if test -d /usr/obj -a ! -d $$dest; then \
108 mkdir -p $$dest; \
109 else \
110 true; \
111 fi; \
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
117.endif
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
121.endif
122 ${MAKE} cleandir
123 ${MAKE} obj
124.endif
125
126mk:
127 @echo "--------------------------------------------------------------"
128 @echo " Rebuilding ${DESTDIR}/usr/share/mk"
129 @echo "--------------------------------------------------------------"
130 cd ${.CURDIR}/share/mk && ${MAKE} install
131
132includes:
133 @echo "--------------------------------------------------------------"
134 @echo " Rebuilding ${DESTDIR}/usr/include"
135 @echo "--------------------------------------------------------------"
136 @echo
137.if defined(CLOBBER)
138 rm -rf ${DESTDIR}/usr/include
139 mkdir ${DESTDIR}/usr/include
140 chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
141 chmod 755 ${DESTDIR}/usr/include
142.endif
143 cd ${.CURDIR}/include && ${MAKE} install
144 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
148.endif
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
153
154libraries:
155 @echo "--------------------------------------------------------------"
156 @echo " Rebuilding ${DESTDIR}/usr/lib"
157 @echo "--------------------------------------------------------------"
158 @echo
159.if defined(CLOBBER)
160 find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
161 xargs rm -rf
162.endif
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}
189.endif
190
191tools:
192 @echo "--------------------------------------------------------------"
193 @echo " Rebuilding ${DESTDIR} Compiler and Make"
194 @echo "--------------------------------------------------------------"
195 @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}
200
201mdec:
202 @echo "--------------------------------------------------------------"
203 @echo " Rebuilding ${DESTDIR}/usr/mdec"
204 @echo "--------------------------------------------------------------"
205 @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
213#XXX # necessary!!!
214#XXX cd /usr/mdec && find . | cpio -pdamuv ${DESTDIR}/usr/mdec
215#XXX.endif
216#XXX.endif
217
16.include <bsd.subdir.mk>
218.include <bsd.subdir.mk>