28 # dependent modules for the i86xpv architecture.
29 #
30
31 UTSBASE = ..
32
33 include Makefile.i86xpv
34
35 #
36 # The following are x86 specific (rather than i86pc) specific modules
37 # which are required for the i86pc kernel to completely lint. They are
38 # not involved in the build in any other way. In order to minimize
39 # build time, it is assumed that they are up to date.
40 #
41 INTEL_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)
42
43 INTEL_LINTS = genunix
44
45 LINT_LIBS = \
46 $(GENUNIX_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
47 $(PARALLEL_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
48 $(CLOSED_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
49 $(INTEL_LINTS:%=$(INTEL_LIB_DIR)/llib-l%.ln)
50
51 I86XPV_LINTS = xdb xnb xnbe xnbo xnbu xpvtap
52
53 #
54 #
55 #
56 def := TARGET= def
57 all := TARGET= all
58 install := TARGET= install
59 clean := TARGET= clean
60 clobber := TARGET= clobber
61 lint := TARGET= lint
62 lintlib := TARGET= lintlib
63 machmodlintlib := TARGET= modlintlib
64 modlist := TARGET= modlist
65 modlist modlist.intel := NO_STATE= -K $$MODSTATE$$$$
66 clean.lint := TARGET= clean.lint
67 check := TARGET= check
68
69 .KEEP_STATE:
70
71 .PARALLEL: $(PARALLEL_KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) \
72 modlist modlist.intel
73
74 INITIAL_TARGETS = \
75 genassym \
76 unix \
77 cpu/scripts
78
79 def all clean clobber clean.lint: setup genassym unix .WAIT \
80 $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS)
81
82 install: install_platforms setup genassym unix .WAIT \
83 $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS)
84
85 # Need to clean in here too because of lint.
86 clean: $(I86XPV_LINTS)
87
88 # list the modules under i86xpv.
89 modlist: unix $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS)
90
91 # list the modules for Install -k i86xpv.
92 modlist.karch: modlist modlist.intel
93
94 modlist.intel:
95 @cd $(SRC)/uts/intel; pwd; $(MAKE) $(NO_STATE) modlist
96
97 lintlib: unix
98
99 modlintlib: $(KMODS) $(CLOSED_KMODS)
100
101 genassym unix $(KMODS): FRC
102 @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
103
104 setup: FRC
105 @cd cpu/scripts; pwd; $(MAKE) $(TARGET)
106
107 $(XMODS): FRC
108 @if [ -f $@/Makefile ]; then \
109 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
110 else \
111 true; \
112 fi
113
114 $(CLOSED_KMODS): FRC
115 cd $(CLOSED)/uts/i86xpv/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
116
117 $(CLOSED_XMODS): FRC
118 @if [ -f $(CLOSED)/uts/i86xpv/$@/Makefile ]; then \
119 cd $(CLOSED)/uts/i86xpv/$@; pwd; \
120 $(MAKE) $(NO_STATE) $(TARGET); \
121 else \
122 true; \
123 fi
124
125 install_h check: FRC
126 @cd sys; pwd; $(MAKE) $(TARGET)
127
128 #
129 # Definitions for the /platform directory aliases.
130 # Currently none for i86xpv.
131 #
132 PLAT_LINKS =
133
134 #
135 # Make the /platform directories. This is hardwired here because
136 # the first stage of the project (KBI) only implements the userland
137 # changes, but the only reasonable place to record the aliases is
138 # here in kernel land.
139 #
140 install_platforms: $(ROOT_PSM_DIR) $(USR_PSM_DIR) \
141 $(ROOT_PLAT_LINKS) $(USR_PLAT_LINKS) \
142 $(OEM_USR_PLAT_LINKS)
143
144 #
149 # workaround for multiply defined errors
150 globallint := LINTFLAGS += -erroff=E_NAME_MULTIPLY_DEF2
151
152 globallint:
153 @-$(ECHO) "\nFULL KERNEL: global crosschecks:"
154 @-$(LINT) $(LINTFLAGS) $(LINT_LIB) $(LINT_LIBS) 2>&1 | $(LGREP.2)
155
156 lint: lintlib .WAIT modlintlib .WAIT $(INTEL_LINTS) $(LINT_DEPS)
157
158 $(INTEL_LINTS): FRC
159 @cd $(UTSBASE)/intel/$@; pwd; $(MAKE) modlintlib
160
161 FRC:
162
163 include ../Makefile.targ
164
165 #
166 # Cross-reference customization: build a cross-reference over all of the
167 # i86pc-related directories.
168 #
169 SHARED_XRDIRS = ../i86xpv ../i86pc ../intel ../common
170 XRDIRS = $(SHARED_XRDIRS)
171 CLOSED_XRDIRS1 = $(SHARED_XRDIRS:../%=../% ../../../closed/uts/%)
172 CLOSED_XRDIRS2 = $(CLOSED_XRDIRS1:../../../closed/uts/i86pc=)
173 $(CLOSED_BUILD)XRDIRS = $(CLOSED_XRDIRS2:../../../closed/uts/i86xpv=)
174 XRPRUNE = sun4v sun4u sun4 sfmmu sparc
175
176 cscope.out tags: FRC
177 $(XREF) -x $@
|
28 # dependent modules for the i86xpv architecture.
29 #
30
31 UTSBASE = ..
32
33 include Makefile.i86xpv
34
35 #
36 # The following are x86 specific (rather than i86pc) specific modules
37 # which are required for the i86pc kernel to completely lint. They are
38 # not involved in the build in any other way. In order to minimize
39 # build time, it is assumed that they are up to date.
40 #
41 INTEL_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)
42
43 INTEL_LINTS = genunix
44
45 LINT_LIBS = \
46 $(GENUNIX_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
47 $(PARALLEL_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
48 $(INTEL_LINTS:%=$(INTEL_LIB_DIR)/llib-l%.ln)
49
50 I86XPV_LINTS = xdb xnb xnbe xnbo xnbu xpvtap
51
52 #
53 #
54 #
55 def := TARGET= def
56 all := TARGET= all
57 install := TARGET= install
58 clean := TARGET= clean
59 clobber := TARGET= clobber
60 lint := TARGET= lint
61 lintlib := TARGET= lintlib
62 machmodlintlib := TARGET= modlintlib
63 modlist := TARGET= modlist
64 modlist modlist.intel := NO_STATE= -K $$MODSTATE$$$$
65 clean.lint := TARGET= clean.lint
66 check := TARGET= check
67
68 .KEEP_STATE:
69
70 .PARALLEL: $(PARALLEL_KMODS) $(XMODS) modlist modlist.intel
71
72 INITIAL_TARGETS = \
73 genassym \
74 unix \
75 cpu/scripts
76
77 def all clean clobber clean.lint: setup genassym unix .WAIT \
78 $(KMODS) $(XMODS)
79
80 install: install_platforms setup genassym unix .WAIT \
81 $(KMODS) $(XMODS)
82
83 # Need to clean in here too because of lint.
84 clean: $(I86XPV_LINTS)
85
86 # list the modules under i86xpv.
87 modlist: unix $(KMODS) $(XMODS)
88
89 # list the modules for Install -k i86xpv.
90 modlist.karch: modlist modlist.intel
91
92 modlist.intel:
93 @cd $(SRC)/uts/intel; pwd; $(MAKE) $(NO_STATE) modlist
94
95 lintlib: unix
96
97 modlintlib: $(KMODS)
98
99 genassym unix $(KMODS): FRC
100 @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
101
102 setup: FRC
103 @cd cpu/scripts; pwd; $(MAKE) $(TARGET)
104
105 $(XMODS): FRC
106 @if [ -f $@/Makefile ]; then \
107 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
108 else \
109 true; \
110 fi
111
112 install_h check: FRC
113 @cd sys; pwd; $(MAKE) $(TARGET)
114
115 #
116 # Definitions for the /platform directory aliases.
117 # Currently none for i86xpv.
118 #
119 PLAT_LINKS =
120
121 #
122 # Make the /platform directories. This is hardwired here because
123 # the first stage of the project (KBI) only implements the userland
124 # changes, but the only reasonable place to record the aliases is
125 # here in kernel land.
126 #
127 install_platforms: $(ROOT_PSM_DIR) $(USR_PSM_DIR) \
128 $(ROOT_PLAT_LINKS) $(USR_PLAT_LINKS) \
129 $(OEM_USR_PLAT_LINKS)
130
131 #
136 # workaround for multiply defined errors
137 globallint := LINTFLAGS += -erroff=E_NAME_MULTIPLY_DEF2
138
139 globallint:
140 @-$(ECHO) "\nFULL KERNEL: global crosschecks:"
141 @-$(LINT) $(LINTFLAGS) $(LINT_LIB) $(LINT_LIBS) 2>&1 | $(LGREP.2)
142
143 lint: lintlib .WAIT modlintlib .WAIT $(INTEL_LINTS) $(LINT_DEPS)
144
145 $(INTEL_LINTS): FRC
146 @cd $(UTSBASE)/intel/$@; pwd; $(MAKE) modlintlib
147
148 FRC:
149
150 include ../Makefile.targ
151
152 #
153 # Cross-reference customization: build a cross-reference over all of the
154 # i86pc-related directories.
155 #
156 XRDIRS = ../i86xpv ../i86pc ../intel ../common
157 XRPRUNE = sun4v sun4u sun4 sfmmu sparc
158
159 cscope.out tags: FRC
160 $(XREF) -x $@
|