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