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