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