Print this page
XXX Remove nawk(1)
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/intel/Makefile
+++ new/usr/src/uts/intel/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 # uts/intel/Makefile
22 22 #
23 23 # Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
24 24 #
25 25 # This makefile drives the production of all implementation architecture
26 26 # independent modules for Intel processors.
27 27
28 28 UTSBASE = ..
29 29
30 30 include Makefile.intel
31 31
32 32 LINT_KMODS_X1 = $(LINT_KMODS:nsmb=)
33 33 LINT_KMODS_X2 = $(LINT_KMODS_X1:smbfs=)
34 34 LINT_KMODLIBS = $(LINT_KMODS_X2:e1000g=)
35 35 LINT_LIBS = $(LINT_LIB) $(GEN_LINT_LIB) \
36 36 $(LINT_KMODLIBS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
37 37 $(CLOSED_LINT_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
38 38
39 39 # EXPORT DELETE START
40 40 $(CLOSED_BUILD)LINT_LIBS += $(SVVS_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
41 41 $(CLOSED_BUILD)LINT_CLOSED_XMOD4 = $(CLOSED_XMODS:bnx=)
42 42 $(CLOSED_BUILD)LINT_CLOSED_XMOD3 = $(LINT_CLOSED_XMOD4:bnxe=)
43 43 $(CLOSED_BUILD)LINT_CLOSED_XMOD2 = $(LINT_CLOSED_XMOD3:lsimega=)
44 44 $(CLOSED_BUILD)LINT_CLOSED_XMOD1 = $(LINT_CLOSED_XMOD2:adpu320=)
45 45 $(CLOSED_BUILD)LINT_LIBS += $(LINT_XMODLIBS:%=$(LINT_LIB_DIR)/llib-l%.ln)
46 46
47 47 #
48 48 # dprov is delivered in the SUNWcryptoint package.
49 49 #
50 50 DRV_KMODS += dprov
51 51
52 52 # EXPORT DELETE END
53 53
54 54 #
55 55 #
56 56 def := TARGET= def
57 57 def.prereq := TARGET= def
58 58 all := TARGET= all
59 59 all.prereq := TARGET= all
60 60 install := TARGET= install
61 61 install.prereq := TARGET= all
62 62 clean := TARGET= clean
63 63 clobber := TARGET= clobber
64 64 lint := TARGET= lint
65 65 lint.prereq := TARGET= lint
66 66 modlintlib := TARGET= modlintlib
67 67 modlist := TARGET= modlist
68 68 modlist := NO_STATE= -K $$MODSTATE$$$$
69 69 clean.lint := TARGET= clean.lint
70 70 check := TARGET= check
71 71 install_h := TARGET= install_h
72 72 install_h.prereq := TARGET= install_h
73 73
74 74 .KEEP_STATE:
75 75
76 76 .PARALLEL: $(PARALLEL_KMODS) $(CLOSED_KMODS) $(SVVS) $(XMODS) \
77 77 $(CLOSED_XMODS) config $(LINT_DEPS)
78 78
79 79 def all install clean clobber modlist: $(KMODS) $(CLOSED_KMODS) \
80 80 $(SVVS) $(XMODS) $(CLOSED_XMODS) config
81 81
82 82
↓ open down ↓ |
82 lines elided |
↑ open up ↑ |
83 83 #
84 84 # Privilege constants
85 85 #
86 86 # NOTE: The rules for generating priv_const.c file are shared between all
87 87 # processor architectures and and should be kept in sync. If they are changed in
88 88 # this file make sure that sparc rules are updated as well.
89 89 #
90 90 PRIVS_C = $(SRC)/uts/common/os/priv_const.c
91 91
92 92 $(PRIVS_C): $(PRIVS_AWK) $(PRIVS_DEF)
93 - $(NAWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) cfile=$@
93 + $(AWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) cfile=$@
94 94
95 95 #
96 96 # Prerequisites
97 97 #
98 98 # The uts/Makefile defines build parallelism for x86 platforms such that i86pc,
99 99 # i86xpv and intel are all built in parallel. This requires building certain
100 100 # parts before the parallel build can start. The uts/Makefile appends the
101 101 # '.prereq' string to the original target and executes this Makefile to build
102 102 # any prerequisites needed before the full parallel build can start. After that
103 103 # make continues with normal targets.
104 104 #
105 105 # Any build prerequisites for x86 builds should be described here.
106 106 #
107 107 # genassym is used to build intel/dtrace and genunix, so it should be built
108 108 # first.
109 109 #
110 110 # priv_const.c is required to build genunix.
111 111 #
112 112 # genunix is used by everyone to ctf-merge with. Genunix is CTF-merged with
113 113 # intel/ip so as a side effect this dependency builds intel/ip as part of the
114 114 # prerequisites.
115 115 #
116 116 # intel/dtrace depends on i86pc/genassym, so we need to build both
117 117 # i86pc/genassym and intel/genassym.
118 118 #
119 119 all.prereq install.prereq def.prereq: genunix FRC
120 120 @cd ../i86pc/genassym; pwd; $(MAKE) $(@:%.prereq=%)
121 121
122 122 #
123 123 # i86pc lint libraries should be built first
124 124 #
125 125 lint.prereq: FRC
126 126 @cd ../i86pc; pwd; $(MAKE) $(NO_STATE) lint
127 127
128 128 #
129 129 # Nothing to do for any other prerequisite targets.
130 130 #
131 131 %.prereq:
132 132
133 133 genunix: $(PRIVS_C)
134 134
135 135 modlintlib clean.lint: $(LINT_KMODS) $(CLOSED_LINT_KMODS) $(SVVS) \
136 136 $(XMODS) $(CLOSED_XMODS)
137 137
138 138 $(KMODS) $(SUBDIRS) config: FRC
139 139 @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
140 140
141 141 $(CLOSED_KMODS): FRC
142 142 cd $(CLOSED)/uts/intel/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
143 143
144 144 $(XMODS): FRC
145 145 @if [ -f $@/Makefile ]; then \
146 146 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
147 147 else \
148 148 true; \
149 149 fi
150 150
151 151 $(SVVS) $(CLOSED_XMODS): FRC
152 152 @if [ -f $(CLOSED)/uts/intel/$@/Makefile ]; then \
153 153 cd $(CLOSED)/uts/intel/$@; pwd; \
154 154 $(MAKE) $(NO_STATE) $(TARGET); \
155 155 else \
156 156 true; \
157 157 fi
158 158
159 159 install_h check: FRC
160 160 @cd sys; pwd; $(MAKE) $(TARGET)
161 161 @cd asm; pwd; $(MAKE) $(TARGET)
162 162 @cd ia32/sys; pwd; $(MAKE) $(TARGET)
163 163 @cd amd64/sys; pwd; $(MAKE) $(TARGET)
164 164
165 165 #
166 166 # Work-around to disable acpica global crosscheck lint warnings
167 167 #
168 168 LGREP.intel = grep -v 'intel/io/acpica'
169 169
170 170 #
171 171 # Full kernel lint target.
172 172 #
173 173 LINT_TARGET = globallint
174 174
175 175 # workaround for multiply defined errors
176 176 globallint := LINTFLAGS += -erroff=E_NAME_MULTIPLY_DEF2
177 177
178 178 globallint:
179 179 @pwd
180 180 @-$(ECHO) "\nFULL KERNEL: global crosschecks:"
181 181 @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.intel) | $(LGREP.2)
182 182
183 183 lint: modlintlib .WAIT $(LINT_DEPS)
184 184
185 185 # EXPORT DELETE START
186 186
187 187 EXPORT_SRC:
188 188 $(RM) Makefile+
189 189 sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
190 190 < Makefile > Makefile+
191 191 $(MV) Makefile+ Makefile
192 192 $(CHMOD) 444 Makefile
193 193
194 194 # EXPORT DELETE END
195 195
196 196 include ../Makefile.targ
↓ open down ↓ |
93 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX