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