Library pathname fixes.
[unix-history] / Makefile
CommitLineData
15637ed4
RG
1# @(#)Makefile 5.1.1.2 (Berkeley) 5/9/91
2#
cf58d770 3# $Id: Makefile,v 1.41 1994/02/26 19:32:43 wollman Exp $
15637ed4
RG
4#
5
f3babd4b
RG
6SUBDIR=
7.if exists(bin)
8SUBDIR+= bin
9.endif
10.if exists(contrib)
11SUBDIR+= contrib
12.endif
13.if exists(games)
14SUBDIR+= games
15.endif
16.if exists(gnu)
17SUBDIR+= gnu
18.endif
19.if exists(include)
20SUBDIR+= include
21.endif
22.if exists(lib)
23SUBDIR+= lib
24.endif
017f3f1a
GW
25
26# This contains both libraries and includes, which stuff below depends
27# upon.
28.if exists(kerberosIV) && !defined(NOCRYPT)
29SUBDIR+= kerberosIV
30.endif
31
f3babd4b
RG
32.if exists(libexec)
33SUBDIR+= libexec
34.endif
35.if exists(sbin)
36SUBDIR+= sbin
37.endif
38.if exists(share)
39SUBDIR+= share
40.endif
41.if exists(usr.bin)
42SUBDIR+= usr.bin
43.endif
44.if exists(usr.sbin)
45SUBDIR+= usr.sbin
46.endif
15637ed4 47
b761caf7
RG
48# This is for people who want to have src/ports, src/local built
49# automatically.
50.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
51SUBDIR+= local
52.endif
53.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
54SUBDIR+= ports
55.endif
56
57
5db24604 58# Special cases: etc sys
2a351537 59# Not ported: kerberosIV
15637ed4 60
297c7883
RG
61#
62# setenv NOCLEANDIR will prevent make cleandirs from being run
63#
64.if defined(NOCLEANDIR)
65CLEANDIR=
66.else
67CLEANDIR= cleandir
68.endif
69
cf58d770
PHK
70# Where is the c-compier source. Change this, and gnu/usr.bin/Makefile if you
71# want to use another cc (gcc-2.5.8 for instance)
72CCDIR= ${.CURDIR}/gnu/usr.bin/cc
73#CCDIR= ${.CURDIR}/gnu/usr.bin/cc25
74
b0f33593 75world: directories cleandist mk includes libraries tools mdec
297c7883
RG
76 @echo "--------------------------------------------------------------"
77 @echo " Rebuilding ${DESTDIR} The whole thing"
78 @echo "--------------------------------------------------------------"
79 @echo
80 make depend all install
986c93cf 81 cd ${.CURDIR}/share/man; make makedb
297c7883 82
d18e4498
RG
83directories:
84 cd ${.CURDIR}/etc; make distrib-dirs
85
297c7883
RG
86cleandist:
87.if !defined(NOCLEANDIR)
88 @echo "--------------------------------------------------------------"
89 @echo " Cleaning up the source tree, and rebuilding the obj tree"
90 @echo "--------------------------------------------------------------"
91 @echo
b4e56ca8 92 here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
433e5f2d
RG
93 if test -d /usr/obj -a ! -d $$dest; then \
94 mkdir -p $$dest; \
95 else \
96 true; \
fe98695b 97 fi; \
6929557a 98 cd $$dest; rm -rf ${SUBDIR}
297c7883 99 find . -name obj | xargs -n30 rm -rf
e7301710
RG
100.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
101 # The cd is done as local may well be a symbolic link
102 -cd local ; find . -name obj | xargs -n30 rm -rf
103.endif
104.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
105 # The cd is done as local may well be a symbolic link
106 -cd ports ; find . -name obj | xargs -n30 rm -rf
107.endif
297c7883
RG
108 make cleandir
109 make obj
110.endif
111
112mk:
113 @echo "--------------------------------------------------------------"
114 @echo " Rebuilding ${DESTDIR}/usr/share/mk"
115 @echo "--------------------------------------------------------------"
b0f33593 116.if defined(CLOBBER)
297c7883
RG
117 # DONT DO THIS!! rm -rf ${DESTDIR}/usr/share/mk
118 # DONT DO THIS!! mkdir ${DESTDIR}/usr/share/mk
b0f33593
RG
119 # DONT DO THIS!! chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/share/mk
120 # DONT DO THIS!! chmod 755 ${DESTDIR}/usr/share/mk
121.endif
07962aad 122 cd ${.CURDIR}/share/mk; make install;
297c7883
RG
123
124includes:
297c7883
RG
125 @echo "--------------------------------------------------------------"
126 @echo " Rebuilding ${DESTDIR}/usr/include"
127 @echo "--------------------------------------------------------------"
128 @echo
7b26216f 129.if defined(CLOBBER)
297c7883
RG
130 rm -rf ${DESTDIR}/usr/include
131 mkdir ${DESTDIR}/usr/include
132 chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
133 chmod 755 ${DESTDIR}/usr/include
5262d901 134.endif
07962aad 135 cd ${.CURDIR}/include; make install
cf58d770 136 cd ${CCDIR}/libobjc; make beforeinstall
ea6ba301 137 cd ${.CURDIR}/gnu/lib/libg++; make beforeinstall
07962aad 138 cd ${.CURDIR}/lib/libcurses; make beforeinstall
2e609b9d 139 cd ${.CURDIR}/lib/libc; make beforeinstall
017f3f1a
GW
140.if !defined(NOCRYPT) && exists(${.CURDIR}/kerberosIV)
141 cd ${.CURDIR}/kerberosIV/include; make install
142.endif
297c7883 143
b0f33593
RG
144# You MUST run this the first time you get the new sources to boot strap
145# the shared library tools onto you system. This target should only
146# need to be run once on a system.
ce6b8665 147
b0f33593 148bootstrapld: directories cleandist mk includes
ce6b8665
PR
149 @echo "--------------------------------------------------------------"
150 @echo " Building new shlib compiler tools"
151 @echo "--------------------------------------------------------------"
8f2552dc
NW
152 # These tools need to be built very early due to a.out.h changes:
153 # It is possible that ar is needed
b0f33593
RG
154 cd ${.CURDIR}/usr.bin/mkdep; make -DNOPIC depend all install ${CLEANDIR} obj
155 cd ${.CURDIR}/usr.bin/nm; make -DNOPIC depend all install ${CLEANDIR} obj
156 cd ${.CURDIR}/usr.bin/ranlib; make -DNOPIC depend all install ${CLEANDIR} obj
157 cd ${.CURDIR}/usr.bin/strip; make -DNOPIC depend all install ${CLEANDIR} obj
1997d48b
RG
158 cd ${.CURDIR}/gnu/usr.bin/ld; make -DNOPIC depend all install ${CLEANDIR} obj
159 cd ${.CURDIR}/gnu/usr.bin/as; make depend all install ${CLEANDIR} obj
cf58d770
PHK
160 cd ${CCDIR}; make -DNOPIC depend all install ${CLEANDIR} obj
161 cd ${CCDIR}/libgcc; make all install ${CLEANDIR} obj
b0f33593
RG
162 cd ${.CURDIR}/lib/csu.i386; make depend all install ${CLEANDIR} obj
163 cd ${.CURDIR}/lib/libc; make depend all install ${CLEANDIR} obj
1997d48b 164 cd ${.CURDIR}/gnu/usr.bin/ld/rtld; make depend all install ${CLEANDIR} obj
ce6b8665 165
297c7883 166libraries:
042909b6 167 # setenv NOPROFILE if you do not want profiled libraries
297c7883
RG
168 @echo "--------------------------------------------------------------"
169 @echo " Rebuilding ${DESTDIR}/usr/lib"
170 @echo "--------------------------------------------------------------"
171 @echo
7b26216f 172.if defined(CLOBBER)
9f3e1e65 173 find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | xargs -n30 rm -rf
5262d901 174.endif
1997d48b 175 cd ${.CURDIR}/lib; make depend all install ${CLEANDIR} obj
cf58d770 176 cd ${CCDIR}/libgcc; make depend all install ${CLEANDIR} obj
1997d48b
RG
177 cd ${.CURDIR}/gnu/lib/libg++; make depend all install ${CLEANDIR} obj
178 cd ${.CURDIR}/gnu/lib/libregex; make depend all install ${CLEANDIR} obj
179 cd ${.CURDIR}/gnu/lib/libmalloc; make depend all install ${CLEANDIR} obj
fb69d766 180 cd ${.CURDIR}/usr.bin/lex; make depend all install ${CLEANDIR} obj
017f3f1a
GW
181.if exists(${.CURDIR}/kerberosIV) && !defined(NOCRYPT)
182 cd ${.CURDIR}/kerberosIV/des; make depend all install ${CLEANDIR} obj
183 cd ${.CURDIR}/kerberosIV/krb; make depend all install ${CLEANDIR} obj
cf58d770 184 cd ${.CURDIR}/kerberosIV/kdb; make depend all install ${CLEANDIR} obj
017f3f1a 185.endif
297c7883
RG
186
187tools:
188 @echo "--------------------------------------------------------------"
189 @echo " Rebuilding ${DESTDIR} Compiler and Make"
190 @echo "--------------------------------------------------------------"
191 @echo
cf58d770 192 cd ${CCDIR}; make depend all install ${CLEANDIR} obj
b0f33593 193 cd ${.CURDIR}/usr.bin/make; make depend all install ${CLEANDIR} obj
297c7883
RG
194
195mdec:
196 @echo "--------------------------------------------------------------"
197 @echo " Rebuilding ${DESTDIR}/usr/mdec"
198 @echo "--------------------------------------------------------------"
199 @echo
200.if ${MACHINE} == "i386"
07962aad 201 cd ${.CURDIR}/sys/i386/boot; make depend all install ${CLEANDIR}
297c7883
RG
202.if defined (DESTDIR)
203 cd /usr/mdec; find . | cpio -pdamuv ${DESTDIR}/usr/mdec
204.endif
205.endif
206
15637ed4 207.include <bsd.subdir.mk>