one-true-awk: Avoid a NULL dereference.
[freebsd-src.git] / lib / Makefile
blob0fff80266c972041382b5ffa8c4380843f7bfd3a
1 # @(#)Makefile 8.1 (Berkeley) 6/4/93
2 # $FreeBSD$
4 .include <src.opts.mk>
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.
11 SUBDIR_ORDERED= csu \
12 .WAIT \
13 libc \
14 libc_nonshared \
15 libcompiler_rt \
16 ${_libclang_rt} \
17 ${_libcplusplus} \
18 ${_libcxxrt} \
19 libelf \
20 msun
22 # The main list; please keep these sorted alphabetically.
24 SUBDIR= ${SUBDIR_ORDERED} \
25 .WAIT \
26 libalias \
27 libarchive \
28 ${_libatm} \
29 libauditd \
30 libbegemot \
31 ${_libblacklist} \
32 libblocksruntime \
33 ${_libbluetooth} \
34 ${_libbsnmp} \
35 libbsdstat \
36 libbsm \
37 libbz2 \
38 libcalendar \
39 libcam \
40 ${_libcasper} \
41 ${_libcom_err} \
42 libcompat \
43 libcrypt \
44 libdevctl \
45 libdevdctl \
46 libdevinfo \
47 libdevstat \
48 libdpv \
49 libdwarf \
50 libedit \
51 ${_libelftc} \
52 libevent \
53 libexecinfo \
54 libexpat \
55 libfetch \
56 libfigpar \
57 libgeom \
58 ${_libgpio} \
59 ${_libgssapi} \
60 ${_librpcsec_gss} \
61 ${_libiconv_modules} \
62 libipsec \
63 libjail \
64 libkiconv \
65 libkvm \
66 ${_libldns} \
67 liblzma \
68 ${_libmagic} \
69 libmemstat \
70 libmd \
71 ${_libmilter} \
72 ${_libmp} \
73 libmt \
74 ${_libnandfs} \
75 lib80211 \
76 libnetbsd \
77 ${_libnetgraph} \
78 ${_libngatm} \
79 libnv \
80 libopenbsd \
81 libopie \
82 libpam \
83 libpcap \
84 ${_libpe} \
85 libpjdlog \
86 ${_libpmc} \
87 ${_libproc} \
88 libprocstat \
89 ${_libradius} \
90 librpcsvc \
91 librt \
92 ${_librtld_db} \
93 libsbuf \
94 ${_libsdp} \
95 ${_libsm} \
96 libsmb \
97 ${_libsmdb} \
98 ${_libsmutil} \
99 libsqlite3 \
100 libstand \
101 libstdbuf \
102 libstdthreads \
103 libsysdecode \
104 libtacplus \
105 ${_libtelnet} \
106 ${_libthr} \
107 libthread_db \
108 libucl \
109 libufs \
110 libugidfw \
111 libulog \
112 ${_libunbound} \
113 ${_libusbhid} \
114 ${_libusb} \
115 libutil \
116 ${_libvgl} \
117 ${_libvmmapi} \
118 libwrap \
119 libxo \
120 liby \
121 ${_libypclnt} \
122 libz \
123 ncurses \
124 ${_atf} \
125 ${_clang} \
126 ${_cuse} \
127 ${_tests}
129 # Inter-library dependencies. When the makefile for a library contains LDADD
130 # libraries, those libraries should be listed as build order dependencies here.
132 SUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd
133 SUBDIR_DEPEND_libatm= libmd
134 SUBDIR_DEPEND_libauditdm= libbsm
135 SUBDIR_DEPEND_libbsnmp= ${_libnetgraph}
136 SUBDIR_DEPEND_libc++:= libcxxrt
137 SUBDIR_DEPEND_libc= libcompiler_rt
138 SUBDIR_DEPEND_libcam= libsbuf
139 SUBDIR_DEPEND_libcasper= libnv
140 SUBDIR_DEPEND_libdevstat= libkvm
141 SUBDIR_DEPEND_libdpv= libfigpar ncurses libutil
142 SUBDIR_DEPEND_libedit= ncurses
143 SUBDIR_DEPEND_libgeom= libexpat libsbuf
144 SUBDIR_DEPEND_liblibrpcsec_gss= libgssapi
145 SUBDIR_DEPEND_libmagic= libz
146 SUBDIR_DEPEND_libmemstat= libkvm
147 SUBDIR_DEPEND_libopie= libmd
148 SUBDIR_DEPEND_libpam= libcrypt libopie ${_libradius} librpcsvc libtacplus libutil ${_libypclnt} ${_libcom_err}
149 SUBDIR_DEPEND_libpjdlog= libutil
150 SUBDIR_DEPEND_libprocstat= libkvm libutil
151 SUBDIR_DEPEND_libradius= libmd
152 SUBDIR_DEPEND_libsmb= libkiconv
153 SUBDIR_DEPEND_libtacplus= libmd
154 SUBDIR_DEPEND_libulog= libmd
155 SUBDIR_DEPEND_libunbound= ${_libldns}
156 SUBDIR_DEPEND_liblzma= ${_libthr}
158 # NB: keep these sorted by MK_* knobs
160 .if ${MK_ATM} != "no"
161 _libngatm= libngatm
162 .endif
164 .if ${MK_BLACKLIST} != "no"
165 _libblacklist= libblacklist
166 .endif
168 .if ${MK_BLUETOOTH} != "no"
169 _libbluetooth= libbluetooth
170 _libsdp= libsdp
171 .endif
173 .if ${MK_BSNMP} != "no"
174 _libbsnmp= libbsnmp
175 .endif
177 .if ${MK_CASPER} != "no"
178 _libcasper= libcasper
179 .endif
181 .if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP)
182 _clang= clang
183 .endif
185 .if ${MK_CUSE} != "no"
186 _cuse= libcuse
187 .endif
189 .if ${MK_TOOLCHAIN} != "no"
190 _libelftc= libelftc
191 _libpe= libpe
192 .endif
194 .if ${MK_FILE} != "no"
195 _libmagic= libmagic
196 .endif
198 .if ${MK_GPIO} != "no"
199 _libgpio= libgpio
200 .endif
202 .if ${MK_GSSAPI} != "no"
203 _libgssapi= libgssapi
204 _librpcsec_gss= librpcsec_gss
205 .endif
207 .if ${MK_ICONV} != "no"
208 _libiconv_modules= libiconv_modules
209 .endif
211 .if ${MK_KERBEROS_SUPPORT} != "no"
212 _libcom_err= libcom_err
213 .endif
215 .if ${MK_LDNS} != "no"
216 _libldns= libldns
217 .endif
219 # The libraries under libclang_rt can only be built by clang, and only make
220 # sense to build when clang is enabled at all. Furthermore, they can only be
221 # built for certain architectures.
222 .if ${MK_CLANG} != "no" && ${COMPILER_TYPE} == "clang" && \
223 (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
224 (${MACHINE_CPUARCH} == "arm" && ${MACHINE_ARCH} != "armeb") || \
225 (${MACHINE_CPUARCH} == "i386"))
226 _libclang_rt= libclang_rt
227 .endif
229 .if ${MK_LIBCPLUSPLUS} != "no"
230 _libcxxrt= libcxxrt
231 _libcplusplus= libc++
232 .endif
234 .if ${MK_LIBTHR} != "no"
235 _libthr= libthr
236 .endif
238 .if ${MK_NAND} != "no"
239 _libnandfs= libnandfs
240 .endif
242 .if ${MK_NETGRAPH} != "no"
243 _libnetgraph= libnetgraph
244 .endif
246 .if ${MK_NIS} != "no"
247 _libypclnt= libypclnt
248 .endif
250 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
251 _libvgl= libvgl
252 _libproc= libproc
253 _librtld_db= librtld_db
254 .endif
256 .if ${MACHINE_CPUARCH} == "amd64"
257 .if ${MK_BHYVE} != "no"
258 _libvmmapi= libvmmapi
259 .endif
260 .endif
262 .if ${MACHINE_CPUARCH} == "mips"
263 _libproc= libproc
264 _librtld_db= librtld_db
265 .endif
267 .if ${MACHINE_CPUARCH} == "powerpc"
268 _libproc= libproc
269 _librtld_db= librtld_db
270 .endif
272 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \
273 ${MACHINE_CPUARCH} == "riscv"
274 _libproc= libproc
275 _librtld_db= librtld_db
276 .endif
278 .if ${MK_OPENSSL} != "no"
279 _libmp= libmp
280 .endif
282 .if ${MK_PMC} != "no"
283 _libpmc= libpmc
284 .endif
286 .if ${MK_RADIUS_SUPPORT} != "no"
287 _libradius= libradius
288 .endif
290 .if ${MK_SENDMAIL} != "no"
291 _libmilter= libmilter
292 _libsm= libsm
293 _libsmdb= libsmdb
294 _libsmutil= libsmutil
295 .endif
297 .if ${MK_TELNET} != "no"
298 _libtelnet= libtelnet
299 .endif
301 .if ${MK_TESTS_SUPPORT} != "no"
302 _atf= atf
303 .endif
304 .if ${MK_TESTS} != "no"
305 _tests= tests
306 .endif
308 .if ${MK_UNBOUND} != "no"
309 _libunbound= libunbound
310 .endif
312 .if ${MK_USB} != "no"
313 _libusbhid= libusbhid
314 _libusb= libusb
315 .endif
317 .if !make(install)
318 SUBDIR_PARALLEL=
319 .endif
321 .include <bsd.subdir.mk>