]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Makefile
Added libkern to list of libraries to build.
[FreeBSD/FreeBSD.git] / Makefile
1 #
2 #       $Id: Makefile,v 1.11 1994/08/25 10:47:30 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 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 directories:
97         @echo "--------------------------------------------------------------"
98         @echo " Making directories"
99         @echo "--------------------------------------------------------------"
100         @echo " XXX Not yet ready in 2.0.0"
101 # XXX   cd ${.CURDIR}/etc &&                    ${MAKE} distrib-dirs
102
103 cleandist:
104 .if !defined(NOCLEANDIR)
105         @echo "--------------------------------------------------------------"
106         @echo " Cleaning up the source tree, and rebuilding the obj tree"
107         @echo "--------------------------------------------------------------"
108         @echo
109         here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
110         if test -d /usr/obj -a ! -d $$dest; then \
111                 mkdir -p $$dest; \
112         else \
113                 true; \
114         fi; \
115         cd $$dest && rm -rf ${SUBDIR}
116         find . -name obj | xargs rm -rf
117 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
118         # The cd is done as local may well be a symbolic link
119         -cd local && find . -name obj | xargs rm -rf
120 .endif
121 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
122         # The cd is done as local may well be a symbolic link
123         -cd ports && find . -name obj | xargs rm -rf
124 .endif
125         ${MAKE} cleandir
126         ${MAKE} obj
127 .endif
128
129 mk:
130         @echo "--------------------------------------------------------------"
131         @echo " Rebuilding ${DESTDIR}/usr/share/mk"
132         @echo "--------------------------------------------------------------"
133         cd ${.CURDIR}/share/mk &&               ${MAKE} install
134
135 includes:
136         @echo "--------------------------------------------------------------"
137         @echo " Rebuilding ${DESTDIR}/usr/include"
138         @echo "--------------------------------------------------------------"
139         @echo
140 .if defined(CLOBBER)
141         rm -rf ${DESTDIR}/usr/include
142         mkdir ${DESTDIR}/usr/include
143         chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
144         chmod 755 ${DESTDIR}/usr/include
145 .endif
146         cd ${.CURDIR}/include &&                ${MAKE} install
147 #XXX    cd ${.CURDIR}/gnu/lib/libg++ &&         ${MAKE} beforeinstall
148 #XXX    cd ${.CURDIR}/gnu/usr.bin/cc/libobjc && ${MAKE} beforeinstall
149 .if !defined(NOCRYPT) && !defined(NOKERBEROS)
150         cd ${.CURDIR}/kerberosIV/include &&     ${MAKE} install
151 .endif
152         cd ${.CURDIR}/lib/libc &&               ${MAKE} beforeinstall
153         cd ${.CURDIR}/lib/libcurses &&          ${MAKE} beforeinstall
154         cd ${.CURDIR}/lib/libedit &&            ${MAKE} beforeinstall
155         cd ${.CURDIR}/lib/librpcsvc &&          ${MAKE} beforeinstall
156
157 libraries:
158         @echo "--------------------------------------------------------------"
159         @echo " Rebuilding ${DESTDIR}/usr/lib"
160         @echo "--------------------------------------------------------------"
161         @echo
162 .if defined(CLOBBER)
163         find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
164                 xargs rm -rf
165 .endif
166         # 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
167 #XXX    cd ${.CURDIR}/gnu/lib/libg++ && \
168 #XXX            ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
169         cd ${.CURDIR}/gnu/lib/libmalloc && \
170                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
171         cd ${.CURDIR}/gnu/lib/libreadline && \
172                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
173         cd ${.CURDIR}/gnu/lib/libregex && \
174                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
175         cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
176                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
177 .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
178         cd ${.CURDIR}/secure/lib && \
179                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
180 .endif
181 .if exists(sys)
182         cd ${.CURDIR}/sys/libkern && \
183                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
184 .endif
185 .if exists(lib)
186         cd ${.CURDIR}/lib && \
187                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
188 .endif
189         # You need the lex lib before you can build kerberosIV
190 #XXX    # We don't have lex in the 2.0 tree yet!
191 #XXX    cd ${.CURDIR}/usr.bin/lex/lib && \
192 #XXX            ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
193 .if !defined(NOCRYPT) && !defined(NOKERBEROS)
194         cd ${.CURDIR}/kerberosIV/acl && \
195                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
196         cd ${.CURDIR}/kerberosIV/des && \
197                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
198         cd ${.CURDIR}/kerberosIV/kdb && \
199                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
200         cd ${.CURDIR}/kerberosIV/krb && \
201                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
202 .endif
203
204 tools:
205         @echo "--------------------------------------------------------------"
206         @echo " Rebuilding ${DESTDIR} Compiler and Make"
207         @echo "--------------------------------------------------------------"
208         @echo
209         cd ${.CURDIR}/gnu/usr.bin/cc && \
210                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
211         cd ${.CURDIR}/usr.bin/make && \
212                 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
213
214 .include <bsd.subdir.mk>