Print this page
10063 basic support for smatch
10153 checkpaths shouldn't check packaging exceptions
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/tools/Makefile
+++ new/usr/src/tools/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
↓ open down ↓ |
16 lines elided |
↑ open up ↑ |
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) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
24 24 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
25 25 # Copyright 2016 Toomas Soome <tsoome@me.com>
26 26 # Copyright (c) 2016, Chris Fraire <cfraire@me.com>.
27 +# Copyright (c) 2018, Joyent, Inc.
27 28 #
28 29
29 30 include ../Makefile.master
30 31
32 +SMATCH_1 = smatch
33 +
31 34 # Bootstrap problem: 'cw' must be built before anything else can be built.
32 35 # 'install.bin' should be built next, being the 'install' target dependency
33 36 # for everything else.
34 37 #
35 38 # Because of somewhat cyclic dependency between them, both cw and install.bin
36 39 # override the way we install binaries in their Makefiles.
37 40 BOOT_SUBDIRS= \
41 + $(SMATCH_$(ENABLE_SMATCH)) \
42 + .WAIT \
38 43 cw \
39 44 .WAIT \
40 45 install.bin \
41 46 .WAIT \
42 47 ctf
43 48
44 49 COMMON_SUBDIRS= \
45 50 codereview \
46 51 codesign \
47 52 cscope-fast \
48 53 env \
49 54 findunref \
50 55 lintdump \
51 56 make \
52 57 makesoftcore \
53 58 ndrgen \
54 59 onbld \
55 60 protocmp \
56 61 protolist \
57 62 scripts
58 63
59 64 #
60 65 # special versions of commands for use only in build
61 66 #
62 67 UNSHIPPED_SUBDIRS = \
63 68 localedef \
64 69 mandoc \
65 70 tic \
66 71 vtfontcvt \
67 72 zic
68 73
69 74 sparc_SUBDIRS= \
70 75 chk4ubin \
71 76 stabs \
72 77 tokenize
73 78
74 79 i386_SUBDIRS= \
75 80 aw \
76 81 elfextract \
77 82 mbh_patch \
78 83 btxld
79 84
80 85 LINTSUBDIRS= \
81 86 codereview \
82 87 ctf \
83 88 cw \
84 89 findunref \
85 90 lintdump \
86 91 ndrgen \
87 92 protocmp \
88 93 protolist
89 94
90 95 SUBDIRS= \
91 96 $($(MACH)_SUBDIRS) \
92 97 $(COMMON_SUBDIRS) \
93 98 $(UNSHIPPED_SUBDIRS)
94 99
95 100 include Makefile.tools
96 101
97 102 ROOTDIRS= \
98 103 $(ROOTOPT) \
99 104 $(ROOTONBLD) \
100 105 $(ROOTONBLD)/bin \
101 106 $(ROOTONBLD)/bin/$(MACH) \
102 107 $(ROOTONBLD)/lib \
103 108 $(ROOTONBLD)/lib/$(MACH) \
104 109 $(ROOTONBLD)/lib/$(MACH)/64 \
105 110 $(ROOTONBLD)/lib/perl \
106 111 $(ROOTONBLD)/lib/python$(PYTHON_VERSION) \
107 112 $(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld \
108 113 $(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld/Checks \
109 114 $(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld/Scm \
110 115 $(ROOTONBLD)/env \
111 116 $(ROOTONBLD)/etc \
112 117 $(ROOTONBLD)/etc/exception_lists \
113 118 $(ROOTONBLD)/share \
114 119 $(ROOTONBLD)/man \
115 120 $(ROOTONBLD)/man/man1onbld
116 121
117 122 all := TARGET= install
118 123 install := TARGET= install
119 124 clean := TARGET= clean
120 125 clobber := TARGET= clobber
121 126 lint := TARGET= lint
122 127 _msg := TARGET= _msg
123 128
124 129 .KEEP_STATE:
125 130
126 131 #
127 132 # Only create directories in the tools proto area when doing an actual
128 133 # build, not a clean or clobber.
129 134 #
130 135 DOROOTDIRS= $(ROOTDIRS)
131 136 clobber:= DOROOTDIRS=
132 137 clean:= DOROOTDIRS=
133 138
134 139 DOROOTONBLDLIBPY= $(ROOTONBLDLIBPY)
135 140 clobber:= DOROOTONBLDLIBPY=
136 141 clean:= DOROOTONBLDLIBPY=
137 142
138 143 all install: $(SUBDIRS)
139 144
140 145 clean: $(SUBDIRS)
141 146
142 147 clobber: $(SUBDIRS)
143 148 $(RM) -rf $(TOOLS_PROTO)
144 149
145 150 lint: $(LINTSUBDIRS)
146 151
147 152 _msg: $(MSGSUBDIRS)
148 153
149 154 .PARALLEL: $(SUBDIRS) $(CLOSED_SUBDIRS)
150 155
151 156 $(SUBDIRS) $(CLOSED_SUBDIRS): $(BOOT_SUBDIRS)
152 157
153 158 $(BOOT_SUBDIRS) $(SUBDIRS): $$(DOROOTDIRS) $$(DOROOTONBLDLIBPY) FRC
154 159 @cd $@; pwd; $(MAKE) $(TARGET)
155 160
156 161 # Assume we don't have the install.bin available yet
157 162 $(ROOTDIRS):
158 163 $(MKDIR) -p -m $(DIRMODE) $@
159 164
160 165 $(ROOTONBLDLIBPY): $(ROOTDIRS)
161 166 $(RM) -r $@; $(SYMLINK) python$(PYTHON_VERSION) $@
162 167
163 168 FRC:
↓ open down ↓ |
116 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX