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