xref: /freebsd/lib/Makefile (revision 36716419f306eb946fafb57e3ab70246e38954b2)
1#	@(#)Makefile	8.1 (Berkeley) 6/4/93
2# $FreeBSD$
3
4.include <src.opts.mk>
5
6# To satisfy shared library or ELF linkage when only the libraries being
7# built are visible:
8#
9# csu must be built before all shared libaries for ELF.
10# libc must be built before all other shared libraries.
11# libbsm must be built before libauditd.
12# libcom_err must be built before libpam.
13# libcrypt must be built before libpam.
14# libkvm must be built before libdevstat.
15# libldns must be built before libunbound.
16# msun must be built before libg++ and libstdc++.
17# libmd must be built before libatm, libopie, libradius, and libtacplus.
18# ncurses must be built before libdialog, libedit and libreadline.
19# libnetgraph must be built before libbsnmp/modules/snmp_netgraph.
20# libopie must be built before libpam.
21# libradius must be built before libpam.
22# librpcsvc must be built before libpam.
23# libsbuf must be built before libcam.
24# libtacplus must be built before libpam.
25# libutil must be built before libpam.
26# libypclnt must be built before libpam.
27# libgssapi must be built before librpcsec_gss
28#
29# Otherwise, the SUBDIR list should be in alphabetical order.
30#
31# Except it appears bind needs to be compiled last
32
33SUBDIR_ORDERED=	${_csu} \
34	.WAIT \
35	libc \
36	libc_nonshared \
37	.WAIT \
38	msun \
39	.WAIT \
40	libbsm \
41	libauditd \
42	libutil \
43	libpjdlog \
44	libnv \
45	${_libcapsicum} \
46	libcompiler_rt \
47	libcrypt \
48	libelf \
49	${_libiconv_modules} \
50	libkvm \
51	${_libldns} \
52	libmd \
53	ncurses \
54	${_libnetgraph} \
55	libradius \
56	librpcsvc \
57	libsbuf \
58	libtacplus \
59	${_libypclnt} \
60	${_libcxxrt} \
61	${_libcplusplus}
62
63.if ${MK_KERBEROS_SUPPORT} != "no"
64SUBDIR_ORDERED+=	libcom_err
65.endif
66
67SUBDIR=	${SUBDIR_ORDERED} \
68	.WAIT \
69	libalias \
70	libarchive \
71	${_libatm} \
72	libbegemot \
73	libblocksruntime \
74	${_libbluetooth} \
75	${_libbsnmp} \
76	libbsdstat \
77	libbz2 \
78	libcalendar \
79	libcam \
80	${_libcasper} \
81	libcompat \
82	libdevinfo \
83	libdevstat \
84	libdwarf \
85	libedit \
86	${_libefi} \
87	libexecinfo \
88	libexpat \
89	libfetch \
90	libgeom \
91	${_libgpib} \
92	${_libgssapi} \
93	${_librpcsec_gss} \
94	libipsec \
95	libjail \
96	libkiconv \
97	liblzma \
98	libmagic \
99	libmandoc \
100	libmemstat \
101	${_libmilter} \
102	${_libmp} \
103	${_libnandfs} \
104	libnetbsd \
105	${_libngatm} \
106	libopie \
107	libpam \
108	libpcap \
109	${_libpmc} \
110	${_libproc} \
111	libprocstat \
112	librt \
113	${_librtld_db} \
114	${_libsdp} \
115	${_libsm} \
116	${_libsmb} \
117	${_libsmdb} \
118	${_libsmutil} \
119	libstand \
120	libstdbuf \
121	libstdthreads \
122	${_libtelnet} \
123	${_libthr} \
124	libthread_db \
125	libucl \
126	libufs \
127	libugidfw \
128	libulog \
129	${_libunbound} \
130	${_libusbhid} \
131	${_libusb} \
132	${_libvgl} \
133	${_libvmmapi} \
134	libwrap \
135	liby \
136	libz \
137	${_atf} \
138	${_clang} \
139	${_cuse} \
140	${_tests}
141
142.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf)
143_csu=csu/${MACHINE_ARCH}-elf
144.elif exists(${.CURDIR}/csu/${MACHINE_ARCH})
145_csu=csu/${MACHINE_ARCH}
146.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile)
147_csu=csu/${MACHINE_CPUARCH}
148.else
149_csu=csu
150.endif
151
152# NB: keep these sorted by MK_* knobs
153
154.if ${MK_ATM} != "no"
155_libngatm=	libngatm
156.endif
157
158.if ${MK_BLUETOOTH} != "no"
159_libbluetooth=	libbluetooth
160_libsdp=	libsdp
161.endif
162
163.if ${MK_BSNMP} != "no"
164_libbsnmp=	libbsnmp
165.endif
166
167.if ${MK_CASPER} != "no"
168_libcapsicum=	libcapsicum
169_libcasper=	libcasper
170.endif
171
172.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT)
173_clang=		clang
174.endif
175
176.if ${MK_CUSE} != "no"
177_cuse=		libcuse
178.endif
179
180.if ${MK_GPIB} != "no"
181_libgpib=	libgpib
182.endif
183
184.if ${MK_GSSAPI} != "no"
185_libgssapi=	libgssapi
186_librpcsec_gss=	librpcsec_gss
187.endif
188
189.if ${MK_ICONV} != "no"
190_libiconv_modules=	libiconv_modules
191.endif
192
193.if ${MK_LDNS} != "no"
194_libldns=	libldns
195.endif
196
197.if ${MK_LIBCPLUSPLUS} != "no"
198_libcxxrt=	libcxxrt
199_libcplusplus=	libc++
200.endif
201
202.if ${MK_LIBTHR} != "no"
203_libthr=	libthr
204.endif
205
206.if ${MK_NAND} != "no"
207_libnandfs=	libnandfs
208.endif
209
210.if ${MK_NETGRAPH} != "no"
211_libnetgraph=	libnetgraph
212.endif
213
214.if ${MK_NIS} != "no"
215_libypclnt=	libypclnt
216.endif
217
218.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
219_libsmb=	libsmb
220_libvgl=	libvgl
221_libproc=	libproc
222_librtld_db=	librtld_db
223.endif
224
225.if ${MACHINE_CPUARCH} == "amd64"
226_libvmmapi=	libvmmapi
227.endif
228
229.if ${MACHINE_CPUARCH} == "ia64"
230_libefi=	libefi
231_libsmb=	libsmb
232.endif
233
234.if ${MACHINE_CPUARCH} == "mips"
235_libproc=	libproc
236_librtld_db=	librtld_db
237.endif
238
239.if ${MACHINE_CPUARCH} == "powerpc"
240_libproc=	libproc
241_librtld_db=	librtld_db
242_libsmb=	libsmb
243.endif
244
245.if ${MACHINE_CPUARCH} == "sparc64"
246_libsmb=	libsmb
247.endif
248
249.if ${MK_OPENSSL} != "no"
250_libmp=		libmp
251.endif
252
253.if ${MK_PMC} != "no"
254_libpmc=	libpmc
255.endif
256
257.if ${MK_SENDMAIL} != "no"
258_libmilter=	libmilter
259_libsm=		libsm
260_libsmdb=	libsmdb
261_libsmutil=	libsmutil
262.endif
263
264.if ${MK_TELNET} != "no"
265_libtelnet=	libtelnet
266.endif
267
268.if ${MK_TESTS} != "no"
269_atf=		atf
270_tests=		tests
271.endif
272
273.if ${MK_UNBOUND} != "no"
274_libunbound=	libunbound
275.endif
276
277.if ${MK_USB} != "no"
278_libusbhid=	libusbhid
279_libusb=	libusb
280.endif
281
282.if !defined(LIBRARIES_ONLY)
283afterinstall:
284	${INSTALL_SYMLINK} ../include ${DESTDIR}/usr/lib/include
285.endif
286
287.if !make(install)
288SUBDIR_PARALLEL=
289.endif
290
291.include <bsd.subdir.mk>
292