blob: 07c8f134743ca3932ed1ab369beada11d98ea94a [file] [log] [blame]
Paul Cheng74b5a352010-04-24 08:01:59 -07001#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
Yuri Pankovba9ca912015-11-29 04:48:44 +030022#
Sue Gleesonc3a558e2010-04-05 15:20:40 -040023# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
Matthew Ahrens4445fff2012-06-30 13:00:47 -070024# Copyright (c) 2012 by Delphix. All rights reserved.
Robert Mustacchiabc79d92013-04-02 17:25:01 -070025# Copyright (c) 2012, Joyent, Inc. All rights reserved.
Gary Mills0a1278f2013-10-08 08:27:49 -070026# Copyright (c) 2013 Gary Mills
Bart Coddens786d1ee2014-11-04 14:39:24 -050027# Copyright 2014 Garrett D'Amore <garrett@damore.org>
Gary Millsfca42682015-09-06 19:00:17 -050028# Copyright (c) 2015 Gary Mills
Toomas Soomeafc2ba12015-08-30 15:37:04 +030029# Copyright 2016 Toomas Soome <tsoome@me.com>
Yuri Pankov986347b2018-02-05 04:11:44 +030030# Copyright 2018 Nexenta Systems, Inc.
Chris Fraireb31320a2016-11-18 11:29:24 -070031# Copyright (c) 2016, Chris Fraire <cfraire@me.com>.
Andrew Stormontf06dce22017-11-13 01:52:27 +000032# Copyright 2017 RackTop Systems.
Jason King4226f632017-05-27 18:46:17 -050033# Copyirght 2018 Jason King
Yuri Pankovba9ca912015-11-29 04:48:44 +030034#
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -070035
36include ../Makefile.master
37
38# Note that libcurses installs commands along with its library.
39# This is a minor bug which probably should be fixed.
40# Note also that a few extra libraries are kept in cmd source.
41#
42# Certain libraries are linked with, hence depend on, other libraries.
Yuri Pankovba9ca912015-11-29 04:48:44 +030043# Library dependencies are called out explicitly, see "Library
44# interdependencies" below.
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -070045.PARALLEL:
46
Yuri Pankovba9ca912015-11-29 04:48:44 +030047# Build libc and its dependencies
48SUBDIRS= \
Richard Lowe3e76f9d2014-04-16 20:03:15 +010049 crt \
Yuri Pankovba9ca912015-11-29 04:48:44 +030050 ../cmd/sgs/libconv \
51 ../cmd/sgs/libdl \
52 libc \
53 .WAIT
kupferfb9f9b92005-12-21 19:47:57 -080054
Yuri Pankovba9ca912015-11-29 04:48:44 +030055# Build libraries with lots of dependents
56SUBDIRS += \
57 libm \
58 libmd \
59 libmp \
60 libnsl \
61 libnvpair \
62 libsocket \
63 .WAIT
64
65# Build everything else. Aside from explicit dependencies, all libraries
66# are built in parallel.
67SUBDIRS += \
68 ../cmd/sendmail/libmilter \
69 ../cmd/sgs/libelf \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -070070 ../cmd/sgs/librtld_db \
Yuri Pankovba9ca912015-11-29 04:48:44 +030071 abi \
72 auditd_plugins \
73 brand \
74 c_synonyms \
75 cfgadm_plugins \
76 crypt_modules \
77 extendedFILE \
78 fm \
79 getloginx \
80 gss_mechs/mech_dh \
81 gss_mechs/mech_dummy \
82 gss_mechs/mech_krb5 \
83 gss_mechs/mech_spnego \
84 hal \
85 hbaapi \
86 krb5 \
87 libadm \
88 libads \
89 libadt_jni \
90 libadutils \
91 libaio \
92 libast \
93 libavl \
94 libbe \
95 libbrand \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -070096 libbsdmalloc \
Yuri Pankovba9ca912015-11-29 04:48:44 +030097 libbsm \
98 libc_db \
99 libcfgadm \
100 libcmd \
101 libcmdutils \
102 libcommputil \
103 libcontract \
104 libcpc \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700105 libcrypt \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700106 libcryptoutil \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300107 libctf \
108 libcurses \
Jason King500cf852018-02-16 16:21:53 +0000109 libcustr \
Jason King4226f632017-05-27 18:46:17 -0500110 libdemangle \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300111 libdevice \
112 libdevid \
113 libdevinfo \
114 libdhcpagent \
115 libdhcputil \
116 libdisasm \
117 libdiskmgt \
118 libdladm \
119 libdll \
120 libdlpi \
121 libdns_sd \
122 libdoor \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300123 libdtrace \
124 libdtrace_jni \
125 libefi \
126 libelfsign \
127 libeti \
128 libexacct \
129 libexacct/demo \
130 libfakekernel \
131 libfcoe \
Toomas Soomeafc2ba12015-08-30 15:37:04 +0300132 libficl \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300133 libfru \
134 libfruutils \
135 libfsmgt \
136 libfstyp \
137 libgen \
138 libgrubmgmt \
139 libgss \
140 libhotplug \
141 libidmap \
142 libilb \
143 libima \
144 libinetsvc \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700145 libinetutil \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300146 libinstzones \
147 libintl \
Girish Moodalbail6e91bba2010-03-26 17:53:11 -0400148 libipadm \
Robert Mustacchife77cc02013-09-29 14:27:52 -0700149 libipd \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300150 libipmi \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700151 libipmp \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300152 libipp \
153 libipsecutil \
Peter Dunlapa6d42e72008-10-30 15:49:07 -0600154 libiscsit \
wyllys99ebb4c2006-11-10 15:34:56 -0800155 libkmf \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300156 libkrb5 \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700157 libkstat \
158 libkvm \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700159 libldap5 \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300160 liblgrp \
161 liblm \
162 libm1 \
163 libmail \
164 libmalloc \
165 libmapid \
166 libmapmalloc \
167 libmd5 \
Gordon Ross3299f392013-01-05 10:21:33 -0500168 libmlrpc \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300169 libmtmalloc \
170 libmvec \
171 libndmp \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700172 libnisdb \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300173 libnls \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300174 libnwam \
Yuri Pankove96f8412017-05-31 04:42:39 +0300175 libofmt \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300176 libpam \
177 libpcidb \
178 libpctx \
179 libpicl \
180 libpicltree \
181 libpkg \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700182 libpool \
chinda2e3eb2007-08-17 12:01:52 -0700183 libpp \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700184 libproc \
185 libproject \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300186 libpthread \
187 libraidcfg \
188 librcm \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300189 libreparse \
190 libresolv \
191 libresolv2 \
192 librestart \
193 librpcsvc \
194 librsm \
195 librstp \
196 librt \
197 libsasl \
198 libscf \
199 libsched \
200 libsctp \
201 libsec \
202 libsecdb \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700203 libsendfile \
Robert Mustacchi45d3dd92017-09-21 17:35:16 +0000204 libsff \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300205 libshare \
206 libshell \
207 libsip \
208 libsldap \
209 libslp \
John Fortefcf3ce42008-10-14 15:09:13 -0700210 libsmbfs \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300211 libsmbios \
212 libsmedia \
213 libsqlite \
Sue Gleesonc3a558e2010-04-05 15:20:40 -0400214 libsrpt \
John Fortefcf3ce42008-10-14 15:09:13 -0700215 libstmf \
John Forte45039662009-10-06 19:56:15 -0700216 libstmfproxy \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300217 libsum \
218 libsun_ima \
219 libsys \
220 libsysevent \
221 libtecla \
222 libtermcap \
223 libthread \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700224 libtnf \
225 libtnfctl \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300226 libtnfprobe \
227 libtsnet \
228 libtsol \
229 libumem \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300230 libuuid \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700231 libuutil \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300232 libvolmgt \
233 libvrrpadm \
234 libvscan \
235 libw \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700236 libwrap \
237 libxcurses \
238 libxcurses2 \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300239 libxnet \
240 libzfs \
241 libzfs_core \
242 libzfs_jni \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700243 libzonecfg \
244 libzoneinfo \
Steve Lawrenceefd4c9b2010-08-16 15:11:00 -0700245 libzonestat \
ahrensfa9e4062005-10-31 11:33:35 -0800246 libzpool \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300247 madv \
John Fortefcf3ce42008-10-14 15:09:13 -0700248 mpapi \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300249 mpss \
250 nametoaddr \
251 ncad_addr \
252 nsswitch \
253 pam_modules \
254 passwdutil \
255 pkcs11 \
256 policykit \
257 print \
258 pylibbe \
259 pysolaris \
260 pyzfs \
261 raidcfg_plugins \
262 rpcsec_gss \
263 sasl_plugins \
264 scsi \
265 smbsrv \
266 smhba \
267 sun_fc \
268 sun_sas \
269 udapl \
270 watchmalloc \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700271 $($(MACH)_SUBDIRS)
272
Mark Logan7e7bd3d2009-05-19 18:34:13 -0700273i386_SUBDIRS= \
Richard Lowe702941c2013-02-09 17:21:16 -0500274 libfdisk \
275 libsaveargs
Mark Logan7e7bd3d2009-05-19 18:34:13 -0700276
Yuri Pankovba9ca912015-11-29 04:48:44 +0300277sparc_SUBDIRS= \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700278 efcode \
Mike Christensen30588212008-09-25 17:36:37 -0700279 libds \
jl13909025cf1a32006-04-08 10:25:15 -0700280 libdscp \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300281 libprtdiag \
stevel03831d32006-03-29 15:44:11 -0800282 libprtdiag_psr \
rb144127ef884682007-01-31 21:19:07 -0800283 libpri \
stevel03831d32006-03-29 15:44:11 -0800284 librsc \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700285 storage \
willard4a6822d2007-08-31 16:18:41 -0700286 libpcp \
Mike Christensen82629e32010-03-01 18:02:46 -0800287 libtsalarm \
288 libv12n
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700289
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700290#
291# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the
292# clean and clobber targets (for more information, see those targets, below).
293#
294NOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=)
295
Yuri Pankov5f10ef62016-10-07 19:54:32 +0300296DCSUBDIRS=
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700297
298MSGSUBDIRS= \
299 abi \
300 auditd_plugins \
nn352489acbbea2006-09-11 22:51:59 -0700301 brand \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700302 cfgadm_plugins \
303 gss_mechs/mech_dh \
304 gss_mechs/mech_krb5 \
305 krb5 \
chinda2e3eb2007-08-17 12:01:52 -0700306 libast \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700307 libbsm \
308 libc \
309 libcfgadm \
chinda2e3eb2007-08-17 12:01:52 -0700310 libcmd \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700311 libcontract \
312 libcurses \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700313 libdhcputil \
mmusante181c2f42007-04-20 17:46:13 -0700314 libdiskmgt \
meem33343a92006-11-27 19:14:01 -0800315 libdladm \
chinda2e3eb2007-08-17 12:01:52 -0700316 libdll \
Sherry Moore753a6d42009-03-24 14:38:50 -0700317 libgrubmgmt \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700318 libgss \
nw141292c5c41132007-06-21 19:11:00 -0700319 libidmap \
Sangeeta Misradbed73c2009-11-03 23:15:19 -0800320 libilb \
Moriah Waterland5c51f122009-06-03 20:16:25 -0600321 libinstzones \
Girish Moodalbail6e91bba2010-03-26 17:53:11 -0400322 libipadm \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300323 libipmp \
324 libipsecutil \
325 libldap5 \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700326 libnsl \
Anurag S. Maskey6ba597c2010-02-25 22:05:58 -0500327 libnwam \
Yuri Pankove96f8412017-05-31 04:42:39 +0300328 libofmt \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700329 libpam \
330 libpicl \
Moriah Waterland5c51f122009-06-03 20:16:25 -0600331 libpkg \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300332 libpool \
chinda2e3eb2007-08-17 12:01:52 -0700333 libpp \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300334 libreparse \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700335 libsasl \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300336 libscf \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700337 libsecdb \
dougm6185db82006-11-01 16:37:33 -0800338 libshare \
chinda2e3eb2007-08-17 12:01:52 -0700339 libshell \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700340 libsldap \
341 libslp \
thurlow4bff34e2008-02-13 19:51:22 -0800342 libsmbfs \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700343 libsmedia \
April Chin7c2fbfb2008-12-27 14:59:38 -0800344 libsum \
jpk45916cd2006-03-24 12:29:20 -0800345 libtsol \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700346 libuutil \
Cathy Zhou1cb875a2009-11-17 09:17:48 -0800347 libvrrpadm \
jm199354911106d2007-11-08 16:09:20 -0800348 libvscan \
ck153898c3aa2a32007-02-01 11:16:06 -0800349 libzfs \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700350 libzonecfg \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700351 madv \
352 mpss \
353 pam_modules \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300354 pyzfs \
Dai Ngo7a286c42009-10-14 11:15:07 -0500355 rpcsec_gss \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700356 $($(MACH)_MSGSUBDIRS)
357
stevel03831d32006-03-29 15:44:11 -0800358sparc_MSGSUBDIRS= \
359 libprtdiag \
360 libprtdiag_psr
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700361
Sheshadri Vasudevanaa1b14e2009-07-02 08:59:40 +0530362i386_MSGSUBDIRS= libfdisk
363
Yuri Pankovba9ca912015-11-29 04:48:44 +0300364HDRSUBDIRS= \
365 ../cmd/sendmail/libmilter \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700366 auditd_plugins \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300367 fm \
368 hal \
369 hbaapi \
Gordon Rossb3700b02014-06-05 14:30:31 -0400370 libads \
chinda2e3eb2007-08-17 12:01:52 -0700371 libast \
nn352489acbbea2006-09-11 22:51:59 -0700372 libbrand \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700373 libbsm \
374 libc \
chinda2e3eb2007-08-17 12:01:52 -0700375 libcmd \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700376 libcmdutils \
Girish Moodalbail6e91bba2010-03-26 17:53:11 -0400377 libcommputil \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700378 libcontract \
379 libcpc \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300380 libcryptoutil \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700381 libctf \
382 libcurses \
Jason King500cf852018-02-16 16:21:53 +0000383 libcustr \
Jason King4226f632017-05-27 18:46:17 -0500384 libdemangle \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700385 libdevice \
386 libdevid \
387 libdevinfo \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300388 libdhcpagent \
389 libdhcputil \
390 libdisasm \
sjelinek3e1bd7a2005-10-27 09:01:18 -0700391 libdiskmgt \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700392 libdladm \
chinda2e3eb2007-08-17 12:01:52 -0700393 libdll \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700394 libdlpi \
rs2002174b22b932007-08-20 11:44:22 -0700395 libdns_sd \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700396 libdtrace \
tomeefb3fb4f2006-02-16 12:15:27 -0800397 libdtrace_jni \
johnzdf8bdeb2007-10-05 14:39:44 -0700398 libelfsign \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700399 libeti \
Gordon Rossb819cea2013-06-17 10:34:00 -0400400 libfakekernel \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300401 libfcoe \
Sundeep Panickerc69f5802009-11-18 13:06:09 -0800402 libfru \
artem0e42dee2006-06-16 11:47:43 -0700403 libfstyp \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700404 libgen \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300405 libgrubmgmt \
406 libidmap \
407 libilb \
408 libima \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700409 libinetsvc \
410 libinetutil \
Moriah Waterland22fb2ee2009-09-04 10:51:44 -0600411 libinstzones \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300412 libipadm \
413 libipd \
eschrock9113a792007-03-10 17:17:25 -0800414 libipmi \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700415 libipmp \
416 libipp \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300417 libipsecutil \
Peter Dunlapa6d42e72008-10-30 15:49:07 -0600418 libiscsit \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300419 libkrb5 \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700420 libkstat \
421 libkvm \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700422 libmail \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300423 libmapid \
darrenm734b6a92006-03-28 08:45:30 -0800424 libmd \
Gordon Ross3299f392013-01-05 10:21:33 -0500425 libmlrpc \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700426 libmtmalloc \
Reza Sabdar26540122008-10-23 11:42:48 -0700427 libndmp \
jpk45916cd2006-03-24 12:29:20 -0800428 libnsl \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300429 libnvpair \
James Carlsonb00044a2008-09-19 16:27:53 -0400430 libnwam \
Yuri Pankove96f8412017-05-31 04:42:39 +0300431 libofmt \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700432 libpam \
Robert Mustacchiabc79d92013-04-02 17:25:01 -0700433 libpcidb \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700434 libpctx \
435 libpicl \
436 libpicltree \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700437 libpool \
chinda2e3eb2007-08-17 12:01:52 -0700438 libpp \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700439 libproc \
jc1565603e4f2892007-02-08 18:32:09 -0800440 libraidcfg \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700441 librcm \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300442 libreparse \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700443 librestart \
444 librpcsvc \
445 librsm \
Rishi Srivatsavai4eaa4712009-09-10 15:11:49 -0400446 librstp \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700447 libsasl \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300448 libscf \
ahrensfa9e4062005-10-31 11:33:35 -0800449 libsec \
Robert Mustacchi45d3dd92017-09-21 17:35:16 +0000450 libsff \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300451 libshare \
chinda2e3eb2007-08-17 12:01:52 -0700452 libshell \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300453 libsip \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700454 libslp \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300455 libsmbfs \
456 libsmbios \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700457 libsmedia \
Girish Moodalbail6e91bba2010-03-26 17:53:11 -0400458 libsocket \
nw141292c5c41132007-06-21 19:11:00 -0700459 libsqlite \
Sue Gleesonc3a558e2010-04-05 15:20:40 -0400460 libsrpt \
John Fortefcf3ce42008-10-14 15:09:13 -0700461 libstmf \
John Forte45039662009-10-06 19:56:15 -0700462 libstmfproxy \
April Chin7c2fbfb2008-12-27 14:59:38 -0800463 libsum \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300464 libsun_ima \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700465 libsysevent \
466 libtecla \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300467 libtermcap \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700468 libtnf \
469 libtnfctl \
470 libtnfprobe \
jpk45916cd2006-03-24 12:29:20 -0800471 libtsnet \
472 libtsol \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700473 libumem \
474 libuutil \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300475 libvolmgt \
476 libvrrpadm \
477 libvscan \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700478 libwrap \
479 libxcurses2 \
ahrensfa9e4062005-10-31 11:33:35 -0800480 libzfs \
Matthew Ahrens4445fff2012-06-30 13:00:47 -0700481 libzfs_core \
eschrock088e9d42005-11-18 22:47:38 -0800482 libzfs_jni \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700483 libzoneinfo \
Steve Lawrenceefd4c9b2010-08-16 15:11:00 -0700484 libzonestat \
John Fortefcf3ce42008-10-14 15:09:13 -0700485 mpapi \
Yuri Pankovba9ca912015-11-29 04:48:44 +0300486 passwdutil \
487 pkcs11 \
488 policykit \
489 scsi \
490 smbsrv \
491 smhba \
492 udapl \
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700493 $($(MACH)_HDRSUBDIRS)
494
Mark Logan964db342009-06-19 08:50:26 -0700495i386_HDRSUBDIRS= \
Richard Lowe702941c2013-02-09 17:21:16 -0500496 libfdisk \
497 libsaveargs
Mark Logan964db342009-06-19 08:50:26 -0700498
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700499sparc_HDRSUBDIRS= \
Mike Christensen30588212008-09-25 17:36:37 -0700500 libds \
jl13909025cf1a32006-04-08 10:25:15 -0700501 libdscp \
John Fortefcf3ce42008-10-14 15:09:13 -0700502 libpri \
Mike Christensen82629e32010-03-01 18:02:46 -0800503 libv12n \
John Fortefcf3ce42008-10-14 15:09:13 -0700504 storage
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700505
506all := TARGET= all
507check := TARGET= check
508clean := TARGET= clean
509clobber := TARGET= clobber
510install := TARGET= install
511install_h := TARGET= install_h
512lint := TARGET= lint
513_dc := TARGET= _dc
514_msg := TARGET= _msg
515
516.KEEP_STATE:
517
518#
519# For the all and install targets, we clearly must respect library
520# dependencies so that the libraries link correctly. However, for
521# the remaining targets (check, clean, clobber, install_h, lint, _dc
522# and _msg), libraries do not have any dependencies on one another
523# and thus respecting dependencies just slows down the build.
524# As such, for these rules, we use pattern replacement to explicitly
525# avoid triggering the dependency information. Note that for clean,
526# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than
527# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'.
528#
529
530all: $(SUBDIRS)
531
532install: $(SUBDIRS) .WAIT install_extra
533
534# extra libraries kept in other source areas
535install_extra:
536 @cd ../cmd/sgs; pwd; $(MAKE) install_lib
537 @pwd
538
539clean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend)
540
541install_h check: $(HDRSUBDIRS:%=%-nodepend)
542
543_msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc
544
545_dc: $(DCSUBDIRS:%=%-nodepend)
546
Yuri Pankovba9ca912015-11-29 04:48:44 +0300547# Library interdependencies are called out explicitly here.
Richard Lowe3e76f9d2014-04-16 20:03:15 +0100548../cmd/sgs/libconv: crt
549../cmd/sgs/libdl: crt
Yuri Pankovba9ca912015-11-29 04:48:44 +0300550libc: ../cmd/sgs/libconv ../cmd/sgs/libdl
551
552libm: libc
553libmd: libc
554libmp: libc
555libnsl: libc libmd libmp
556libnvpair: libc libnsl
557libsocket: libc libnsl
558
559basedeps: libc libm libmd libmp libnsl libnvpair libsocket
560basedeps := TARGET=install
561
Yuri Pankov8a154f42017-01-13 14:23:45 +0300562# The following dependencies are currently required by libdbus-1 and should
563# be used for anything linking against it.
564dbusdeps: libsecdb libtsol libinetutil libscf libuutil libgen libsmbios
565
Yuri Pankovba9ca912015-11-29 04:48:44 +0300566# The following dependencies don't need to be listed below as they are built
567# before everything else:
568# libc libm libmd libmp libnsl libnvpair libsocket
569abi: libctf libmapmalloc libproc
570auditd_plugins: libbsm libsecdb libgss libmtmalloc
571brand: libzonecfg libmapmalloc
572cfgadm_plugins: libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf
573fm: libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \
Jason King6578fdf2018-04-14 12:31:45 -0500574 libcontract libsysevent ../cmd/sgs/libelf libdladm libsff \
575 libpcidb
Yuri Pankovba9ca912015-11-29 04:48:44 +0300576$(SPARC_BLD)fm: libpri
577gss_mechs/mech_dh: libgss
578gss_mechs/mech_dummy: libgss
579gss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat
580gss_mechs/mech_spnego: gss_mechs/mech_krb5
Yuri Pankov8a154f42017-01-13 14:23:45 +0300581hal: dbusdeps
Yuri Pankovba9ca912015-11-29 04:48:44 +0300582krb5: gss_mechs/mech_krb5 libtecla libldap5
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700583libadt_jni: libbsm
Toomas Soomef5e5a2c2015-06-11 10:46:16 +0300584libadutils: libldap5 libresolv2
585libbe: libzfs libinstzones libuuid libgen libdevinfo libefi libficl
Yuri Pankovba9ca912015-11-29 04:48:44 +0300586libbsm: libinetutil libscf libsecdb libtsol
587libcfgadm: libdevinfo
Toomas Soomef5e5a2c2015-06-11 10:46:16 +0300588libcmd: libsum libast
Yuri Pankovba9ca912015-11-29 04:48:44 +0300589libcmdutils: libavl
590libcpc: libpctx
591libcrypt: libgen
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700592libdevid: libdevinfo
Yuri Pankovba9ca912015-11-29 04:48:44 +0300593libdevinfo: libsec libgen
594libdhcpagent: libdhcputil libuuid libdlpi libcontract
595libdhcputil: libgen libinetutil libdlpi
596libdiskmgt: libdevid libdevinfo libadm libefi libkstat libsysevent
597$(INTEL_BLD)libdiskmgt: libfdisk
598libdladm: libdevinfo libinetutil libscf librcm libexacct libkstat \
599 libpool
Sebastien Roy591e0e12017-01-12 13:27:24 -0500600libdll: libast
yz147064d62bc4b2008-01-23 18:09:15 -0800601libdlpi: libinetutil libdladm
Mike Christensen82629e32010-03-01 18:02:46 -0800602libds: libsysevent
Gary Millsfca42682015-09-06 19:00:17 -0500603libdtrace: libproc libgen libctf libmapmalloc
tomeefb3fb4f2006-02-16 12:15:27 -0800604libdtrace_jni: libuutil libdtrace
Andy Fiddaman4540c8e2018-04-26 08:23:48 +0000605libefi: libuuid libsmbios
Yuri Pankovba9ca912015-11-29 04:48:44 +0300606libelfsign: libcryptoutil libkmf ../cmd/sgs/libelf
607libeti: libcurses
608libexacct/demo: libexacct libproject
609libfakekernel: libumem libcryptoutil
Gary Millsfca42682015-09-06 19:00:17 -0500610libfcoe: libdladm
Toomas Soomefdff6ce2016-12-06 21:49:24 +0200611libficl: libuuid libumem
Hyon Kimac885672010-04-11 11:20:12 -0700612libfru: libfruutils
Yuri Pankovba9ca912015-11-29 04:48:44 +0300613libfsmgt: libkstat
614libgrubmgmt: libdevinfo libzfs libfstyp libefi
615$(INTEL_BLD)libgrubmgmt: libfdisk
616libidmap: libavl libuutil
617libinetsvc: libscf
618libinstzones: libzonecfg libcontract
Chris Fraireb31320a2016-11-18 11:29:24 -0700619libipadm: libinetutil libdlpi libdhcpagent libdladm libsecdb libdhcputil
Yuri Pankovba9ca912015-11-29 04:48:44 +0300620libipmp: libinetutil
Jason Kingbdc560a2018-02-27 00:07:42 -0600621libipsecutil: libtecla libtsol libkmf
Yuri Pankovba9ca912015-11-29 04:48:44 +0300622libiscsit: libstmf libuuid
Jason Kingbdc560a2018-02-27 00:07:42 -0600623libkmf: libcryptoutil pkcs11 libcustr
Yuri Pankovba9ca912015-11-29 04:48:44 +0300624libkvm: ../cmd/sgs/libelf
625libldap5: libsasl
626libmapid: libresolv2 libscf
Gordon Ross3299f392013-01-05 10:21:33 -0500627libmlrpc: libsmbfs libuuid
Yuri Pankovba9ca912015-11-29 04:48:44 +0300628libndmp: libscf
629libnisdb: libldap5
Chris Fraireb31320a2016-11-18 11:29:24 -0700630libnwam: libscf libbsm libdladm libipadm
Yuri Pankovba9ca912015-11-29 04:48:44 +0300631libpcp: libumem libdevinfo
632libpctx: libproc
Andy Fiddamanbf5d9f12018-02-07 15:01:24 +0000633libpkg: libscf libadm
Yuri Pankovba9ca912015-11-29 04:48:44 +0300634libpool: libscf libexacct
635libpp: libast
636libproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf
637$(INTEL_BLD)libproc: libsaveargs
638libproject: libpool libproc libsecdb
639libprtdiag: libkstat
640libprtdiag_psr: libprtdiag
641libraidcfg: libdevinfo
Yuri Pankovba9ca912015-11-29 04:48:44 +0300642librestart: libuutil libscf libpool libproject libsecdb libsysevent
643libsasl: libgss pkcs11
644libsaveargs: libdisasm
645libscf: libuutil libgen libsmbios
646libsec: libavl libidmap
Robert Mustacchi45d3dd92017-09-21 17:35:16 +0000647libsff: libnvpair
Yuri Pankovba9ca912015-11-29 04:48:44 +0300648libshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
649libshell: libast libcmd libdll libsecdb
650libsip: libmd5
651libsldap: libldap5 libscf
652libsmbfs: libkrb5 libsec libidmap pkcs11
Toomas Soome1951a932016-12-10 01:03:02 +0200653libsmbios: libdevinfo
Yuri Pankovba9ca912015-11-29 04:48:44 +0300654libsrpt: libstmf
655libstmf: libscf
Sebastien Roy591e0e12017-01-12 13:27:24 -0500656libstmfproxy: libstmf libpthread
657libsum: libast
Yuri Pankovba9ca912015-11-29 04:48:44 +0300658libsun_ima: libdevinfo libsysevent
659libsysevent: libsecdb
660libtecla: libcurses
661libtermcap: libcurses
662libtnfctl: ../cmd/sgs/libelf
663libtsalarm: libpcp
664libtsnet: libtsol libsecdb
665libtsol: libsecdb
666libuuid: libdlpi
667libv12n: libds libuuid
668libvolmgt: libadm
669libvrrpadm: libdladm libscf
670libvscan: libscf libsecdb
Yuri Pankovba9ca912015-11-29 04:48:44 +0300671libzfs: libdevid libgen libuutil libadm libavl libefi libidmap \
Sebastien Roy591e0e12017-01-12 13:27:24 -0500672 libumem libtsol libzfs_core
Yuri Pankovba9ca912015-11-29 04:48:44 +0300673libzfs_jni: libdiskmgt libzfs
674libzonecfg: libuuid libsysevent libsec libbrand libpool libscf libproc \
675 libuutil libbsm libsecdb
676libzonestat: libcmdutils libumem
Andrew Stormontf06dce22017-11-13 01:52:27 +0000677libzpool: libavl libumem libcmdutils libsysevent libfakekernel
Yuri Pankovba9ca912015-11-29 04:48:44 +0300678madv: libgen
679mpapi: libpthread libdevinfo libsysevent
680mpss: libgen
681nsswitch: libadutils libidmap libdns_sd libscf libldap5 libsldap
682pam_modules: libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb
683passwdutil: libsldap
684pkcs11: libcryptoutil libgen libuuid
Yuri Pankov8a154f42017-01-13 14:23:45 +0300685policykit: dbusdeps
Yuri Pankovba9ca912015-11-29 04:48:44 +0300686print: libldap5 libmd5 libsendfile
Sebastien Roy591e0e12017-01-12 13:27:24 -0500687pylibbe: libbe libzfs
Sam Falknere4d060f2010-02-25 11:47:05 -0700688pysolaris: libsec libidmap
Yuri Pankovba9ca912015-11-29 04:48:44 +0300689pyzfs: libzfs
690raidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree
691rpcsec_gss: libgss
692sasl_plugins: pkcs11 libgss libsasl
Yuri Pankovb5254d62015-12-14 17:04:05 -0500693scsi: libfru libumem libdevid libdevinfo
Yuri Pankovba9ca912015-11-29 04:48:44 +0300694smbsrv: libxnet libpthread librt libshare libidmap pkcs11 libsqlite \
695 libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \
Gordon Ross3299f392013-01-05 10:21:33 -0500696 libuuid libfakekernel libads libgss libldap5 krb5 libmlrpc
Yuri Pankovba9ca912015-11-29 04:48:44 +0300697storage: libdevice libdevinfo libdevid
698sun_fc: libdevinfo libsysevent
699sun_sas: libdevinfo libsysevent libkstat libdevid
700udapl: libdevinfo libdladm
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700701
702#
703# The reason this rule checks for the existence of the
704# Makefile is that some of the directories do not exist
kupferfb9f9b92005-12-21 19:47:57 -0800705# in certain situations (e.g., exportable source builds,
706# OpenSolaris).
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700707#
raff808c852006-08-08 23:21:36 -0700708$(SUBDIRS): FRC
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700709 @if [ -f $@/Makefile ]; then \
710 cd $@; pwd; $(MAKE) $(TARGET); \
711 else \
712 true; \
713 fi
714
raff808c852006-08-08 23:21:36 -0700715$(SUBDIRS:%=%-nodepend):
stevel@tonic-gate7c478bd2005-06-14 00:00:00 -0700716 @if [ -f $(@:%-nodepend=%)/Makefile ]; then \
717 cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \
718 else \
719 true; \
720 fi
721
722FRC: