29 UTSBASE = ..
30
31 include Makefile.sun4u
32
33 #
34 # The following are SPARC specific (rather than sun4u) specific modules
35 # which are required for the sun4u kernel to completely lint. They are
36 # not involved in the build in any other way. In order to minimize
37 # build time, it is assumed that they are up to date. But since sun4u
38 # is really a separate architecture we cannot use the v7 sparc modules.
39 #
40 SPARC_LIB_DIR = $(UTSBASE)/sparc/lint-libs/$(OBJS_DIR)
41
42 SPARC_LINTS =
43
44 #
45 #
46 #
47 LINT_LIBS = $(LINT_LIB) \
48 $(LINT_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
49 $(CLOSED_LINT_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
50 $(SPARC_LINTS:%=$(SPARC_LIB_DIR)/llib-l%.ln)
51
52
53 def := TARGET= def
54 def.prereq := TARGET= def
55 all := TARGET= all
56 all.prereq := TARGET= all
57 install := TARGET= install
58 install.prereq := TARGET= all
59 install_h := TARGET= install_h
60 install_h.prere := TARGET= install_h
61 clean := TARGET= clean
62 clobber := TARGET= clobber
63 lint := TARGET= lint
64 lint.prereq := TARGET= lint
65 lintlib := TARGET= lintlib
66 modlintlib := TARGET= modlintlib
67 modlist := TARGET= modlist
68 modlist modlist.sparc := NO_STATE= -K $$MODSTATE$$$$
69 clean.lint := TARGET= clean.lint
70 check := TARGET= check
71
72 .KEEP_STATE:
73
74 .PARALLEL: $(PARALLEL_KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) \
75 $(IMPLEMENTATIONS) $(CLOSED_IMPLEMENTATIONS) \
76 modlist modlist.sparc
77
78 # Override for CPU_KMODS... they cannot be built
79 # in parallel
80 .NO_PARALLEL: $(CPU_KMODS)
81
82 def all clean clobber clean.lint: genassym unix .WAIT \
83 $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) \
84 $(IMPLEMENTATIONS) $(CLOSED_IMPLEMENTATIONS)
85
86 # list the modules under sun4u.
87 modlist: unix $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) \
88 $(IMPLEMENTATIONS:.WAIT=) $(CLOSED_IMPLEMENTATIONS)
89
90 # list the modules for Install -k sun4u.
91 modlist.karch: modlist modlist.sparc
92
93 modlist.sparc:
94 @cd $(SRC)/uts/sparc; pwd; $(MAKE) $(NO_STATE) modlist
95
96 install: install_platforms genassym unix .WAIT $(KMODS) $(CLOSED_KMODS) \
97 $(XMODS) $(CLOSED_XMODS) $(IMPLEMENTATIONS) $(CLOSED_IMPLEMENTATIONS)
98
99 lintlib: unix
100
101 modlintlib: $(LINT_KMODS) $(CLOSED_LINT_KMODS)
102
103 genassym unix $(KMODS): FRC
104 @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
105
106 #
107 # Privilege constants
108 #
109 # NOTE: The rules for generating priv_const.c file are shared between all
110 # processor architectures and should be kept in sync. If they are changed in
111 # this file make sure that x86 rules are updated as well.
112 #
113 PRIVS_C = $(UTSBASE)/common/os/priv_const.c
114
115 $(PRIVS_C): $(PRIVS_AWK) $(PRIVS_DEF)
116 $(NAWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) cfile=$@
117
118
119 #
120 # Prerequisites
121 #
175
176 #
177 # Platform inter-dependencies
178 #
179 lw8: serengeti
180
181 quasar: darwin
182
183 #
184 # The genunix requires priv_const.c file to be generated first.
185 #
186 genunix: $(PRIVS_C)
187
188 #
189 # Rules
190 #
191
192 $(IMPLEMENTATIONS): FRC
193 @cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET)
194
195 $(CLOSED_IMPLEMENTATIONS): FRC
196 cd $(CLOSED)/uts/sun4u/$@; pwd; \
197 THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET); \
198
199 $(XMODS): FRC
200 @if [ -f $@/Makefile ]; then \
201 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
202 else \
203 true; \
204 fi
205
206 $(CLOSED_XMODS): FRC
207 @if [ -f $(CLOSED)/uts/sun4u/$@/Makefile ]; then \
208 cd $(CLOSED)/uts/sun4u/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
209 else \
210 true; \
211 fi
212
213 $(CLOSED_KMODS): FRC
214 cd $(CLOSED)/uts/sun4u/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
215
216 install_h check: install_platforms $(IMPLEMENTATIONS) \
217 $(CLOSED_IMPLEMENTATIONS) FRC
218 @cd sys; pwd; $(MAKE) $(TARGET)
219 @cd vm; pwd; $(MAKE) $(TARGET)
220
221 #
222 # Rules for the /platforms directories. This is hardwired here because
223 # the first stage of the project (KBI) only implements the userland
224 # changes, but the only reasonable place to record the aliases is
225 # here in kernel land.
226 #
227 $(ROOT_PLAT_DIRS): $(ROOT_PLAT_DIR)
228 -$(INS.dir)
229
230 #
231 # create directories in /usr/platform/ for the implementations that are
232 # defined in $(IMPLEMENTED_PLATFORM)
233 # (eg. SUNW,Ultra-1)
234 #
235 # Foreach $(IMPLEMENTED_PLATFORM) there can be a list of $(LINKED_PLATFORMS)
236 # that are linked to it.
237 #
267 $(USR_DESKTOP_INC_DIR): $(USR_DESKTOP_DIR)
268 $(INS.slink4)
269
270 $(USR_DESKTOP_SBIN_DIR): $(USR_DESKTOP_DIR)
271 $(INS.slink5)
272
273 $(USR_DESKTOP_LIB_DIR): $(USR_DESKTOP_DIR)
274 -$(INS.dir)
275
276 #
277 # Full kernel lint target.
278 #
279 LINT_TARGET = globallint
280
281 globallint:
282 @pwd
283 @-$(ECHO) "\nSUN4U KERNEL: global crosschecks:"
284 @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
285
286 lint: lintlib .WAIT modlintlib .WAIT $(SPARC_LINTS) $(LINT_DEPS) \
287 $(IMPLEMENTATIONS) $(CLOSED_IMPLEMENTATIONS) $(CPU_KMODS)
288
289 include ../Makefile.targ
290
291 #
292 # Cross-reference customization: build a cross-reference over all of the
293 # sun4u-related directories.
294 #
295 SHARED_XRDIRS = ../sun4u ../sun4 ../sfmmu ../sparc ../sun ../common
296 CLOSED_XRDIRS = $(SHARED_XRDIRS:../%=../% ../../../closed/uts/%)
297 XRDIRS = $(SHARED_XRDIRS)
298 $(CLOSED_BUILD)XRDIRS = $(CLOSED_XRDIRS:../../../closed/uts/sfmmu=)
299
300 XRPRUNE = i86pc
301
302 cscope.out tags: FRC
303 $(XREF) -x $@
|
29 UTSBASE = ..
30
31 include Makefile.sun4u
32
33 #
34 # The following are SPARC specific (rather than sun4u) specific modules
35 # which are required for the sun4u kernel to completely lint. They are
36 # not involved in the build in any other way. In order to minimize
37 # build time, it is assumed that they are up to date. But since sun4u
38 # is really a separate architecture we cannot use the v7 sparc modules.
39 #
40 SPARC_LIB_DIR = $(UTSBASE)/sparc/lint-libs/$(OBJS_DIR)
41
42 SPARC_LINTS =
43
44 #
45 #
46 #
47 LINT_LIBS = $(LINT_LIB) \
48 $(LINT_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
49 $(SPARC_LINTS:%=$(SPARC_LIB_DIR)/llib-l%.ln)
50
51
52 def := TARGET= def
53 def.prereq := TARGET= def
54 all := TARGET= all
55 all.prereq := TARGET= all
56 install := TARGET= install
57 install.prereq := TARGET= all
58 install_h := TARGET= install_h
59 install_h.prere := TARGET= install_h
60 clean := TARGET= clean
61 clobber := TARGET= clobber
62 lint := TARGET= lint
63 lint.prereq := TARGET= lint
64 lintlib := TARGET= lintlib
65 modlintlib := TARGET= modlintlib
66 modlist := TARGET= modlist
67 modlist modlist.sparc := NO_STATE= -K $$MODSTATE$$$$
68 clean.lint := TARGET= clean.lint
69 check := TARGET= check
70
71 .KEEP_STATE:
72
73 .PARALLEL: $(PARALLEL_KMODS) $(XMODS) \
74 $(IMPLEMENTATIONS) \
75 modlist modlist.sparc
76
77 # Override for CPU_KMODS... they cannot be built
78 # in parallel
79 .NO_PARALLEL: $(CPU_KMODS)
80
81 def all clean clobber clean.lint: genassym unix .WAIT \
82 $(KMODS) $(XMODS) \
83 $(IMPLEMENTATIONS)
84
85 # list the modules under sun4u.
86 modlist: unix $(KMODS) $(XMODS) \
87 $(IMPLEMENTATIONS:.WAIT=)
88
89 # list the modules for Install -k sun4u.
90 modlist.karch: modlist modlist.sparc
91
92 modlist.sparc:
93 @cd $(SRC)/uts/sparc; pwd; $(MAKE) $(NO_STATE) modlist
94
95 install: install_platforms genassym unix .WAIT $(KMODS) \
96 $(XMODS) $(IMPLEMENTATIONS)
97
98 lintlib: unix
99
100 modlintlib: $(LINT_KMODS)
101
102 genassym unix $(KMODS): FRC
103 @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
104
105 #
106 # Privilege constants
107 #
108 # NOTE: The rules for generating priv_const.c file are shared between all
109 # processor architectures and should be kept in sync. If they are changed in
110 # this file make sure that x86 rules are updated as well.
111 #
112 PRIVS_C = $(UTSBASE)/common/os/priv_const.c
113
114 $(PRIVS_C): $(PRIVS_AWK) $(PRIVS_DEF)
115 $(NAWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) cfile=$@
116
117
118 #
119 # Prerequisites
120 #
174
175 #
176 # Platform inter-dependencies
177 #
178 lw8: serengeti
179
180 quasar: darwin
181
182 #
183 # The genunix requires priv_const.c file to be generated first.
184 #
185 genunix: $(PRIVS_C)
186
187 #
188 # Rules
189 #
190
191 $(IMPLEMENTATIONS): FRC
192 @cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET)
193
194 $(XMODS): FRC
195 @if [ -f $@/Makefile ]; then \
196 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
197 else \
198 true; \
199 fi
200
201 install_h check: install_platforms $(IMPLEMENTATIONS) \
202 @cd sys; pwd; $(MAKE) $(TARGET)
203 @cd vm; pwd; $(MAKE) $(TARGET)
204
205 #
206 # Rules for the /platforms directories. This is hardwired here because
207 # the first stage of the project (KBI) only implements the userland
208 # changes, but the only reasonable place to record the aliases is
209 # here in kernel land.
210 #
211 $(ROOT_PLAT_DIRS): $(ROOT_PLAT_DIR)
212 -$(INS.dir)
213
214 #
215 # create directories in /usr/platform/ for the implementations that are
216 # defined in $(IMPLEMENTED_PLATFORM)
217 # (eg. SUNW,Ultra-1)
218 #
219 # Foreach $(IMPLEMENTED_PLATFORM) there can be a list of $(LINKED_PLATFORMS)
220 # that are linked to it.
221 #
251 $(USR_DESKTOP_INC_DIR): $(USR_DESKTOP_DIR)
252 $(INS.slink4)
253
254 $(USR_DESKTOP_SBIN_DIR): $(USR_DESKTOP_DIR)
255 $(INS.slink5)
256
257 $(USR_DESKTOP_LIB_DIR): $(USR_DESKTOP_DIR)
258 -$(INS.dir)
259
260 #
261 # Full kernel lint target.
262 #
263 LINT_TARGET = globallint
264
265 globallint:
266 @pwd
267 @-$(ECHO) "\nSUN4U KERNEL: global crosschecks:"
268 @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
269
270 lint: lintlib .WAIT modlintlib .WAIT $(SPARC_LINTS) $(LINT_DEPS) \
271 $(IMPLEMENTATIONS) $(CPU_KMODS)
272
273 include ../Makefile.targ
274
275 #
276 # Cross-reference customization: build a cross-reference over all of the
277 # sun4u-related directories.
278 #
279 XRDIRS = ../sun4u ../sun4 ../sfmmu ../sparc ../sun ../common
280 XRPRUNE = i86pc
281
282 cscope.out tags: FRC
283 $(XREF) -x $@
|