Makefile (964db34d) Makefile (aa1b14e7)
1#
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#
22# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23# Use is subject to license terms.
24#
25#
26
27include ../Makefile.master
28
29# Note that libcurses installs commands along with its library.
30# This is a minor bug which probably should be fixed.
31# Note also that a few extra libraries are kept in cmd source.
32#
33# Certain libraries are linked with, hence depend on, other libraries.
34#
35# Although we have historically used .WAIT to express dependencies, it
36# reduces the amount of parallelism and thus lengthens the time it
37# takes to build the libraries. Thus, we now require that any new
38# libraries explicitly call out their dependencies. Eventually, all
39# the library dependencies will be called out explicitly. See
40# "Library interdependencies" near the end of this file.
41#
42# Aside from explicit dependencies (and legacy .WAITs), all libraries
43# are built in parallel.
44#
45.PARALLEL:
46
47#
48# The $(CLOSED_BUILD) additions to SUBDIRS & MSGSUBDIRS are unfortunate,
49# but required due to the "dependencies" of using .WAIT to barrier the
50# parallel dmake builds. once 4631488 has been fixed, they can be
51# consolidated into one $(CLOSED_BUILD)SUBDIRS += (all closed libs) as
52# shown in HDRSUBDIRS
53#
54SUBDIRS= \
55 common .WAIT \
56 ../cmd/sgs/libconv \
57 ../cmd/sgs/libdl .WAIT
58
59$(CLOSED_BUILD)SUBDIRS += \
60 $(CLOSED)/lib/libc_i18n
61
62SUBDIRS += \
63 libc .WAIT \
64 ../cmd/sgs/libelf .WAIT \
65 c_synonyms \
66 libmd \
67 libmd5 \
68 librsm \
69 libmp .WAIT \
70 libnsl \
71 libsecdb .WAIT \
72 librpcsvc \
73 libsocket .WAIT \
74 libsctp \
75 libsip \
76 libcommputil \
77 libresolv \
78 libresolv2 .WAIT \
79 libw .WAIT \
80 libintl .WAIT \
81 ../cmd/sgs/librtld_db \
82 libaio \
83 libast \
84 libdll \
85 libcmd \
86 libshell \
87 libsum \
88 librt \
89 libadm \
90 libctf \
91 libdtrace \
92 libdtrace_jni \
93 libcurses \
94 libgen \
95 libgss \
96 libpam \
97 libuuid \
98 libthread \
99 libpthread .WAIT \
100 libslp \
101 libbsdmalloc \
102 libdoor \
103 libdevinfo \
104 libdladm \
105 libdlpi \
106 libeti \
107 libcrypt \
108 libdns_sd \
109 libefi \
110 libfstyp \
111 libwanboot \
112 libwanbootutil \
113 libcryptoutil \
114 libinetcfg \
115 libinetutil \
116 libipmp \
117 libiscsit \
118 libiscsitgt \
119 libkmf \
120 libkstat \
121 libkvm \
122 liblm \
123 libmalloc \
124 libmapmalloc \
125 libmtmalloc \
126 libnls \
127 libnwam \
128 libsmbios \
129 libtecla \
130 libumem \
131 libnvpair .WAIT \
132 libexacct \
133 libplot \
134 libldap4 \
135 libsasl \
136 libldap5 \
137 libsldap .WAIT \
138 libbsm \
139 libsys \
140 libsysevent \
141 libnisdb \
142 libpool \
143 libpp \
144 libproc \
145 libproject \
146 libsendfile \
147 nametoaddr \
148 ncad_addr \
149 hbaapi \
150 sun_fc \
151 gss_mechs/mech_krb5 .WAIT \
152 libkrb5 .WAIT \
153 krb5 .WAIT \
154 libsmbfs \
155 libfcoe \
156 libstmf \
157 libnsctl \
158 libunistat \
159 libdscfg \
160 librdc \
161 libinstzones \
162 libpkg
163
164$(CLOSED_BUILD)SUBDIRS += \
165 $(CLOSED)/lib/smartcard
166SUBDIRS += \
167 passwdutil \
168 pam_modules \
169 crypt_modules \
170 libadt_jni \
171 abi \
172 auditd_plugins \
173 libvolmgt \
174 libdevice \
175 libdevid \
176 libdhcpsvc \
177 libc_db \
178 libndmp \
179 libsec \
180 libtnfprobe \
181 libtnf \
182 libtnfctl \
183 libdhcpagent \
184 libdhcpdu \
185 libdhcputil \
186 libipsecutil
187$(CLOSED_BUILD)SUBDIRS += \
188 $(CLOSED)/lib/libike
189SUBDIRS += \
190 nsswitch \
191 print \
192 libuutil \
193 libscf \
194 libinetsvc \
195 librestart \
196 libsched \
197 libelfsign \
198 pkcs11 .WAIT \
199 libpctx .WAIT \
200 libcpc \
201 watchmalloc \
202 extendedFILE \
203 madv \
204 mpss \
205 libdisasm \
206 libwrap \
207 libxcurses \
208 libxcurses2 \
209 libxnet \
210 libbrand .WAIT \
211 libzonecfg \
212 libzoneinfo \
213 libtsnet \
214 libtsol \
215 gss_mechs/mech_spnego \
216 gss_mechs/mech_dummy \
217 gss_mechs/mech_dh \
218 rpcsec_gss \
219 libraidcfg .WAIT \
220 librcm .WAIT \
221 libcfgadm .WAIT \
222 libpicl .WAIT \
223 libpicltree .WAIT \
224 raidcfg_plugins \
225 cfgadm_plugins \
226 libmail \
227 lvm \
228 libsmedia \
229 libipp \
230 libdiskmgt \
231 liblgrp \
232 libfsmgt \
233 fm \
234 libavl \
235 libcmdutils \
236 libcontract \
237 ../cmd/sendmail/libmilter \
238 sasl_plugins \
239 udapl \
240 libzpool \
241 libzfs \
242 libzfs_jni \
243 pyzfs \
244 libmapid \
245 brand \
246 policykit \
247 hal \
248 libshare \
249 libsqlite \
250 libidmap \
251 libadutils \
252 libipmi \
253 libexacct/demo \
254 libvscan \
255 libgrubmgmt \
256 smbsrv \
257 scsi \
258 mms \
259 libima \
260 libsun_ima \
261 mpapi \
262 $($(MACH)_SUBDIRS)
263
264i386_SUBDIRS= \
265 libntfs \
1#
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#
22# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23# Use is subject to license terms.
24#
25#
26
27include ../Makefile.master
28
29# Note that libcurses installs commands along with its library.
30# This is a minor bug which probably should be fixed.
31# Note also that a few extra libraries are kept in cmd source.
32#
33# Certain libraries are linked with, hence depend on, other libraries.
34#
35# Although we have historically used .WAIT to express dependencies, it
36# reduces the amount of parallelism and thus lengthens the time it
37# takes to build the libraries. Thus, we now require that any new
38# libraries explicitly call out their dependencies. Eventually, all
39# the library dependencies will be called out explicitly. See
40# "Library interdependencies" near the end of this file.
41#
42# Aside from explicit dependencies (and legacy .WAITs), all libraries
43# are built in parallel.
44#
45.PARALLEL:
46
47#
48# The $(CLOSED_BUILD) additions to SUBDIRS & MSGSUBDIRS are unfortunate,
49# but required due to the "dependencies" of using .WAIT to barrier the
50# parallel dmake builds. once 4631488 has been fixed, they can be
51# consolidated into one $(CLOSED_BUILD)SUBDIRS += (all closed libs) as
52# shown in HDRSUBDIRS
53#
54SUBDIRS= \
55 common .WAIT \
56 ../cmd/sgs/libconv \
57 ../cmd/sgs/libdl .WAIT
58
59$(CLOSED_BUILD)SUBDIRS += \
60 $(CLOSED)/lib/libc_i18n
61
62SUBDIRS += \
63 libc .WAIT \
64 ../cmd/sgs/libelf .WAIT \
65 c_synonyms \
66 libmd \
67 libmd5 \
68 librsm \
69 libmp .WAIT \
70 libnsl \
71 libsecdb .WAIT \
72 librpcsvc \
73 libsocket .WAIT \
74 libsctp \
75 libsip \
76 libcommputil \
77 libresolv \
78 libresolv2 .WAIT \
79 libw .WAIT \
80 libintl .WAIT \
81 ../cmd/sgs/librtld_db \
82 libaio \
83 libast \
84 libdll \
85 libcmd \
86 libshell \
87 libsum \
88 librt \
89 libadm \
90 libctf \
91 libdtrace \
92 libdtrace_jni \
93 libcurses \
94 libgen \
95 libgss \
96 libpam \
97 libuuid \
98 libthread \
99 libpthread .WAIT \
100 libslp \
101 libbsdmalloc \
102 libdoor \
103 libdevinfo \
104 libdladm \
105 libdlpi \
106 libeti \
107 libcrypt \
108 libdns_sd \
109 libefi \
110 libfstyp \
111 libwanboot \
112 libwanbootutil \
113 libcryptoutil \
114 libinetcfg \
115 libinetutil \
116 libipmp \
117 libiscsit \
118 libiscsitgt \
119 libkmf \
120 libkstat \
121 libkvm \
122 liblm \
123 libmalloc \
124 libmapmalloc \
125 libmtmalloc \
126 libnls \
127 libnwam \
128 libsmbios \
129 libtecla \
130 libumem \
131 libnvpair .WAIT \
132 libexacct \
133 libplot \
134 libldap4 \
135 libsasl \
136 libldap5 \
137 libsldap .WAIT \
138 libbsm \
139 libsys \
140 libsysevent \
141 libnisdb \
142 libpool \
143 libpp \
144 libproc \
145 libproject \
146 libsendfile \
147 nametoaddr \
148 ncad_addr \
149 hbaapi \
150 sun_fc \
151 gss_mechs/mech_krb5 .WAIT \
152 libkrb5 .WAIT \
153 krb5 .WAIT \
154 libsmbfs \
155 libfcoe \
156 libstmf \
157 libnsctl \
158 libunistat \
159 libdscfg \
160 librdc \
161 libinstzones \
162 libpkg
163
164$(CLOSED_BUILD)SUBDIRS += \
165 $(CLOSED)/lib/smartcard
166SUBDIRS += \
167 passwdutil \
168 pam_modules \
169 crypt_modules \
170 libadt_jni \
171 abi \
172 auditd_plugins \
173 libvolmgt \
174 libdevice \
175 libdevid \
176 libdhcpsvc \
177 libc_db \
178 libndmp \
179 libsec \
180 libtnfprobe \
181 libtnf \
182 libtnfctl \
183 libdhcpagent \
184 libdhcpdu \
185 libdhcputil \
186 libipsecutil
187$(CLOSED_BUILD)SUBDIRS += \
188 $(CLOSED)/lib/libike
189SUBDIRS += \
190 nsswitch \
191 print \
192 libuutil \
193 libscf \
194 libinetsvc \
195 librestart \
196 libsched \
197 libelfsign \
198 pkcs11 .WAIT \
199 libpctx .WAIT \
200 libcpc \
201 watchmalloc \
202 extendedFILE \
203 madv \
204 mpss \
205 libdisasm \
206 libwrap \
207 libxcurses \
208 libxcurses2 \
209 libxnet \
210 libbrand .WAIT \
211 libzonecfg \
212 libzoneinfo \
213 libtsnet \
214 libtsol \
215 gss_mechs/mech_spnego \
216 gss_mechs/mech_dummy \
217 gss_mechs/mech_dh \
218 rpcsec_gss \
219 libraidcfg .WAIT \
220 librcm .WAIT \
221 libcfgadm .WAIT \
222 libpicl .WAIT \
223 libpicltree .WAIT \
224 raidcfg_plugins \
225 cfgadm_plugins \
226 libmail \
227 lvm \
228 libsmedia \
229 libipp \
230 libdiskmgt \
231 liblgrp \
232 libfsmgt \
233 fm \
234 libavl \
235 libcmdutils \
236 libcontract \
237 ../cmd/sendmail/libmilter \
238 sasl_plugins \
239 udapl \
240 libzpool \
241 libzfs \
242 libzfs_jni \
243 pyzfs \
244 libmapid \
245 brand \
246 policykit \
247 hal \
248 libshare \
249 libsqlite \
250 libidmap \
251 libadutils \
252 libipmi \
253 libexacct/demo \
254 libvscan \
255 libgrubmgmt \
256 smbsrv \
257 scsi \
258 mms \
259 libima \
260 libsun_ima \
261 mpapi \
262 $($(MACH)_SUBDIRS)
263
264i386_SUBDIRS= \
265 libntfs \
266 libparted
266 libparted \
267 libfdisk
267
268sparc_SUBDIRS= .WAIT \
269 efcode \
270 libc_psr .WAIT \
271 libds \
272 libdscp \
273 libprtdiag .WAIT \
274 libprtdiag_psr \
275 libpri \
276 librsc \
277 libfruutils .WAIT \
278 libfru \
279 storage \
280 libpcp \
281 libtsalarm
282
283FM_sparc_DEPLIBS= libpri
284
285fm: \
286 libexacct \
287 libipmi \
288 libzfs \
289 scsi \
290 $(FM_$(MACH)_DEPLIBS)
291
292#
293# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the
294# clean and clobber targets (for more information, see those targets, below).
295#
296NOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=)
297
298DCSUBDIRS = \
299 lvm
300
301MSGSUBDIRS= \
302 abi \
303 auditd_plugins \
304 brand \
305 cfgadm_plugins \
306 gss_mechs/mech_dh \
307 gss_mechs/mech_krb5 \
308 krb5 \
309 libast \
310 libbsm \
311 libc \
312 libcfgadm \
313 libcmd \
314 libcontract \
315 libcurses \
316 libdhcpsvc \
317 libdhcputil \
318 libipsecutil \
319 libdiskmgt \
320 libdladm \
321 libdll \
322 libgrubmgmt \
323 libgss \
324 libidmap \
325 libinetcfg \
326 libipmp \
327 libinetutil \
328 libinstzones \
329 libnsl \
330 libpam \
331 libpicl \
332 libpool \
333 libpkg \
334 libpp \
335 libscf \
336 libsasl \
337 libldap5 \
338 libsecdb \
339 libshare \
340 libshell \
341 libsldap \
342 libslp \
343 libsmbfs \
344 libsmedia \
345 libsum \
346 libtsol \
347 libuutil \
348 libvscan \
349 libwanboot \
350 libwanbootutil \
351 libzfs \
352 libzonecfg \
353 lvm \
354 madv \
355 mms \
356 mpss \
357 pam_modules \
358 pyzfs \
359 rpcsec_gss
360$(CLOSED_BUILD)MSGSUBDIRS += \
361 $(CLOSED)/lib/smartcard
362MSGSUBDIRS += \
363 $($(MACH)_MSGSUBDIRS)
364
365sparc_MSGSUBDIRS= \
366 libprtdiag \
367 libprtdiag_psr
368
268
269sparc_SUBDIRS= .WAIT \
270 efcode \
271 libc_psr .WAIT \
272 libds \
273 libdscp \
274 libprtdiag .WAIT \
275 libprtdiag_psr \
276 libpri \
277 librsc \
278 libfruutils .WAIT \
279 libfru \
280 storage \
281 libpcp \
282 libtsalarm
283
284FM_sparc_DEPLIBS= libpri
285
286fm: \
287 libexacct \
288 libipmi \
289 libzfs \
290 scsi \
291 $(FM_$(MACH)_DEPLIBS)
292
293#
294# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the
295# clean and clobber targets (for more information, see those targets, below).
296#
297NOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=)
298
299DCSUBDIRS = \
300 lvm
301
302MSGSUBDIRS= \
303 abi \
304 auditd_plugins \
305 brand \
306 cfgadm_plugins \
307 gss_mechs/mech_dh \
308 gss_mechs/mech_krb5 \
309 krb5 \
310 libast \
311 libbsm \
312 libc \
313 libcfgadm \
314 libcmd \
315 libcontract \
316 libcurses \
317 libdhcpsvc \
318 libdhcputil \
319 libipsecutil \
320 libdiskmgt \
321 libdladm \
322 libdll \
323 libgrubmgmt \
324 libgss \
325 libidmap \
326 libinetcfg \
327 libipmp \
328 libinetutil \
329 libinstzones \
330 libnsl \
331 libpam \
332 libpicl \
333 libpool \
334 libpkg \
335 libpp \
336 libscf \
337 libsasl \
338 libldap5 \
339 libsecdb \
340 libshare \
341 libshell \
342 libsldap \
343 libslp \
344 libsmbfs \
345 libsmedia \
346 libsum \
347 libtsol \
348 libuutil \
349 libvscan \
350 libwanboot \
351 libwanbootutil \
352 libzfs \
353 libzonecfg \
354 lvm \
355 madv \
356 mms \
357 mpss \
358 pam_modules \
359 pyzfs \
360 rpcsec_gss
361$(CLOSED_BUILD)MSGSUBDIRS += \
362 $(CLOSED)/lib/smartcard
363MSGSUBDIRS += \
364 $($(MACH)_MSGSUBDIRS)
365
366sparc_MSGSUBDIRS= \
367 libprtdiag \
368 libprtdiag_psr
369
370i386_MSGSUBDIRS= libfdisk
371
369HDRSUBDIRS= \
370 auditd_plugins \
371 libast \
372 libbrand \
373 libbsm \
374 libc \
375 libcmd \
376 libcmdutils \
377 libcontract \
378 libcpc \
379 libctf \
380 libcurses \
381 libcryptoutil \
382 libdevice \
383 libdevid \
384 libdevinfo \
385 libdiskmgt \
386 libdladm \
387 libdll \
388 libdlpi \
389 libdhcpagent \
390 libdhcpsvc \
391 libdhcputil \
392 libdisasm \
393 libdns_sd \
394 libdscfg \
395 libdtrace \
396 libdtrace_jni \
397 libelfsign \
398 libeti \
399 libfstyp \
400 libgen \
401 libwanboot \
402 libwanbootutil \
403 libipsecutil \
404 libinetcfg \
405 libinetsvc \
406 libinetutil \
407 libipmi \
408 libipmp \
409 libipp \
410 libiscsit \
411 libiscsitgt \
412 libkstat \
413 libkvm \
414 libmail \
415 libmd \
416 libmtmalloc \
417 libndmp \
418 libnvpair \
419 libnsctl \
420 libnsl \
421 libnwam \
422 libpam \
423 libpctx \
424 libpicl \
425 libpicltree \
426 libplot \
427 libpool \
428 libpp \
429 libproc \
430 libraidcfg \
431 librcm \
432 librdc \
433 libscf \
434 libsip \
435 libcommputil \
436 libsmbios \
437 librestart \
438 librpcsvc \
439 librsm \
440 libsasl \
441 libsec \
442 libshell \
443 libslp \
444 libsmedia \
445 libsqlite \
446 libfcoe \
447 libstmf \
448 libsum \
449 libsysevent \
450 libtecla \
451 libtnf \
452 libtnfctl \
453 libtnfprobe \
454 libtsnet \
455 libtsol \
456 libvolmgt \
457 libumem \
458 libunistat \
459 libuutil \
460 libwrap \
461 libxcurses2 \
462 libzfs \
463 libzfs_jni \
464 libzoneinfo \
465 hal \
466 policykit \
467 lvm \
468 pkcs11 \
469 passwdutil \
470 ../cmd/sendmail/libmilter \
471 fm \
472 udapl \
473 libmapid \
474 libkrb5 \
475 libshare \
476 libidmap \
477 libvscan \
478 libgrubmgmt \
479 smbsrv \
480 scsi \
481 hbaapi \
482 libima \
483 libsun_ima \
484 mpapi \
485 mms \
486 $($(MACH)_HDRSUBDIRS)
487
488$(CLOSED_BUILD)HDRSUBDIRS += \
489 $(CLOSED)/lib/libc_i18n \
490 $(CLOSED)/lib/libike \
491 $(CLOSED)/lib/smartcard
492
493i386_HDRSUBDIRS= \
372HDRSUBDIRS= \
373 auditd_plugins \
374 libast \
375 libbrand \
376 libbsm \
377 libc \
378 libcmd \
379 libcmdutils \
380 libcontract \
381 libcpc \
382 libctf \
383 libcurses \
384 libcryptoutil \
385 libdevice \
386 libdevid \
387 libdevinfo \
388 libdiskmgt \
389 libdladm \
390 libdll \
391 libdlpi \
392 libdhcpagent \
393 libdhcpsvc \
394 libdhcputil \
395 libdisasm \
396 libdns_sd \
397 libdscfg \
398 libdtrace \
399 libdtrace_jni \
400 libelfsign \
401 libeti \
402 libfstyp \
403 libgen \
404 libwanboot \
405 libwanbootutil \
406 libipsecutil \
407 libinetcfg \
408 libinetsvc \
409 libinetutil \
410 libipmi \
411 libipmp \
412 libipp \
413 libiscsit \
414 libiscsitgt \
415 libkstat \
416 libkvm \
417 libmail \
418 libmd \
419 libmtmalloc \
420 libndmp \
421 libnvpair \
422 libnsctl \
423 libnsl \
424 libnwam \
425 libpam \
426 libpctx \
427 libpicl \
428 libpicltree \
429 libplot \
430 libpool \
431 libpp \
432 libproc \
433 libraidcfg \
434 librcm \
435 librdc \
436 libscf \
437 libsip \
438 libcommputil \
439 libsmbios \
440 librestart \
441 librpcsvc \
442 librsm \
443 libsasl \
444 libsec \
445 libshell \
446 libslp \
447 libsmedia \
448 libsqlite \
449 libfcoe \
450 libstmf \
451 libsum \
452 libsysevent \
453 libtecla \
454 libtnf \
455 libtnfctl \
456 libtnfprobe \
457 libtsnet \
458 libtsol \
459 libvolmgt \
460 libumem \
461 libunistat \
462 libuutil \
463 libwrap \
464 libxcurses2 \
465 libzfs \
466 libzfs_jni \
467 libzoneinfo \
468 hal \
469 policykit \
470 lvm \
471 pkcs11 \
472 passwdutil \
473 ../cmd/sendmail/libmilter \
474 fm \
475 udapl \
476 libmapid \
477 libkrb5 \
478 libshare \
479 libidmap \
480 libvscan \
481 libgrubmgmt \
482 smbsrv \
483 scsi \
484 hbaapi \
485 libima \
486 libsun_ima \
487 mpapi \
488 mms \
489 $($(MACH)_HDRSUBDIRS)
490
491$(CLOSED_BUILD)HDRSUBDIRS += \
492 $(CLOSED)/lib/libc_i18n \
493 $(CLOSED)/lib/libike \
494 $(CLOSED)/lib/smartcard
495
496i386_HDRSUBDIRS= \
494 libparted
497 libparted \
498 libfdisk
495
496sparc_HDRSUBDIRS= \
497 libds \
498 libdscp \
499 libpri \
500 storage
501
502all := TARGET= all
503check := TARGET= check
504clean := TARGET= clean
505clobber := TARGET= clobber
506install := TARGET= install
507install_h := TARGET= install_h
508lint := TARGET= lint
509_dc := TARGET= _dc
510_msg := TARGET= _msg
511
512.KEEP_STATE:
513
514#
515# For the all and install targets, we clearly must respect library
516# dependencies so that the libraries link correctly. However, for
517# the remaining targets (check, clean, clobber, install_h, lint, _dc
518# and _msg), libraries do not have any dependencies on one another
519# and thus respecting dependencies just slows down the build.
520# As such, for these rules, we use pattern replacement to explicitly
521# avoid triggering the dependency information. Note that for clean,
522# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than
523# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'.
524#
525
526all: $(SUBDIRS)
527
528install: $(SUBDIRS) .WAIT install_extra
529
530# extra libraries kept in other source areas
531install_extra:
532 @cd ../cmd/sgs; pwd; $(MAKE) install_lib
533 @pwd
534
535clean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend)
536
537install_h check: $(HDRSUBDIRS:%=%-nodepend)
538
539_msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc
540
541_dc: $(DCSUBDIRS:%=%-nodepend)
542
543# dependencies for pam_modules (see below)
544$(CLOSED_BUILD)SMARTCARD= $(CLOSED)/lib/smartcard
545
546#
547# Library interdependencies are called out explicitly here
548#
549auditd_plugins: libbsm libnsl libsecdb
550gss_mechs/mech_krb5: libgss libnsl libsocket libresolv pkcs11
551libadt_jni: libbsm
552$(CLOSED_BUILD)libc: $(CLOSED)/lib/libc_i18n
553libast: libsocket
554libadutils: libldap5 libresolv libsocket libnsl
555nsswitch: libadutils libidmap
556libbsm: libtsol
557libcmd: libsum libast libsocket libnsl
558libcmdutils: libavl
559libcontract: libnvpair
560libdevid: libdevinfo
561libdevinfo: libnvpair libsec
562libdhcpagent: libsocket libdhcputil libuuid libdlpi libcontract
563libdhcpsvc: libinetutil
564libdhcputil: libnsl libgen libinetutil libdlpi
565libdladm: libdevinfo libinetutil libsocket libscf librcm libnvpair \
566 libexacct libnsl libkstat libcurses
567libdll: libast
568libdlpi: libinetutil libdladm
569libdscfg: libnsctl libunistat libsocket libnsl
570libdtrace: libproc libgen libctf
571libdtrace_jni: libuutil libdtrace
572libefi: libuuid
573libfstyp: libnvpair
574libelfsign: libcryptoutil libkmf
575libidmap: libadutils libldap5 libavl libsldap
576libinetcfg: libnsl libsocket libdlpi
577libiscsit: libc libnvpair libstmf libuuid libnsl
578libkmf: libcryptoutil pkcs11
579libnsl: libmd5 libscf
580libmapid: libresolv
581libnwam: libdoor
582librdc: libsocket libnsl libnsctl libunistat libdscfg
583libuuid: libdlpi
584libinetutil: libsocket
585libinstzones: libzonecfg libcontract
586libpkg: libwanboot libscf libadm
587libsecdb: libnsl
588libsasl: libgss libsocket pkcs11 libmd
589sasl_plugins: pkcs11 libgss libsocket libsasl
590libsctp: libsocket
591libshell: libast libcmd libdll libsocket libsecdb
592libsip: libmd5
593libsmbfs: libsocket libnsl libkrb5
594libsocket: libnsl
595libsum: libast
596libldap5: libsasl libsocket libnsl libmd
597libsldap: libldap5 libtsol libnsl libc libscf libresolv
598libpool: libnvpair libexacct
599libpp: libast
600libzonecfg: libc libsocket libnsl libuuid libnvpair libsysevent libsec \
601 libbrand libpool libscf
602libproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf
603libproject: libpool libproc libsecdb
604libtsnet: libnsl libtsol libsecdb
605libwrap: libnsl libsocket
606libwanboot: libnvpair libresolv libnsl libsocket libdevinfo libinetutil \
607 libdhcputil
608libwanbootutil: libnsl
609pam_modules: libproject passwdutil $(SMARTCARD) smbsrv
610libscf: libuutil libmd libgen libsmbios
611libinetsvc: libscf
612librestart: libuutil libscf
613../cmd/sgs/libdl: ../cmd/sgs/libconv
614../cmd/sgs/libelf: ../cmd/sgs/libconv
615pkcs11: libcryptoutil
616print: libldap5
617udapl/udapl_tavor: udapl/libdat
618libzfs: libdevinfo libdevid libgen libnvpair libuutil libiscsitgt \
619 libavl libefi libidmap libsec
620libzfs_jni: libdiskmgt libnvpair libzfs
621libzpool: libavl libumem libnvpair
622libsec: libavl libidmap
623brand: libc libsocket
624libshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
625libexacct/demo: libexacct libproject libsocket libnsl
626libtsalarm: libpcp
627smbsrv: libsocket libnsl libmd libxnet libpthread librt \
628 libshare libidmap pkcs11 libsqlite
629libvscan: libscf
630scsi: libnvpair
631mpapi: libpthread libdevinfo libsysevent libnvpair
632libgrubmgmt: libdevinfo libzfs libfstyp
633pyzfs: libnvpair libsec libidmap libzfs
634
635#
636# The reason this rule checks for the existence of the
637# Makefile is that some of the directories do not exist
638# in certain situations (e.g., exportable source builds,
639# OpenSolaris).
640#
641$(SUBDIRS): FRC
642 @if [ -f $@/Makefile ]; then \
643 cd $@; pwd; $(MAKE) $(TARGET); \
644 else \
645 true; \
646 fi
647
648$(SUBDIRS:%=%-nodepend):
649 @if [ -f $(@:%-nodepend=%)/Makefile ]; then \
650 cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \
651 else \
652 true; \
653 fi
654
655FRC:
499
500sparc_HDRSUBDIRS= \
501 libds \
502 libdscp \
503 libpri \
504 storage
505
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
547# dependencies for pam_modules (see below)
548$(CLOSED_BUILD)SMARTCARD= $(CLOSED)/lib/smartcard
549
550#
551# Library interdependencies are called out explicitly here
552#
553auditd_plugins: libbsm libnsl libsecdb
554gss_mechs/mech_krb5: libgss libnsl libsocket libresolv pkcs11
555libadt_jni: libbsm
556$(CLOSED_BUILD)libc: $(CLOSED)/lib/libc_i18n
557libast: libsocket
558libadutils: libldap5 libresolv libsocket libnsl
559nsswitch: libadutils libidmap
560libbsm: libtsol
561libcmd: libsum libast libsocket libnsl
562libcmdutils: libavl
563libcontract: libnvpair
564libdevid: libdevinfo
565libdevinfo: libnvpair libsec
566libdhcpagent: libsocket libdhcputil libuuid libdlpi libcontract
567libdhcpsvc: libinetutil
568libdhcputil: libnsl libgen libinetutil libdlpi
569libdladm: libdevinfo libinetutil libsocket libscf librcm libnvpair \
570 libexacct libnsl libkstat libcurses
571libdll: libast
572libdlpi: libinetutil libdladm
573libdscfg: libnsctl libunistat libsocket libnsl
574libdtrace: libproc libgen libctf
575libdtrace_jni: libuutil libdtrace
576libefi: libuuid
577libfstyp: libnvpair
578libelfsign: libcryptoutil libkmf
579libidmap: libadutils libldap5 libavl libsldap
580libinetcfg: libnsl libsocket libdlpi
581libiscsit: libc libnvpair libstmf libuuid libnsl
582libkmf: libcryptoutil pkcs11
583libnsl: libmd5 libscf
584libmapid: libresolv
585libnwam: libdoor
586librdc: libsocket libnsl libnsctl libunistat libdscfg
587libuuid: libdlpi
588libinetutil: libsocket
589libinstzones: libzonecfg libcontract
590libpkg: libwanboot libscf libadm
591libsecdb: libnsl
592libsasl: libgss libsocket pkcs11 libmd
593sasl_plugins: pkcs11 libgss libsocket libsasl
594libsctp: libsocket
595libshell: libast libcmd libdll libsocket libsecdb
596libsip: libmd5
597libsmbfs: libsocket libnsl libkrb5
598libsocket: libnsl
599libsum: libast
600libldap5: libsasl libsocket libnsl libmd
601libsldap: libldap5 libtsol libnsl libc libscf libresolv
602libpool: libnvpair libexacct
603libpp: libast
604libzonecfg: libc libsocket libnsl libuuid libnvpair libsysevent libsec \
605 libbrand libpool libscf
606libproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf
607libproject: libpool libproc libsecdb
608libtsnet: libnsl libtsol libsecdb
609libwrap: libnsl libsocket
610libwanboot: libnvpair libresolv libnsl libsocket libdevinfo libinetutil \
611 libdhcputil
612libwanbootutil: libnsl
613pam_modules: libproject passwdutil $(SMARTCARD) smbsrv
614libscf: libuutil libmd libgen libsmbios
615libinetsvc: libscf
616librestart: libuutil libscf
617../cmd/sgs/libdl: ../cmd/sgs/libconv
618../cmd/sgs/libelf: ../cmd/sgs/libconv
619pkcs11: libcryptoutil
620print: libldap5
621udapl/udapl_tavor: udapl/libdat
622libzfs: libdevinfo libdevid libgen libnvpair libuutil libiscsitgt \
623 libavl libefi libidmap libsec
624libzfs_jni: libdiskmgt libnvpair libzfs
625libzpool: libavl libumem libnvpair
626libsec: libavl libidmap
627brand: libc libsocket
628libshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
629libexacct/demo: libexacct libproject libsocket libnsl
630libtsalarm: libpcp
631smbsrv: libsocket libnsl libmd libxnet libpthread librt \
632 libshare libidmap pkcs11 libsqlite
633libvscan: libscf
634scsi: libnvpair
635mpapi: libpthread libdevinfo libsysevent libnvpair
636libgrubmgmt: libdevinfo libzfs libfstyp
637pyzfs: libnvpair libsec libidmap libzfs
638
639#
640# The reason this rule checks for the existence of the
641# Makefile is that some of the directories do not exist
642# in certain situations (e.g., exportable source builds,
643# OpenSolaris).
644#
645$(SUBDIRS): FRC
646 @if [ -f $@/Makefile ]; then \
647 cd $@; pwd; $(MAKE) $(TARGET); \
648 else \
649 true; \
650 fi
651
652$(SUBDIRS:%=%-nodepend):
653 @if [ -f $(@:%-nodepend=%)/Makefile ]; then \
654 cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \
655 else \
656 true; \
657 fi
658
659FRC: