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