Print this page
9852 enable ld(1) guidance and deflib assertions for the illumos build
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/cmd/Makefile
+++ new/usr/src/cmd/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 #
23 23 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
24 24 # Copyright (c) 2017, Joyent, Inc.
25 25 # Copyright (c) 2012 by Delphix. All rights reserved.
26 26 # Copyright (c) 2013 DEY Storage Systems, Inc. All rights reserved.
27 27 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
28 28 # Copyright 2016 Toomas Soome <tsoome@me.com>
29 29 # Copyright 2018 Nexenta Systems, Inc.
30 30 # Copyright 2018 Gary Mills
31 31 #
32 32
33 33 include ../Makefile.master
34 34
35 35 #
36 36 # Note that the commands 'lp', and 'perl' are first in
37 37 # the list, violating alphabetical order. This is because they are very
38 38 # long-running and should be given the most wall-clock time for a
39 39 # parallel build.
40 40 #
41 41 # Commands in the FIRST_SUBDIRS list are built before starting the build
42 42 # of other commands. Currently this includes only 'isaexec' and
43 43 # 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
44 44 # $(ROOT)/usr/lib/platexec must exist when some other commands are built
45 45 # because their 'make install' creates a hard link to one of them.
46 46 #
47 47 # Commands are listed one per line so that TeamWare can auto-merge most
48 48 # changes.
49 49 #
50 50
51 51 FIRST_SUBDIRS= \
52 52 isaexec \
53 53 platexec
54 54
55 55 COMMON_SUBDIRS= \
56 56 allocate \
57 57 availdevs \
58 58 lp \
59 59 perl \
60 60 Adm \
61 61 abi \
62 62 adbgen \
63 63 acct \
64 64 acctadm \
65 65 arch \
66 66 asa \
67 67 ast \
68 68 audio \
69 69 auths \
70 70 autopush \
71 71 awk \
72 72 awk_xpg4 \
73 73 backup \
74 74 banner \
75 75 bart \
76 76 basename \
77 77 bc \
78 78 bdiff \
79 79 beadm \
80 80 bnu \
81 81 boot \
82 82 busstat \
83 83 cal \
84 84 captoinfo \
85 85 cat \
86 86 cdrw \
87 87 cfgadm \
88 88 checkeq \
89 89 checknr \
90 90 chgrp \
91 91 chmod \
92 92 chown \
93 93 chroot \
94 94 clear \
95 95 clinfo \
96 96 cmd-crypto \
97 97 cmd-inet \
98 98 col \
99 99 compress \
100 100 consadm \
101 101 coreadm \
102 102 cpio \
103 103 cpc \
104 104 cron \
105 105 crypt \
106 106 csh \
107 107 csplit \
108 108 ctrun \
109 109 ctstat \
110 110 ctwatch \
111 111 cxgbetool \
112 112 datadm \
113 113 date \
114 114 dc \
115 115 dd \
116 116 deroff \
117 117 devfsadm \
118 118 syseventd \
119 119 devctl \
120 120 devinfo \
121 121 devmgmt \
122 122 devprop \
123 123 dfs.cmds \
124 124 diff \
125 125 diff3 \
126 126 diffmk \
127 127 dircmp \
128 128 dirname \
129 129 dis \
130 130 diskinfo \
131 131 diskmgtd \
132 132 dispadmin \
133 133 dladm \
134 134 dlstat \
135 135 dlutil \
136 136 dmesg \
137 137 dodatadm \
138 138 dtrace \
139 139 du \
140 140 dumpadm \
141 141 dumpcs \
142 142 echo \
143 143 ed \
144 144 eeprom \
145 145 eject \
146 146 emul64ioctl \
147 147 enhance \
148 148 env \
149 149 eqn \
150 150 expand \
151 151 expr \
152 152 exstr \
153 153 factor \
154 154 false \
155 155 fcinfo \
156 156 fcoesvc \
157 157 fdetach \
158 158 fdformat \
159 159 fdisk \
160 160 ficl \
161 161 filesync \
162 162 file \
163 163 find \
164 164 flowadm \
165 165 flowstat \
166 166 fm \
167 167 fmt \
168 168 fmthard \
169 169 fmtmsg \
170 170 fold \
171 171 format \
172 172 fs.d \
173 173 fstyp \
174 174 fuser \
175 175 fwflash \
176 176 gcore \
177 177 gencat \
178 178 geniconvtbl \
179 179 genmsg \
180 180 getconf \
181 181 getdevpolicy \
182 182 getent \
183 183 getfacl \
184 184 getmajor \
185 185 getopt \
186 186 gettext \
187 187 gettxt \
188 188 grep \
189 189 groups \
190 190 growfs \
191 191 grpck \
192 192 gss \
193 193 hal \
194 194 halt \
195 195 head \
196 196 hostid \
197 197 hostname \
198 198 hotplug \
199 199 hotplugd \
200 200 ibd_upgrade \
201 201 iconv \
202 202 id \
203 203 idmap \
204 204 infocmp \
205 205 init \
206 206 initpkg \
207 207 install.d \
208 208 intrd \
209 209 intrstat \
210 210 ipcrm \
211 211 ipcs \
212 212 ipdadm \
213 213 ipf \
214 214 isainfo \
215 215 isalist \
216 216 itutools \
217 217 iscsiadm \
218 218 iscsid \
219 219 iscsitsvc \
220 220 isns \
221 221 itadm \
222 222 kbd \
223 223 keyserv \
224 224 killall \
225 225 krb5 \
226 226 ksh \
227 227 kvmstat \
228 228 last \
229 229 lastcomm \
230 230 latencytop \
231 231 ldap \
232 232 ldapcachemgr \
233 233 lgrpinfo \
234 234 line \
235 235 link \
236 236 dlmgmtd \
237 237 listen \
238 238 loadkeys \
239 239 locale \
240 240 localedef \
241 241 lockstat \
242 242 locator \
243 243 lofiadm \
244 244 logadm \
245 245 logger \
246 246 login \
247 247 logins \
248 248 look \
249 249 ls \
250 250 luxadm \
251 251 mach \
252 252 mail \
253 253 mailwrapper \
254 254 mailx \
255 255 make \
256 256 makekey \
257 257 man \
258 258 mandoc \
259 259 mdb \
260 260 mesg \
261 261 mkdir \
262 262 mkfifo \
263 263 mkfile \
264 264 mkmsgs \
265 265 mknod \
266 266 mkpwdict \
267 267 mktemp \
268 268 modload \
269 269 more \
270 270 mpathadm \
271 271 msgfmt \
272 272 msgid \
273 273 mt \
274 274 mv \
275 275 mvdir \
276 276 ndmpadm \
277 277 ndmpd \
278 278 ndmpstat \
279 279 netadm \
280 280 netfiles \
281 281 newform \
282 282 newgrp \
283 283 news \
284 284 newtask \
285 285 nice \
286 286 nl \
287 287 nlsadmin \
288 288 nohup \
289 289 nsadmin \
290 290 nscd \
291 291 oamuser \
292 292 oawk \
293 293 od \
294 294 pack \
295 295 pagesize \
296 296 passmgmt \
297 297 passwd \
298 298 pathchk \
299 299 pbind \
300 300 pcidr \
301 301 pcitool \
302 302 pfexec \
303 303 pfexecd \
304 304 pginfo \
305 305 pgstat \
306 306 pgrep \
307 307 picl \
308 308 plimit \
309 309 policykit \
310 310 pools \
311 311 power \
312 312 powertop \
313 313 ppgsz \
314 314 pg \
315 315 plockstat \
316 316 pr \
317 317 prctl \
318 318 print \
319 319 printf \
320 320 priocntl \
321 321 profiles \
322 322 projadd \
323 323 projects \
324 324 prstat \
325 325 prtconf \
326 326 prtdiag \
327 327 prtvtoc \
328 328 ps \
329 329 psradm \
330 330 psrinfo \
331 331 psrset \
332 332 ptools \
333 333 pwck \
334 334 pwconv \
335 335 pwd \
336 336 pyzfs \
337 337 raidctl \
338 338 ramdiskadm \
339 339 rcap \
340 340 rcm_daemon \
341 341 rctladm \
342 342 refer \
343 343 regcmp \
344 344 renice \
345 345 rm \
346 346 rmdir \
347 347 rmformat \
348 348 rmmount \
349 349 rmt \
350 350 rmvolmgr \
351 351 roles \
352 352 rpcbind \
353 353 rpcgen \
354 354 rpcinfo \
355 355 rpcsvc \
356 356 runat \
357 357 sa \
358 358 saf \
359 359 sasinfo \
360 360 savecore \
361 361 sbdadm \
362 362 script \
363 363 scsi \
364 364 sdiff \
365 365 sdpadm \
366 366 sed \
367 367 sendmail \
368 368 setfacl \
369 369 setmnt \
370 370 setpgrp \
371 371 setuname \
372 372 sgs \
373 373 sh \
374 374 shcomp \
375 375 smbios \
376 376 smbsrv \
377 377 smserverd \
378 378 soelim \
379 379 sort \
380 380 spell \
381 381 split \
382 382 sqlite \
383 383 srchtxt \
384 384 srptadm \
385 385 srptsvc \
386 386 ssh \
387 387 stat \
388 388 stmfadm \
389 389 stmfproxy \
390 390 stmfsvc \
391 391 stmsboot \
392 392 streams \
393 393 strings \
394 394 su \
395 395 sulogin \
396 396 sunpc \
397 397 svc \
398 398 svr4pkg \
399 399 swap \
400 400 sync \
401 401 sysdef \
402 402 syseventadm \
403 403 syslogd \
404 404 tabs \
405 405 tail \
406 406 tar \
407 407 tbl \
408 408 tcopy \
409 409 tcpd \
410 410 th_tools \
411 411 tic \
412 412 time \
413 413 tip \
414 414 tnf \
415 415 touch \
416 416 tput \
417 417 tr \
418 418 trapstat \
419 419 troff \
420 420 true \
421 421 truss \
422 422 tsol \
423 423 tty \
424 424 ttymon \
425 425 tzreload \
426 426 uadmin \
427 427 ul \
428 428 uname \
429 429 units \
430 430 unlink \
431 431 unpack \
432 432 userattr \
433 433 users \
434 434 utmp_update \
435 435 utmpd \
436 436 uuidgen \
437 437 valtools \
438 438 vgrind \
439 439 vi \
440 440 volcheck \
441 441 volrmmount \
442 442 vrrpadm \
443 443 vscan \
444 444 vt \
445 445 vtfontcvt \
446 446 w \
447 447 wall \
448 448 which \
449 449 who \
450 450 whodo \
451 451 wracct \
452 452 write \
453 453 xargs \
454 454 xstr \
455 455 yes \
456 456 ypcmd \
457 457 yppasswd \
458 458 zdb \
459 459 zdump \
460 460 zfs \
461 461 zhack \
462 462 zic \
463 463 zinject \
464 464 zlogin \
465 465 zoneadm \
466 466 zoneadmd \
467 467 zonecfg \
468 468 zonename \
469 469 zpool \
470 470 zlook \
471 471 zonestat \
472 472 zstreamdump \
473 473 ztest
474 474
475 475 i386_SUBDIRS= \
476 476 acpi \
477 477 acpihpd \
478 478 addbadsec \
479 479 biosdev \
480 480 diskscan \
481 481 nvmeadm \
482 482 rtc \
483 483 ucodeadm \
484 484 xhci \
485 485 xvm
486 486
487 487 sparc_SUBDIRS= \
488 488 cvcd \
489 489 dcs \
490 490 device_remap \
491 491 drd \
492 492 fruadm \
493 493 ldmad \
494 494 oplhpd \
495 495 prtdscp \
496 496 prtfru \
497 497 scadm \
498 498 sckmd \
499 499 sf880drd \
500 500 virtinfo \
501 501 vntsd
502 502
503 503 #
504 504 # Commands that are messaged. Note that 'lp' comes first
505 505 # (see previous comment about 'lp'.)
506 506 #
507 507 MSGSUBDIRS= \
508 508 lp \
509 509 abi \
510 510 acctadm \
511 511 allocate \
512 512 asa \
513 513 audio \
514 514 audit \
515 515 auditconfig \
516 516 auditd \
517 517 auditrecord \
518 518 auditset \
519 519 auths \
520 520 autopush \
521 521 awk \
522 522 awk_xpg4 \
523 523 backup \
524 524 banner \
525 525 bart \
526 526 basename \
527 527 beadm \
528 528 bnu \
529 529 busstat \
530 530 cal \
531 531 cat \
532 532 cdrw \
533 533 cfgadm \
534 534 checkeq \
535 535 checknr \
536 536 chgrp \
537 537 chmod \
538 538 chown \
539 539 cmd-crypto \
540 540 cmd-inet \
541 541 col \
542 542 compress \
543 543 consadm \
544 544 coreadm \
545 545 cpio \
546 546 cpc \
547 547 cron \
548 548 csh \
549 549 csplit \
550 550 ctrun \
551 551 ctstat \
552 552 ctwatch \
553 553 datadm \
554 554 date \
555 555 dc \
556 556 dcs \
557 557 dd \
558 558 deroff \
559 559 devfsadm \
560 560 dfs.cmds \
561 561 diff \
562 562 diffmk \
563 563 dladm \
564 564 dlstat \
565 565 du \
566 566 dumpcs \
567 567 ed \
568 568 eject \
569 569 env \
570 570 eqn \
571 571 expand \
572 572 expr \
573 573 fcinfo \
574 574 file \
575 575 filesync \
576 576 find \
577 577 flowadm \
578 578 flowstat \
579 579 fm \
580 580 fold \
581 581 fs.d \
582 582 fwflash \
583 583 geniconvtbl \
584 584 genmsg \
585 585 getconf \
586 586 getent \
587 587 gettext \
588 588 gettxt \
589 589 grep \
590 590 grpck \
591 591 gss \
592 592 halt \
593 593 head \
594 594 hostname \
595 595 hotplug \
596 596 iconv \
597 597 id \
598 598 idmap \
599 599 isaexec \
600 600 iscsiadm \
601 601 iscsid \
602 602 isns \
603 603 itadm \
604 604 kbd \
605 605 krb5 \
606 606 ksh \
607 607 last \
608 608 ldap \
609 609 ldapcachemgr \
610 610 lgrpinfo \
611 611 locale \
612 612 lofiadm \
613 613 logadm \
614 614 logger \
615 615 logins \
616 616 ls \
617 617 luxadm \
618 618 mailx \
619 619 make \
620 620 man \
621 621 mesg \
622 622 mkdir \
623 623 mkpwdict \
624 624 mktemp \
625 625 more \
626 626 mpathadm \
627 627 msgfmt \
628 628 mv \
629 629 ndmpadm \
630 630 ndmpstat \
631 631 newgrp \
632 632 newtask \
633 633 nice \
634 634 nohup \
635 635 oawk \
636 636 pack \
637 637 passwd \
638 638 passmgmt \
639 639 pathchk \
640 640 pfexec \
641 641 pg \
642 642 pgrep \
643 643 picl \
644 644 pools \
645 645 power \
646 646 pr \
647 647 praudit \
648 648 print \
649 649 profiles \
650 650 projadd \
651 651 projects \
652 652 prstat \
653 653 prtdiag \
654 654 ps \
655 655 psrinfo \
656 656 ptools \
657 657 pwconv \
658 658 pwd \
659 659 pyzfs \
660 660 raidctl \
661 661 ramdiskadm \
662 662 rcap \
663 663 rcm_daemon \
664 664 refer \
665 665 regcmp \
666 666 renice \
667 667 roles \
668 668 rm \
669 669 rmdir \
670 670 rmformat \
671 671 rmmount \
672 672 rmvolmgr \
673 673 sasinfo \
674 674 sbdadm \
675 675 scadm \
676 676 script \
677 677 scsi \
678 678 sdiff \
679 679 sdpadm \
680 680 sgs \
681 681 sh \
682 682 shcomp \
683 683 smbsrv \
684 684 sort \
685 685 split \
686 686 srptadm \
687 687 stat \
688 688 stmfadm \
689 689 stmsboot \
690 690 strings \
691 691 su \
692 692 svc \
693 693 svr4pkg \
694 694 swap \
695 695 syseventadm \
696 696 syseventd \
697 697 tabs \
698 698 tar \
699 699 tbl \
700 700 time \
701 701 tnf \
702 702 touch \
703 703 tput \
704 704 troff \
705 705 tsol \
706 706 tty \
707 707 ttymon \
708 708 tzreload \
709 709 ul \
710 710 uname \
711 711 units \
712 712 unlink \
713 713 unpack \
714 714 userattr \
715 715 valtools \
716 716 vgrind \
717 717 vi \
718 718 volcheck \
719 719 volrmmount \
720 720 vrrpadm \
721 721 vscan \
722 722 w \
723 723 who \
724 724 whodo \
725 725 wracct \
726 726 write \
727 727 xargs \
728 728 yppasswd \
729 729 zdump \
730 730 zfs \
731 731 zic \
732 732 zlogin \
733 733 zoneadm \
734 734 zoneadmd \
735 735 zonecfg \
736 736 zonename \
737 737 zpool \
738 738 zonestat
739 739
740 740 sparc_MSGSUBDIRS= \
741 741 fruadm \
742 742 prtdscp \
743 743 prtfru \
744 744 virtinfo \
745 745 vntsd
746 746
747 747 i386_MSGSUBDIRS= \
748 748 ucodeadm
749 749
750 750 #
751 751 # commands that use dcgettext for localized time, LC_TIME
752 752 #
753 753 DCSUBDIRS= \
754 754 cal \
755 755 cfgadm \
756 756 diff \
757 757 ls \
758 758 pr \
759 759 ps \
760 760 tar \
761 761 w \
762 762 who \
763 763 whodo \
764 764 write
765 765
766 766 #
767 767 # commands that belong only to audit.
768 768 #
↓ open down ↓ |
768 lines elided |
↑ open up ↑ |
769 769 AUDITSUBDIRS= \
770 770 amt \
771 771 audit \
772 772 audit_warn \
773 773 auditconfig \
774 774 auditd \
775 775 auditrecord \
776 776 auditreduce \
777 777 auditset \
778 778 auditstat \
779 - praudit
779 + praudit
780 780
781 781 #
782 782 # commands not owned by the systems group
783 783 #
784 784 BWOSDIRS=
785 785
786 786
787 787 all := TARGET = all
788 788 install := TARGET = install
789 789 clean := TARGET = clean
790 790 clobber := TARGET = clobber
791 791 lint := TARGET = lint
792 792 _msg := TARGET = _msg
793 793 _dc := TARGET = _dc
794 794
795 795 .KEEP_STATE:
796 796
797 797 SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS)
798 798
799 799 .PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS)
800 800
801 801 all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \
802 802 $(AUDITSUBDIRS)
803 803
804 804 #
805 805 # Manifests cannot be checked in parallel, because we are using
806 806 # the global repository that is in $(SRC)/cmd/svc/seed/global.db.
807 807 # For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts,
808 808 # we spawn off a sub-make to perform the non-parallel 'make check'
809 809 #
810 810 check:
811 811 $(MAKE) -f Makefile.check check
812 812
813 813 #
814 814 # The .WAIT directive works around an apparent bug in parallel make.
815 815 # Evidently make was getting the target _msg vs. _dc confused under
↓ open down ↓ |
26 lines elided |
↑ open up ↑ |
816 816 # some level of parallelization, causing some of the _dc objects
817 817 # not to be built.
818 818 #
819 819 _msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc
820 820
821 821 _dc: $(DCSUBDIRS)
822 822
823 823 #
824 824 # Dependencies
825 825 #
826 +abi: sgs
826 827 fs.d: fstyp
827 828 ksh: shcomp isaexec
828 829 print: lp
829 830 fmt: mailx
830 831
831 832 $(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC
832 833 @if [ -f $@/Makefile ]; then \
833 834 cd $@; pwd; $(MAKE) $(TARGET); \
834 835 else \
835 836 true; \
836 837 fi
837 838
838 839 FRC:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX