]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Makefile
This commit was generated by cvs2svn to compensate for changes in r2345,
[FreeBSD/FreeBSD.git] / Makefile
1 #
2 #       $Id: Makefile,v 1.13 1994/08/26 20:16:58 paul Exp $
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 #       -DNOCRYPT will prevent building of crypt versions
10 # XXX2  -DNOKERBEROS do not build Kerberos
11 #       -DNOOBJDIR do not run ``${MAKE} obj''
12 #       -DNOPROFILE do not build profiled libraries
13 #       -DNOSECURE do not go into secure subdir
14 #
15 # XXX2  Mandatory, and Kerberos will not build sucessfully yet
16
17 # Put initial settings here.
18 NOKERBEROS=     yes
19 SUBDIR=
20
21 .if exists(bin)
22 SUBDIR+= bin
23 .endif
24 .if exists(contrib)
25 SUBDIR+= contrib
26 .endif
27 .if exists(etc)
28 SUBDIR+= etc
29 .endif
30 .if exists(games)
31 SUBDIR+= games
32 .endif
33 .if exists(gnu)
34 SUBDIR+= gnu
35 .endif
36 .if exists(include)
37 SUBDIR+= include
38 .endif
39 .if exists(lib)
40 SUBDIR+= lib
41 .endif
42 .if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
43 SUBDIR+= kerberosIV
44 .endif
45 .if exists(libexec)
46 SUBDIR+= libexec
47 .endif
48 .if exists(sbin)
49 SUBDIR+= sbin
50 .endif
51 .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
52 SUBDIR+= secure
53 .endif
54 .if exists(share)
55 SUBDIR+= share
56 .endif
57 .if exists(sys)
58 SUBDIR+= sys
59 .endif
60 .if exists(usr.bin)
61 SUBDIR+= usr.bin
62 .endif
63 .if exists(usr.sbin)
64 SUBDIR+= usr.sbin
65 .endif
66
67 # These are last, since it is nice to at least get the base system
68 # rebuilt before you do them.
69 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
70 SUBDIR+= local
71 .endif
72 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
73 SUBDIR+= ports
74 .endif
75
76 # Handle the -DNOOBJDIR and -DNOCLEANDIR
77 .if defined(NOOBJDIR)
78 OBJDIR=
79 .else
80 OBJDIR=         obj
81 .endif
82 .if defined(NOCLEANDIR)
83 CLEANDIR=       clean
84 .else 
85 CLEANDIR=       cleandir
86 .endif
87
88 world:  directories update cleandist mk includes libraries tools
89         @echo "--------------------------------------------------------------"
90         @echo " Rebuilding ${DESTDIR} The whole thing"
91         @echo "--------------------------------------------------------------"
92         @echo
93         ${MAKE} depend all install
94         cd ${.CURDIR}/share/man &&              ${MAKE} makedb
95
96
97 directories:
98         @echo "--------------------------------------------------------------"
99         @echo " Making directories"
100         @echo "--------------------------------------------------------------"
101         cd ${.CURDIR}/etc &&                    ${MAKE} distrib-dirs
102
103 update:
104 .if defined(SUP_UPDATE)
105         @echo "--------------------------------------------------------------"
106         @echo "Running sup"
107         @echo "--------------------------------------------------------------"
108         @sup -v ${SUPFILE}
109 .endif
110 .if defined(CVS_UPDATE)
111         @echo "--------------------------------------------------------------"
112         @echo "Updating /usr/src from cvs repository" ${CVSROOT}
113         @echo "--------------------------------------------------------------"
114         cd ${.CURDIR} &&  cvs update -P -d
115 .endif
116
117 cleandist:
118 .if !defined(NOCLEANDIR)
119         @echo "--------------------------------------------------------------"
120         @echo " Cleaning up the source tree, and rebuilding the obj tree"
121         @echo "--------------------------------------------------------------"
122         @echo
123         here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
124         if test -d /usr/obj -a ! -d $$dest; then \
125                 mkdir -p $$dest; \
126         else \
127                 true; \
128         fi; \
129         cd $$dest && rm -rf ${SUBDIR}
130         find . -name obj | xargs rm -rf
131 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
132         # The cd is done as local may well be a symbolic link
133         -cd local && find . -name obj | xargs rm -rf
134 .endif
135 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
136         # The cd is done as local may well be a symbolic link
137         -cd ports && find . -name obj | xargs rm -rf
138 .endif
139         ${MAKE} cleandir
140         ${MAKE} obj
141 .endif
142
143 mk:
144         @echo "--------------------------------------------------------------"
145         @echo " Rebuilding ${DESTDIR}/usr/share/mk"
146         @echo "--------------------------------------------------------------"
147         cd ${.CURDIR}/share/mk &&               ${MAKE} install
148
149 includes:
150         @echo "--------------------------------------------------------------"
151         @echo " Rebuilding ${DESTDIR}/usr/include"
152         @echo "--------------------------------------------------------------"
153         @echo
154 .if defined(CLOBBER)
155         rm -rf ${DESTDIR}/usr/include
156         mkdir ${DESTDIR}/usr/include
157         chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
158         chmod 755 ${DESTDIR}/usr/include
159 .endif
160         cd ${.CURDIR}/include &&                ${MAKE} install
161 #XXX    cd ${.CURDIR}/gnu/lib/libg++ &&         ${MAKE} beforeinstall
162 #XXX    cd ${.CURDIR}/gnu/usr.bin/cc/libobjc && ${MAKE} beforeinstall
163 .if !defined(NOCRYPT) && !defined(NOKERBEROS)
164         cd ${.CURDIR}/kerberosIV/include &&     ${MAKE} install
165 .endif
166         cd ${.CURDIR}/lib/libc &&               ${MAKE} beforeinstall
167         cd ${.CURDIR}/lib/libcurses &&          ${MAKE} beforeinstall
168         cd ${.CURDIR}/lib/libedit &&            ${MAKE} beforeinstall
169         cd ${.CURDIR}/lib/librpcsvc &&          ${MAKE} beforeinstall
170
171 libraries:
172         @echo "--------------------------------------------------------------"
173         @echo " Rebuilding ${DESTDIR}/usr/lib"
174         @echo "--------------------------------------------------------------"
175         @echo
176 .if defined(CLOBBER)
177         find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
178                 xargs rm -rf
179 .endif
180         # 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
181 #XXX    cd ${.CURDIR}/gnu/lib/libg++ && \
182 #XXX            ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
183         cd ${.CURDIR}/gnu/lib/libmalloc && \
184                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
185         cd ${.CURDIR}/gnu/lib/libreadline && \
186                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
187         cd ${.CURDIR}/gnu/lib/libregex && \
188                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
189         cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
190                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
191 .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
192         cd ${.CURDIR}/secure/lib && \
193                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
194 .endif
195 .if exists(lib)
196         cd ${.CURDIR}/lib && \
197                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
198 .endif
199         # You need the lex lib before you can build kerberosIV
200 #XXX    # We don't have lex in the 2.0 tree yet!
201 #XXX    cd ${.CURDIR}/usr.bin/lex/lib && \
202 #XXX            ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
203 .if !defined(NOCRYPT) && !defined(NOKERBEROS)
204         cd ${.CURDIR}/kerberosIV/acl && \
205                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
206         cd ${.CURDIR}/kerberosIV/des && \
207                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
208         cd ${.CURDIR}/kerberosIV/kdb && \
209                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
210         cd ${.CURDIR}/kerberosIV/krb && \
211                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
212 .endif
213
214 tools:
215         @echo "--------------------------------------------------------------"
216         @echo " Rebuilding ${DESTDIR} Compiler and Make"
217         @echo "--------------------------------------------------------------"
218         @echo
219         cd ${.CURDIR}/gnu/usr.bin/cc && \
220                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
221         cd ${.CURDIR}/usr.bin/make && \
222                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
223
224 .include <bsd.subdir.mk>