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