]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Makefile
Kill an errant libg++ entry.
[FreeBSD/FreeBSD.git] / Makefile
1 #
2 #       $Id: Makefile,v 1.6 1994/08/13 22:47:28 jkh 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 # 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 #
16
17 # Put initial settings here.
18 NOCRYPT=        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)
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(share)
52 SUBDIR+= share
53 .endif
54 .if exists(sys)
55 SUBDIR+= sys
56 .endif
57 .if exists(usr.bin)
58 SUBDIR+= usr.bin
59 .endif
60 .if exists(usr.sbin)
61 SUBDIR+= usr.sbin
62 .endif
63
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)
67 SUBDIR+= local
68 .endif
69 .if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
70 SUBDIR+= ports
71 .endif
72
73 # Handle the -DNOOBJDIR and -DNOCLEANDIR
74 .if defined(NOOBJDIR)
75 OBJDIR=
76 .else
77 OBJDIR=         obj
78 .endif
79 .if defined(NOCLEANDIR)
80 CLEANDIR=       clean
81 .else 
82 CLEANDIR=       cleandir
83 .endif
84
85 world:  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
93 directories:
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
100 cleandist:
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
126 mk:
127         @echo "--------------------------------------------------------------"
128         @echo " Rebuilding ${DESTDIR}/usr/share/mk"
129         @echo "--------------------------------------------------------------"
130         cd ${.CURDIR}/share/mk &&               ${MAKE} install
131
132 includes:
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 #XXX    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
154 libraries:
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
191 tools:
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
201 mdec:
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
218 .include <bsd.subdir.mk>