60 #
61 # Directories that can be built in parallel
62 #
63 PARALLEL_DIRS = uts lib man
64
65 # The check target also causes smf(5) service manifests to be validated.
66 CHKMFSTSUBDIRS= cmd
67
68 MSGSUBDIRS= cmd ucbcmd lib
69 DOMAINS= \
70 SUNW_OST_ADMIN \
71 SUNW_OST_NETRPC \
72 SUNW_OST_OSCMD \
73 SUNW_OST_OSLIB \
74 SUNW_OST_UCBCMD \
75 SUNW_OST_ZONEINFO
76
77 MSGDDIRS= $(DOMAINS:%=$(MSGROOT)/%)
78 MSGDIRS= $(MSGROOT) $(MSGDDIRS) $(MSGROOT)/LC_TIME
79
80 all all_xmod := TARGET= all
81 install install_xmod := TARGET= install
82 install1 := TARGET= install
83 install2 := TARGET= install
84 install_h := TARGET= install_h
85 clean := TARGET= clean
86 clobber := TARGET= clobber
87 check := TARGET= check
88
89 .KEEP_STATE:
90
91 #
92 # Note: install does not cause a build in pkg. To build packages,
93 # cd pkg and do a 'make install'
94 #
95
96 all: mapfiles closedbins sgs .WAIT $(SUBDIRS) pkg
97
98 #
99 # The _msg build is a two-step process. First, the _msg dependency
100 # causes recursive makes in $(MSGSUBDIRS), which stages raw message
101 # files in $(ROOT)/catalog. Second, the action from the install
185 $(MAKE) -f Makefile.lint
186
187 _msgdirs: $(MSGDIRS)
188
189 $(ROOTDIRS) $(MSGDIRS):
190 $(INS.dir)
191
192 userheaders: FRC
193 @cd head; pwd; $(MAKE) install_h
194
195 libheaders: bldtools
196 @cd lib; pwd; $(MAKE) install_h
197
198 sysheaders: FRC
199 @cd uts; pwd; $(MAKE) install_h
200
201 cmdheaders: FRC
202 @cd cmd/fm; pwd; $(MAKE) install_h
203 @cd cmd/mdb; pwd; $(MAKE) install_h
204
205 # each xmod target depends on a corresponding MACH-specific pseudotarget
206 # before doing common xmod work
207 #
208 all_xmod install_xmod: $$@_$(MACH)
209 @cd uts/common/sys; pwd; $(MAKE) svvs_h
210
211 all_xmod_sparc install_xmod_sparc: FRC
212 @cd uts/sparc; pwd; \
213 $(MAKE) TARGET=$(TARGET) svvs pm wsdrv
214
215 all_xmod_i386 install_xmod_i386: FRC
216 @cd uts/i86; pwd; $(MAKE) TARGET=$(TARGET) svvs
217
218 check: $(CHKHDRSUBDIRS) $(CHKMFSTSUBDIRS)
219
220 #
221 # Cross-reference customization: skip all of the subdirectories that
222 # don't contain actual source code.
223 #
224 $(CLOSED_BUILD)XRDIRS += ../closed
225 XRPRUNE = pkg prototypes xmod
226 XRINCDIRS = uts/common head ucbhead
227 $(CLOSED_BUILD)XRINCDIRS = uts/common ../closed/uts/common head ucbhead
228
229 cscope.out tags: FRC
230 $(XREF) -f -x $@
231
232 FRC:
233
234 # EXPORT DELETE START
235
236 XMOD_DELETE_FILES:sh = cat xmod/xmod_files
237
238 EXPORT_SRC:
239 @cd $(CLOSED)/cmd/cmd-inet/usr.lib/in.iked; pwd; $(MAKE) EXPORT_SRC
240 @cd $(CLOSED)/cmd/cmd-inet/usr.lib/ike-certutils; pwd; \
241 $(MAKE) EXPORT_SRC
242 @cd cmd/cmd-inet/usr.sbin; pwd; $(MAKE) EXPORT_SRC
243 @cd $(CLOSED)/cmd/cmd-crypto/etc; pwd; $(MAKE) EXPORT_SRC
244 @cd cmd/crypt; pwd; $(MAKE) EXPORT_SRC
245 @cd cmd/gss/gssd; pwd; $(MAKE) EXPORT_SRC
246 @cd cmd/krb5/kadmin; pwd; $(MAKE) EXPORT_SRC
247 @cd cmd/sendmail/src; pwd; $(MAKE) EXPORT_SRC
248 @cd common/crypto/aes; pwd; $(MAKE) EXPORT_SRC
249 @cd common/crypto/arcfour; pwd; $(MAKE) EXPORT_SRC
250 @cd common/crypto/blowfish; pwd; $(MAKE) EXPORT_SRC
251 @cd common/crypto/des; pwd; $(MAKE) EXPORT_SRC
252 @cd common/crypto/rsa; pwd; $(MAKE) EXPORT_SRC
253 @cd lib/crypt_modules/bsdbf; pwd ; $(MAKE) EXPORT_SRC
254 @cd lib/gss_mechs/mech_dummy; pwd; $(MAKE) EXPORT_SRC
255 @cd lib/gss_mechs/mech_dh/backend; pwd; $(MAKE) EXPORT_SRC
256 @cd lib/gss_mechs/mech_krb5; pwd; $(MAKE) EXPORT_SRC
257 @cd lib/gss_mechs/mech_spnego; pwd; $(MAKE) EXPORT_SRC
258 @cd lib/libcrypt; pwd; $(MAKE) EXPORT_SRC
259 @cd lib/libgss; pwd; $(MAKE) EXPORT_SRC
260 @cd $(CLOSED)/lib/libike; pwd; $(MAKE) EXPORT_SRC
261 @cd lib/libnsl; pwd; $(MAKE) EXPORT_SRC
262 @cd lib/pkcs11/pkcs11_softtoken/common; pwd; $(MAKE) EXPORT_SRC
263 @cd lib/libsldap; pwd; $(MAKE) EXPORT_SRC
264 @cd lib/libsasl; pwd; $(MAKE) EXPORT_SRC
265 @cd lib/sasl_plugins; pwd; $(MAKE) EXPORT_SRC
266 @cd lib/pam_modules/krb5; pwd; $(MAKE) EXPORT_SRC
267 @cd psm/stand/boot; pwd; $(MAKE) EXPORT_SRC
268 @cd uts/common/crypto/io; pwd; $(MAKE) EXPORT_SRC
269 @cd uts/common/des; pwd; $(MAKE) EXPORT_SRC
270 @cd uts/common/rpc; pwd; $(MAKE) EXPORT_SRC
271 @cd uts/common/sys; pwd; $(MAKE) EXPORT_SRC
272 @cd uts/common/gssapi/include; pwd; $(MAKE) EXPORT_SRC
273 @cd uts/common/gssapi; pwd; $(MAKE) EXPORT_SRC
274 @cd uts/common/gssapi/mechs/dummy; pwd; $(MAKE) EXPORT_SRC
275 @cd uts/common/gssapi/mechs/krb5; pwd; $(MAKE) EXPORT_SRC
276 @cd uts/common; pwd; $(MAKE) EXPORT_SRC
277 @cd uts/sparc; pwd; $(MAKE) EXPORT_SRC
278 @cd $(CLOSED)/uts/sun4u/forthdebug; pwd; $(MAKE) EXPORT_SRC
279 @cd $(CLOSED)/uts/sun4v/forthdebug; pwd; $(MAKE) EXPORT_SRC
280 @cd uts/intel; pwd; $(MAKE) EXPORT_SRC
281 @cd uts/sun4u; pwd; $(MAKE) EXPORT_SRC
282 @cd $(CLOSED)/uts/sun4v/io/ncp; pwd; $(MAKE) EXPORT_SRC
283 @cd $(CLOSED)/uts/sun4v/io/n2cp; pwd; $(MAKE) EXPORT_SRC
284 @cd pkg; pwd; $(MAKE) EXPORT_SRC
285 $(RM) -r $(XMOD_DELETE_FILES)
286 $(RM) Targetdirs+
287 sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
288 < Targetdirs > Targetdirs+
289 $(MV) Targetdirs+ Targetdirs
290 $(CHMOD) 444 Targetdirs
291 $(RM) Makefile+
292 sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
293 < Makefile > Makefile+
294 $(MV) Makefile+ Makefile
295 $(CHMOD) 444 Makefile
296 $(RM) Makefile.master+
297 sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
298 < Makefile.master > Makefile.master+
299 $(MV) Makefile.master+ Makefile.master
300 $(CHMOD) 444 Makefile.master
301
302 CRYPT_SRC:
303 @cd $(CLOSED)/cmd/cmd-crypto/etc; pwd; $(MAKE) CRYPT_SRC
304 @cd $(CLOSED)/cmd/cmd-inet/usr.lib/in.iked; pwd; $(MAKE) CRYPT_SRC
305 @cd $(CLOSED)/cmd/cmd-inet/usr.lib/ike-certutils; pwd; \
306 $(MAKE) CRYPT_SRC
307 @cd lib/crypt_modules/bsdbf; pwd ; $(MAKE) CRYPT_SRC
308 @cd lib/gss_mechs/mech_dummy; pwd; $(MAKE) CRYPT_SRC
309 @cd lib/gss_mechs/mech_dh/backend; pwd; $(MAKE) CRYPT_SRC
310 @cd lib/gss_mechs/mech_krb5; pwd; $(MAKE) CRYPT_SRC
311 @cd lib/gss_mechs/mech_spnego; pwd; $(MAKE) CRYPT_SRC
312 @cd $(CLOSED)/lib/libike; pwd; $(MAKE) CRYPT_SRC
313 @cd lib/libnsl; pwd; $(MAKE) CRYPT_SRC
314 @cd lib/libsasl; pwd; $(MAKE) CRYPT_SRC
315 @cd lib/sasl_plugins; pwd; $(MAKE) CRYPT_SRC
316 @cd lib/pam_modules/krb5; pwd; $(MAKE) CRYPT_SRC
317 @cd uts/common/gssapi; pwd; $(MAKE) CRYPT_SRC
318 @cd uts/common/gssapi/include; pwd; $(MAKE) CRYPT_SRC
319 @cd uts/common/gssapi/mechs/dummy; pwd; $(MAKE) CRYPT_SRC
320 @cd uts/common/gssapi/mechs/krb5; pwd; $(MAKE) CRYPT_SRC
321 $(RM) Makefile+
322 sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
323 < Makefile > Makefile+
324 $(MV) Makefile+ Makefile
325 $(CHMOD) 444 Makefile
326 $(RM) Makefile.master+
327 sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
328 < Makefile.master > Makefile.master+
329 $(MV) Makefile.master+ Makefile.master
330 $(CHMOD) 444 Makefile.master
331
332 # EXPORT DELETE END
333
334 ONC_PLUS:
335 @cd cmd/login; pwd; $(MAKE) ONC_PLUS
336 @cd uts; pwd; $(MAKE) ONC_PLUS
337
338 #
339 # Targets for reporting compiler versions; nightly uses these.
340 #
341
342 cc-version:
343 @if $($(MACH)_CC) -_versions >/dev/null 2>/dev/null; then \
344 $(ECHO) 32-bit compiler; \
345 $(ECHO) $($(MACH)_CC); \
346 $($(MACH)_CC) -_versions 2>&1 | \
347 $(EGREP) '^(cw|cc|gcc|primary|shadow)'; \
348 else \
349 __COMPILER=`$($(MACH)_CC) -_compiler 2>/dev/null || $(TRUE)`;\
350 if [ -z "$$__COMPILER" ]; then \
351 $(ECHO) No 32-bit compiler found; \
352 exit 1; \
353 else \
354 $(ECHO) 32-bit compiler; \
355 $(ECHO) $($(MACH)_CC); \
356 $(ECHO) $$__COMPILER; \
357 $($(MACH)_CC) -V 2>&1 | head -1; \
|
60 #
61 # Directories that can be built in parallel
62 #
63 PARALLEL_DIRS = uts lib man
64
65 # The check target also causes smf(5) service manifests to be validated.
66 CHKMFSTSUBDIRS= cmd
67
68 MSGSUBDIRS= cmd ucbcmd lib
69 DOMAINS= \
70 SUNW_OST_ADMIN \
71 SUNW_OST_NETRPC \
72 SUNW_OST_OSCMD \
73 SUNW_OST_OSLIB \
74 SUNW_OST_UCBCMD \
75 SUNW_OST_ZONEINFO
76
77 MSGDDIRS= $(DOMAINS:%=$(MSGROOT)/%)
78 MSGDIRS= $(MSGROOT) $(MSGDDIRS) $(MSGROOT)/LC_TIME
79
80 all := TARGET= all
81 install := TARGET= install
82 install1 := TARGET= install
83 install2 := TARGET= install
84 install_h := TARGET= install_h
85 clean := TARGET= clean
86 clobber := TARGET= clobber
87 check := TARGET= check
88
89 .KEEP_STATE:
90
91 #
92 # Note: install does not cause a build in pkg. To build packages,
93 # cd pkg and do a 'make install'
94 #
95
96 all: mapfiles closedbins sgs .WAIT $(SUBDIRS) pkg
97
98 #
99 # The _msg build is a two-step process. First, the _msg dependency
100 # causes recursive makes in $(MSGSUBDIRS), which stages raw message
101 # files in $(ROOT)/catalog. Second, the action from the install
185 $(MAKE) -f Makefile.lint
186
187 _msgdirs: $(MSGDIRS)
188
189 $(ROOTDIRS) $(MSGDIRS):
190 $(INS.dir)
191
192 userheaders: FRC
193 @cd head; pwd; $(MAKE) install_h
194
195 libheaders: bldtools
196 @cd lib; pwd; $(MAKE) install_h
197
198 sysheaders: FRC
199 @cd uts; pwd; $(MAKE) install_h
200
201 cmdheaders: FRC
202 @cd cmd/fm; pwd; $(MAKE) install_h
203 @cd cmd/mdb; pwd; $(MAKE) install_h
204
205 check: $(CHKHDRSUBDIRS) $(CHKMFSTSUBDIRS)
206
207 #
208 # Cross-reference customization: skip all of the subdirectories that
209 # don't contain actual source code.
210 #
211 $(CLOSED_BUILD)XRDIRS += ../closed
212 XRPRUNE = pkg prototypes
213 XRINCDIRS = uts/common head ucbhead
214 $(CLOSED_BUILD)XRINCDIRS = uts/common ../closed/uts/common head ucbhead
215
216 cscope.out tags: FRC
217 $(XREF) -f -x $@
218
219 FRC:
220
221 #
222 # Targets for reporting compiler versions; nightly uses these.
223 #
224
225 cc-version:
226 @if $($(MACH)_CC) -_versions >/dev/null 2>/dev/null; then \
227 $(ECHO) 32-bit compiler; \
228 $(ECHO) $($(MACH)_CC); \
229 $($(MACH)_CC) -_versions 2>&1 | \
230 $(EGREP) '^(cw|cc|gcc|primary|shadow)'; \
231 else \
232 __COMPILER=`$($(MACH)_CC) -_compiler 2>/dev/null || $(TRUE)`;\
233 if [ -z "$$__COMPILER" ]; then \
234 $(ECHO) No 32-bit compiler found; \
235 exit 1; \
236 else \
237 $(ECHO) 32-bit compiler; \
238 $(ECHO) $($(MACH)_CC); \
239 $(ECHO) $$__COMPILER; \
240 $($(MACH)_CC) -V 2>&1 | head -1; \
|