Print this page
6856712 RFE to include yaz development toolkit into SFW consolidation
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/Makefile.master
+++ new/usr/src/Makefile.master
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
|
↓ open down ↓ |
13 lines elided |
↑ open up ↑ |
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 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
22 22 # Use is subject to license terms.
23 23 #
24 -#ident "@(#)Makefile.master 1.41 09/05/14 SMI"
24 +#ident "@(#)Makefile.master 1.42 09/07/17 SMI"
25 25 #
26 26 # Makefile.master, global definitions for system source
27 27 #
28 28 ROOT= /proto
29 29
30 30 # RELEASE_BUILD should be cleared for final release builds. This is completely
31 31 # independent of CH. NOT_RELEASE_BUILD is exactly what the name implies.
32 32 #
33 33 # INTERNAL_RELEASE_BUILD is a subset of RELEASE_BUILD. It mostly controls
34 34 # identification strings. Enabling RELEASE_BUILD automatically enables
35 35 # INTERNAL_RELEASE_BUILD.
36 36 #
37 37 # STRIP_COMMENTS toggles comment section striping. Generally the same setting
38 38 # as INTERNAL_RELEASE_BUILD.
39 39 #
40 40 # STRIPFLAG is similar. It is set to a unique value depending upon the
41 41 # value of CH. It is set here for use in lower level Makefiles to allow
42 42 # a single point change to effect the entire build.
43 43 #
44 44 POUND_SIGN:sh= echo \\043
45 45
46 46 NOT_RELEASE_BUILD=
47 47 INTERNAL_RELEASE_BUILD:sh= echo \\043
48 48 RELEASE_BUILD:sh= echo \\043
49 49 $(RELEASE_BUILD)NOT_RELEASE_BUILD:sh= echo \\043
50 50 $(RELEASE_BUILD)INTERNAL_RELEASE_BUILD=
51 51
52 52 # SPARC_BLD is '#' for an Intel build.
53 53 # INTEL_BLD is '#' for a Sparc build.
54 54 SPARC_BLD_1= $(MACH:i386=$(POUND_SIGN))
55 55 SPARC_BLD= $(SPARC_BLD_1:sparc=)
56 56 INTEL_BLD_1= $(MACH:sparc=$(POUND_SIGN))
57 57 INTEL_BLD= $(INTEL_BLD_1:i386=)
58 58
59 59 MACH_TYPE_i386 = pc
60 60 MACH_TYPE_sparc = sun
61 61 MACH_TYPE = $(MACH_TYPE_$(MACH))
62 62
63 63 STRIP_COMMENTS= $(INTERNAL_RELEASE_BUILD)
64 64
65 65 STRIPFLAG= -s
66 66
67 67 # BUILD_TOOLS is the root of all tools including compilers.
68 68 # ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld.
69 69
70 70 BUILD_TOOLS= /ws/onnv-tools
71 71 ONBLD_TOOLS= $(BUILD_TOOLS)/onbld
72 72
73 73 # at least one thing still can't be built with 1.6,
74 74 # so make 1.6 the default but overridable. However,
75 75 # if you're having trouble compiling with java 1.6 and
76 76 # have found java 1.5 here and want to use it, think
77 77 # again - that's the last resort, first look at java
78 78 # options like -source.
79 79 JAVA5_ROOT= /usr/jdk/instances/jdk1.5.0
80 80 JAVA6_ROOT= /usr/jdk/instances/jdk1.6.0
81 81 JAVA_ROOT= $(JAVA6_ROOT)
82 82
83 83 MAKEFILE= -f Makefile.sfw
84 84
85 85 SFW_STAMP_UNPACKED= .unpacked
86 86 SFW_STAMP_PATCHED= .patched
87 87 SFW_STAMP_PATCHES= .patches
88 88
89 89 # this can help catch problems if sh is ksh93
90 90 SHELL=/usr/bin/ksh93
91 91 GPATCH= /usr/bin/gpatch
92 92 GPATCH_FLAGS= -p0
93 93 METAINFO= $(PERL) $(SRC)/tools/metainfo.pl
94 94 METACHECK= $(METAINFO) --validate
95 95 COMPONENT_NAME= $(METAINFO) --key NAME
96 96 COMPONENT_VERSION= $(METAINFO) --key VERSION
97 97 COMPONENT_PACKAGES= $(METAINFO) --key PACKAGE
98 98 COMPONENT_ARCHIVE= $(METAINFO) --archive-name SOURCE_DOWNLOAD
99 99 INSTALL_PROTO= $(SRC)/tools/install-proto -c
100 100 STRIPBINS= $(SRC)/tools/stripbins
101 101 INCREFIXUP= $(SRC)/tools/increfixup
102 102 UNPACKARCHIVE= $(SRC)/tools/unpack-archive
103 103 SFW_CHECK_DEPS= $(PERL) $(SRC)/tools/check-deps.pl \
104 104 -e $(SRC)/tools/exception_list.check-deps \
105 105 -d $(PKGARCHIVE) -p $(SFW_PKGDB)
106 106 SFW_RUN_CHECK_DEPS= $(POUND_SIGN)
107 107 RPCGEN= /usr/bin/rpcgen
108 108 AWK= /usr/bin/awk
109 109 ECHO= echo
110 110 INS= install
111 111 TRUE= true
112 112 SYMLINK= /usr/bin/ln -s
113 113 LN= /usr/bin/ln
114 114 SH= /usr/bin/sh
115 115 CHMOD= /usr/bin/chmod
116 116 CHOWN= $(TRUE)
117 117 CHGRP= $(TRUE)
118 118 MV= /usr/bin/mv -f
119 119 RMDIR= /usr/bin/rmdir
120 120 MKDIR= /usr/bin/mkdir
121 121 TOUCH= /usr/bin/touch
122 122 RM= /usr/bin/rm -f
123 123 GREP= /usr/bin/grep
124 124 SED= /usr/bin/sed
125 125 CP= /usr/bin/cp
126 126 LORDER= /usr/ccs/bin/lorder
127 127 MCS= /usr/ccs/bin/mcs
128 128 CAT= /usr/bin/cat
129 129 M4= /usr/ccs/bin/m4
130 130 STRIP= /usr/ccs/bin/strip
131 131 TSORT= /usr/ccs/bin/tsort
132 132 JAVAC= $(JAVA_ROOT)/bin/javac
133 133 JAVAH= $(JAVA_ROOT)/bin/javah
134 134 JAVADOC= $(JAVA_ROOT)/bin/javadoc
135 135 RMIC= $(JAVA_ROOT)/bin/rmic
136 136 JAR= $(JAVA_ROOT)/bin/jar
137 137 GMAKE= /usr/sfw/bin/gmake
138 138 CCSMAKE= /usr/ccs/bin/make
139 139 XREF= $(ONBLD_TOOLS)/bin/xref
140 140 PERL= /usr/perl5/bin/perl
141 141 FIND= /usr/bin/find
142 142 XARGS= /usr/bin/xargs
143 143 TAR= /usr/bin/tar
144 144 GTAR= /usr/sfw/bin/gtar
145 145 PYTHON= /usr/bin/python
146 146 PYTHON_64= /usr/bin/$(MACH64)/python
147 147 PYTHON26= /usr/bin/python2.6
148 148 PYTHON26_64= /usr/bin/$(MACH64)/python2.6
149 149 ELFEDIT= /usr/bin/elfedit
150 150 GINSTALL= /usr/bin/ginstall
151 151
152 152
153 153
154 154 FILEMODE= 644
155 155 DIRMODE= 755
156 156 OWNER= root
157 157 GROUP= bin
158 158
159 159 # Paths, relative to proto root.
160 160 #
161 161 # Suitable for passing to things like configure scripts which
162 162 # use the path for compiled in default file location information
163 163 CFGPREFIX= /usr
164 164 CFGBIN= $(CFGPREFIX)/bin
165 165 CFGLIB= $(CFGPREFIX)/lib
166 166 CFGSBIN= /sbin
167 167 CFGINC= $(CFGPREFIX)/include
168 168 CFGUSRSBIN= $(CFGPREFIX)/sbin
169 169 CFGLOCALE= $(CFGPREFIX)/share/locale
170 170 CFGINFO= $(CFGPREFIX)/share/info
171 171 CFGETC= /etc
172 172 CFGBIN32= $(CFGBIN)/$(MACH32)
173 173 CFGBIN64= $(CFGBIN)/$(MACH64)
174 174 CFGLIB64= $(CFGLIB)/$(MACH64)
175 175 CFGUSRSBIN32= $(CFGUSRSBIN)/$(MACH32)
176 176 CFGUSRSBIN64= $(CFGUSRSBIN)/$(MACH64)
177 177 CFGMAN= $(CFGPREFIX)/share/man
178 178 CFGMAN1= $(CFGMAN)/man1
179 179 CFGMAN3= $(CFGMAN)/man3
180 180 CFGMAN5= $(CFGMAN)/man5
181 181 CFGMAN6= $(CFGMAN)/man6
182 182 CFGDOC= $(CFGPREFIX)/share/doc
183 183 CFGUSRDEMO= $(CFGPREFIX)/demo
184 184
185 185 COMPONENT_TOP:sh = pwd
186 186 MANSCRIPT = $(COMPONENT_TOP)/sunman-stability
187 187
|
↓ open down ↓ |
153 lines elided |
↑ open up ↑ |
188 188 # Common configure options with common values
189 189 CONFIGURE_OPTIONS = --prefix=$(CFGPREFIX)
190 190 CONFIGURE_OPTIONS += --mandir=$(CFGMAN)
191 191
192 192 ROOTBIN= $(ROOT)$(CFGBIN)
193 193 ROOTLIB= $(ROOT)$(CFGLIB)
194 194 ROOTSBIN= $(ROOT)$(CFGSBIN)
195 195 ROOTUSRSBIN= $(ROOT)$(CFGUSRSBIN)
196 196 ROOTETC= $(ROOT)$(CFGETC)
197 197 ROOTBIN32= $(ROOT)$(CFGBIN32)
198 -ROOTBIN64= $(ROOT)$(CFGBIN32)
198 +ROOTBIN64= $(ROOT)$(CFGBIN64)
199 199 ROOTLIB64= $(ROOT)$(CFGLIB64)
200 200 ROOTUSRSBIN32= $(ROOT)$(CFGUSRSBIN32)
201 201 ROOTUSRSBIN64= $(ROOT)$(CFGUSRSBIN64)
202 202 ROOTMAN1= $(ROOT)$(CFGMAN1)
203 203 ROOTMAN3= $(ROOT)$(CFGMAN3)
204 204 ROOTMAN5= $(ROOT)$(CFGMAN5)
205 205 ROOTMAN6= $(ROOT)$(CFGMAN6)
206 206 ROOTDOC= $(ROOT)$(CFGDOC)
207 207 ROOTUSRDEMO= $(ROOT)$(CFGUSRDEMO)
208 208 ROOTINCLUDE= $(ROOT)$(CFGINC)
209 209
210 210 #
211 211 # Begin /usr/sfw freeware rules for freeware that has "External"
212 212 # taxonomy stability level.
213 213 #
214 214 CFGSFW= /usr/sfw
215 215 CFGSFWBIN= /usr/sfw/bin
216 216 CFGSFWSBIN= /usr/sfw/sbin
217 217 CFGSFWSHARE= /usr/sfw/share
218 218 CFGSFWINFO= /usr/sfw/share/info
219 219 CFGSFWINCLUDE= /usr/sfw/include
220 220 CFGSFWLIB= /usr/sfw/lib
221 221 CFGLIBEXEC= /usr/sfw/libexec
222 222 CFGSFWMAN= /usr/sfw/share/man
223 223 CFGSFWMANN= /usr/sfw/share/mann
224 224 CFGSFWMAN1= /usr/sfw/share/man/man1
225 225 CFGSFWMAN1M= /usr/sfw/share/man/man1m
226 226 CFGSFWMAN3= /usr/sfw/share/man/man3
227 227 CFGSFWMAN4= /usr/sfw/share/man/man4
228 228 CFGSFWMAN5= /usr/sfw/share/man/man5
229 229 CFGSFWMAN7= /usr/sfw/share/man/man7
230 230
231 231 ROOTSFW= $(ROOT)$(CFGSFW)
232 232 ROOTSFWBIN= $(ROOT)$(CFGSFWBIN)
233 233 ROOTSFWSBIN= $(ROOT)$(CFGSFWSBIN)
234 234 ROOTSFWSHARE= $(ROOT)$(CFGSFWSHARE)
235 235 ROOTSFWINFO= $(ROOT)$(CFGSFWINFO)
236 236 ROOTSFWINCLUDE= $(ROOT)$(CFGSFWINCLUDE)
237 237 ROOTSFWLIB= $(ROOT)$(CFGSFWLIB)
238 238 ROOTLIBEXEC= $(ROOT)$(CFGLIBEXEC)
239 239 ROOTSFWMAN= $(ROOT)$(CFGSFWMAN)
240 240 ROOTSFWMANN= $(ROOT)$(CFGSFWMANN)
241 241 ROOTSFWMAN1= $(ROOT)$(CFGSFWMAN1)
242 242 ROOTSFWMAN1M= $(ROOT)$(CFGSFWMAN1M)
243 243 ROOTSFWMAN3= $(ROOT)$(CFGSFWMAN3)
244 244 ROOTSFWMAN4= $(ROOT)$(CFGSFWMAN4)
245 245 ROOTSFWMAN5= $(ROOT)$(CFGSFWMAN5)
246 246 ROOTSFWMAN7= $(ROOT)$(CFGSFWMAN7)
247 247
248 248 #
249 249 # End /usr/sfw freeware rules
250 250 #
251 251
252 252 #
253 253 # Begin /usr/gnu freeware rules.
254 254 #
255 255 CFGGNU= /usr/gnu
256 256 CFGGNUBIN= /usr/gnu/bin
257 257 CFGGNUSHARE= /usr/gnu/share
258 258 CFGGNUMAN= /usr/gnu/share/man
259 259 CFGGNUMAN1= /usr/gnu/share/man/man1
260 260
261 261 ROOTGNU= $(ROOT)$(CFGGNU)
262 262 ROOTGNUBIN= $(ROOT)$(CFGGNUBIN)
263 263 ROOTGNUSHARE= $(ROOT)$(CFGGNUSHARE)
264 264 ROOTGNUMAN= $(ROOT)$(CFGGNUMAN)
265 265 ROOTGNUMAN1= $(ROOT)$(CFGGNUMAN1)
266 266
267 267 #
268 268 # End /usr/gnu freeware rules
269 269 #
270 270
271 271 # Declare that nothing should be built in parallel.
272 272 # Individual Makefiles can use the .PARALLEL target to declare otherwise.
273 273 .NO_PARALLEL:
274 274
275 275 ROOTPROG= $(PROG:%=$(ROOTBIN)/%)
276 276 ROOTSHFILES= $(SHFILES:%=$(ROOTBIN)/%)
277 277 ROOTLIBPROG= $(PROG:%=$(ROOTLIB)/%)
278 278 ROOTLIBSHFILES= $(SHFILES:%=$(ROOTLIB)/%)
279 279 ROOTSBINPROG= $(PROG:%=$(ROOTSBIN)/%)
280 280 ROOTUSRSBINPROG=$(PROG:%=$(ROOTUSRSBIN)/%)
281 281 ROOTETCPROG= $(PROG:%=$(ROOTETC)/%)
282 282 ROOTPROG64= $(PROG:%=$(ROOTBIN64)/%)
283 283 ROOTPROG32= $(PROG:%=$(ROOTBIN32)/%)
284 284 ROOTUSRSBINPROG32= $(PROG:%=$(ROOTUSRSBIN32)/%)
285 285 ROOTUSRSBINPROG64= $(PROG:%=$(ROOTUSRSBIN64)/%)
286 286
287 287 ROOTMAN1FILES=$(MAN1FILES:%=$(ROOTMAN1)/%)
288 288 $(ROOTMAN1FILES) := FILEMODE = 444
289 289 $(ROOTMAN1FILES) := OWNER = root
290 290 $(ROOTMAN1FILES) := GROUP = bin
291 291
292 292 ROOTMAN3FILES=$(MAN3FILES:%=$(ROOTMAN3)/%)
293 293 $(ROOTMAN3FILES) := FILEMODE = 444
294 294 $(ROOTMAN3FILES) := OWNER = root
295 295 $(ROOTMAN3FILES) := GROUP = bin
296 296
297 297 ROOTMAN5FILES=$(MAN5FILES:%=$(ROOTMAN5)/%)
298 298 $(ROOTMAN5FILES) := FILEMODE = 444
299 299 $(ROOTMAN5FILES) := OWNER = root
300 300 $(ROOTMAN5FILES) := GROUP = bin
301 301
302 302 ROOTMAN6FILES=$(MAN6FILES:%=$(ROOTMAN6)/%)
303 303 $(ROOTMAN6FILES) := FILEMODE = 444
304 304 $(ROOTMAN6FILES) := OWNER = root
305 305 $(ROOTMAN6FILES) := GROUP = bin
306 306
307 307 #
308 308 # Begin /usr/sfw freeware rules for freeware that has "External"
309 309 # taxonomy stability level.
310 310 #
311 311 ROOTSFWINFOFILES=$(INFOFILES:%=$(ROOTSFWINFO)/%)
312 312 $(ROOTSFWINFOFILES) := FILEMODE = 444
313 313 $(ROOTSFWINFOFILES) := OWNER = root
314 314 $(ROOTSFWINFOFILES) := GROUP = bin
315 315
316 316 ROOTSFWMANNFILES=$(MANNFILES:%=$(ROOTSFWMANN)/%)
317 317 $(ROOTSFWMANNFILES) := FILEMODE = 444
318 318 $(ROOTSFWMANNFILES) := OWNER = root
319 319 $(ROOTSFWMANNFILES) := GROUP = bin
320 320
321 321 ROOTSFWMAN1FILES=$(MAN1FILES:%=$(ROOTSFWMAN1)/%)
322 322 $(ROOTSFWMAN1FILES) := FILEMODE = 444
323 323 $(ROOTSFWMAN1FILES) := OWNER = root
324 324 $(ROOTSFWMAN1FILES) := GROUP = bin
325 325
326 326 ROOTSFWMAN1MFILES=$(MAN1MFILES:%=$(ROOTSFWMAN1M)/%)
327 327 $(ROOTSFWMAN1MFILES) := FILEMODE = 444
328 328 $(ROOTSFWMAN1MFILES) := OWNER = root
329 329 $(ROOTSFWMAN1MFILES) := GROUP = bin
330 330
331 331 ROOTSFWMAN3FILES=$(MAN3FILES:%=$(ROOTSFWMAN3)/%)
332 332 $(ROOTSFWMAN3FILES) := FILEMODE = 444
333 333 $(ROOTSFWMAN3FILES) := OWNER = root
334 334 $(ROOTSFWMAN3FILES) := GROUP = bin
335 335
336 336 ROOTSFWMAN4FILES=$(MAN4FILES:%=$(ROOTSFWMAN4)/%)
337 337 $(ROOTSFWMAN4FILES) := FILEMODE = 444
338 338 $(ROOTSFWMAN4FILES) := OWNER = root
339 339 $(ROOTSFWMAN4FILES) := GROUP = bin
340 340
341 341 ROOTSFWMAN5FILES=$(MAN5FILES:%=$(ROOTSFWMAN5)/%)
342 342 $(ROOTSFWMAN5FILES) := FILEMODE = 444
343 343 $(ROOTSFWMAN5FILES) := OWNER = root
344 344 $(ROOTSFWMAN5FILES) := GROUP = bin
345 345
346 346 ROOTSFWMAN7FILES=$(MAN7FILES:%=$(ROOTSFWMAN7)/%)
347 347 $(ROOTSFWMAN7FILES) := FILEMODE = 444
348 348 $(ROOTSFWMAN7FILES) := OWNER = root
349 349 $(ROOTSFWMAN7FILES) := GROUP = bin
350 350
351 351 ROOTSFWBINPROG= $(PROG:%=$(ROOTSFWBIN)/%)
352 352 $(ROOTSFWBINPROG) := FILEMODE= 555
353 353 $(ROOTSFWBINPROG) := OWNER= root
354 354 $(ROOTSFWBINPROG) := GROUP= bin
355 355
356 356 ROOTSFWSBINPROG= $(PROG:%=$(ROOTSFWSBIN)/%)
357 357 $(ROOTSFWSBINPROG) := FILEMODE= 555
358 358 $(ROOTSFWSBINPROG) := OWNER= root
359 359 $(ROOTSFWSBINPROG) := GROUP= bin
360 360
361 361 #
362 362 # End /usr/sfw freeware rules
363 363 #
364 364
365 365
366 366 INS.file= $(RM) $@; $(INS) -s -m $(FILEMODE) -f $(@D) $<
367 367 INS.dir= $(INS) -s -d -m $(DIRMODE) $@
368 368 # installs and renames at once
369 369 #
370 370 INS.rename= $(INS.file); $(MV) $(@D)/$(<F) $@
371 371
372 372 # MACH must be set in the shell environment per uname -p on the build host
373 373 # More specific architecture variables should be set in lower makefiles.
374 374 #
375 375 # MACH64 is derived from MACH
376 376 #
377 377 MACH64_1= $(MACH:sparc=sparcv9)
378 378 MACH64= $(MACH64_1:i386=amd64)
379 379
380 380 MACH32_1= $(MACH:sparc=sparcv7)
381 381 MACH32= $(MACH32_1:i386=i86)
382 382
383 383 #
384 384 # C compiler mode. Future compilers may change the default on us,
385 385 # so force transition mode globally. Lower level makefiles can
386 386 # override this by setting CCMODE.
387 387 #
388 388 CCMODE= -Xa
389 389 CCMODE64= -Xa
390 390
391 391 #
392 392 # C compiler verbose mode. This is so we can enable it globally,
393 393 # but turn it off in the lower level makefiles of things we cannot
394 394 # (or aren't going to) fix.
395 395 #
396 396 CCVERBOSE=
397 397
398 398 #
399 399 # compiler 32/64 bit flag, in case it changes again (and needed
400 400 # since lint doesn't really want the extra bits in XARCH).
401 401 CCBITS32= -m32
402 402 CCBITS64= -m64
403 403
404 404 #
405 405 #
406 406 # compiler '-xarch' flag. This is here to centralize it and make it
407 407 # overridable for testing.
408 408 sparc_XARCH= $(CCBITS32) -xarch=sparc
409 409 sparcv9_XARCH= $(CCBITS64) -xcode=abs64
410 410 i386_XARCH= $(CCBITS32) -xchip=pentium
411 411 amd64_XARCH= $(CCBITS64) -xarch=generic -Ui386 -U__i386
412 412
413 413 #
414 414 # disable the incremental linker
415 415 ILDOFF= -xildoff
416 416
417 417 # C99 mode
418 418 C99_ENABLE= -xc99=all
419 419 C99_DISABLE= -xc99=none
420 420 C99MODE= $(C99_ENABLE)
421 421 C99LMODE= $(C99MODE:-xc99%=-Xc99%)
422 422
423 423 # XPG6 mode. This option enables XPG6 conformance, plus extensions.
424 424 # Amongst other things, this option will cause system calls like
425 425 # popen (3C) and system (3C) to invoke the standards-conforming
426 426 # shell, /usr/xpg4/bin/sh, instead of /usr/bin/sh.
427 427 XPG6MODE= $(C99MODE) -D_XOPEN_SOURCE=600 -D__EXTENSIONS__=1
428 428
429 429 #
430 430 # The Sun Studio 11 compiler has changed the behaviour of integer
431 431 # wrap arounds and so a flag is needed to use the legacy behaviour
432 432 # (without this flag panics/hangs could be exposed within the source).
433 433 #
434 434 sparc_IROPTFLAG = -W2,-xwrap_int
435 435 sparcv9_IROPTFLAG = -W2,-xwrap_int
436 436 i386_IROPTFLAG =
437 437 amd64_IROPTFLAG =
438 438
439 439 IROPTFLAG = $($(MACH)_IROPTFLAG)
440 440 IROPTFLAG64 = $($(MACH64)_IROPTFLAG)
441 441
442 442 # In most places, assignments to these macros should be appended with +=
443 443 # (CPPFLAGS.master allows values to be prepended to CPPFLAGS).
444 444 sparc_CFLAGS= $(sparc_XARCH)
445 445 sparcv9_CFLAGS= $(sparcv9_XARCH) -dalign $(CCVERBOSE)
446 446 i386_CFLAGS= $(i386_XARCH)
447 447 amd64_CFLAGS= $(amd64_XARCH)
448 448
449 449 #
450 450 sparc_COPTFLAG= -xO3
451 451 sparcv9_COPTFLAG= -xO3
452 452 i386_COPTFLAG= -xO3
453 453 amd64_COPTFLAG= -xO3
454 454 COPTFLAG= $($(MACH)_COPTFLAG)
455 455 COPTFLAG64= $($(MACH64)_COPTFLAG)
456 456
457 457 #
458 458 # tradeoff time for space (smaller is better)
459 459 #
460 460 sparc_SPACEFLAG = -xspace -W0,-Lt
461 461 sparcv9_SPACEFLAG = -xspace -W0,-Lt
462 462 i386_SPACEFLAG = -xspace
463 463 amd64_SPACEFLAG =
464 464 SPACEFLAG = $($(MACH)_SPACEFLAG)
465 465 SPACEFLAG64 = $($(MACH64)_SPACEFLAG)
466 466
467 467 sparc_XREGSFLAG = -xregs=no%appl
468 468 sparcv9_XREGSFLAG = -xregs=no%appl
469 469 i386_XREGSFLAG =
470 470 amd64_XREGSFLAG =
471 471 XREGSFLAG = $($(MACH)_XREGSFLAG)
472 472 XREGSFLAG64 = $($(MACH64)_XREGSFLAG)
473 473
474 474 CFLAGS= $(COPTFLAG) $($(MACH)_CFLAGS) $(SPACEFLAG) $(CCMODE) \
475 475 $(ILDOFF) $(C99MODE) $(IROPTFLAG)
476 476
477 477 CFLAGS64= $(COPTFLAG64) $($(MACH64)_CFLAGS) $(SPACEFLAG64) $(CCMODE64) \
478 478 $(ILDOFF) $(C99MODE) $(IROPTFLAG64)
479 479
480 480 DTEXTDOM=-DTEXT_DOMAIN=\"$(TEXT_DOMAIN)\" # For messaging.
481 481 CPPFLAGS.master=$(DTEXTDOM) \
482 482 -I$(ROOTINCLUDE) \
483 483 -I$(ROOTSFWINCLUDE) \
484 484 $(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) $(ENVCPPFLAGS4)
485 485 CPPFLAGS= $(CPPFLAGS.master)
486 486 AS_CPPFLAGS= $(CPPFLAGS.master)
487 487 JAVAFLAGS= -deprecation
488 488
489 489 #
490 490 # For source message catalogue
491 491 #
492 492 .SUFFIXES: $(SUFFIXES) .po
493 493 MSGROOT= $(ROOT)/catalog
494 494 MSGDOMAIN= $(MSGROOT)/$(TEXT_DOMAIN)
495 495 COMPILE.cpp= $(CC) -E -C $(CFLAGS) $(CPPFLAGS)
496 496 XGETTEXT= xgettext
497 497 XGETFLAGS= -c TRANSLATION_NOTE
498 498 BUILD.po= $(XGETTEXT) $(XGETFLAGS) $<.i ;\
499 499 $(RM) $@ ;\
500 500 sed "/^domain/d" < messages.po > $@ ;\
501 501 $(RM) messages.po $<.i
502 502 #
503 503 # This is overwritten by local Makefile when PROG is a list.
504 504 #
505 505 POFILE= $(PROG).po
506 506
507 507 COMPAT_VERSION= 4
508 508
509 509 sparc_CCFLAGS= -compat=$(COMPAT_VERSION) \
510 510 -Qoption ccfe -messages=no%anachronism
511 511 sparcv9_CCFLAGS= $(sparcv9_XARCH) -dalign -compat=5 \
512 512 -Qoption ccfe -messages=no%anachronism \
513 513 -Qoption ccfe -features=no%conststrings
514 514 i386_CCFLAGS= -compat=$(COMPAT_VERSION) \
515 515 -Qoption ccfe -messages=no%anachronism \
516 516 -Qoption ccfe -features=no%conststrings
517 517 amd64_CCFLAGS= $(amd64_XARCH) -compat=5 \
518 518 -Qoption ccfe -messages=no%anachronism \
519 519 -Qoption ccfe -features=no%conststrings
520 520
521 521 sparc_CCOPTFLAG= -xO3
522 522 sparcv9_CCOPTFLAG= -xO3
523 523 i386_CCOPTFLAG= -xO3
524 524 amd64_CCOPTFLAG= -xO3
525 525
526 526 CCOPTFLAG= $($(MACH)_CCOPTFLAG)
527 527 CCOPTFLAG64= $($(MACH64)_CCOPTFLAG)
528 528 CCFLAGS= $(CCOPTFLAG) $($(MACH)_CCFLAGS)
529 529 CCFLAGS64= $(CCOPTFLAG64) $($(MACH64)_CCFLAGS)
530 530 #
531 531 #
532 532 LDLIBS.cmd = $(ENVLDLIBS1) $(ENVLDLIBS2) $(ENVLDLIBS3)
533 533 LDFLAGS.cmd = -L$(ROOTSFWLIB) -R/usr/sfw/lib
534 534 LDFLAGS.cmd += $(STRIPFLAG) $(ENVLDFLAGS1) $(ENVLDFLAGS2) $(ENVLDFLAGS3)
535 535 LDFLAGS.lib = -L$(ROOTSFWLIB) -R/usr/sfw/lib
536 536 LDLIBS.lib = $(ENVLDLIBS1) $(ENVLDLIBS2) $(ENVLDLIBS3)
537 537 #
538 538 # Define compilation macros.
539 539 #
540 540 COMPILE.c= $(CC) $(CFLAGS) $(CPPFLAGS) -c
541 541 COMPILE64.c= $(CC64) $(CFLAGS64) $(CPPFLAGS) -c
542 542 COMPILE.cc= $(CCC) $(CCFLAGS) $(CPPFLAGS) -c
543 543 COMPILE64.cc= $(CCC64) $(CCFLAGS64) $(CPPFLAGS) -c
544 544 COMPILE.s= $(AS) $(ASFLAGS) $(AS_CPPFLAGS)
545 545
546 546 CLASSPATH= .:$(WEBSTART_HOME)/classes
547 547 COMPILE.java= $(JAVAC) $(JAVAFLAGS) -classpath $(CLASSPATH)
548 548
549 549 #
550 550 # Link time macros
551 551 #
552 552 CCNEEDED = -lC -lc
553 553 COMPILE64.s= $(AS) $(ASFLAGS) $($(MACH64)_XARCH) $(AS_CPPFLAGS)
554 554 LINK.c= $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
555 555 LINK64.c= $(CC64) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
556 556 LINK.cc= $(CCC) $(CCFLAGS) $(CPPFLAGS) -norunpath -nolib $(LDFLAGS) $(CCNEEDED)
557 557 LINK64.cc= $(CCC64) $(CCFLAGS64) $(CPPFLAGS) -norunpath -nolib $(LDFLAGS) $(CCNEEDED)
558 558 LINT.c= $(LINT) $(LINTFLAGS) $(CPPFLAGS)
559 559 LINT64.c= $(LINT) $(LINTFLAGS64) $(CPPFLAGS)
560 560
561 561 # For some future builds, NATIVE_MACH and MACH might be different.
562 562 # Therefore, NATIVE_MACH needs to be redefined in the
563 563 # environment as `uname -p` to override this macro.
564 564 #
565 565 # For now at least, we cross-compile amd64 on i386 machines.
566 566 NATIVE_MACH= $(MACH:amd64=i386)
567 567
568 568 # Define native compilation macros
569 569 #
570 570
571 571 # Base directory where compilers are loaded.
572 572 # Defined here so it can be overridden by developer.
573 573 #
574 574 SPRO_ROOT= $(BUILD_TOOLS)/SUNWspro
575 575 SPRO_VROOT= $(SPRO_ROOT)/SS12
576 576
577 577 # All sub-Makefiles should pass a specific path when building
578 578 # (such as with configure/make/perl) to ensure that the right
579 579 # compiler above is found rather than one in the build path
580 580 # (which might be older/newer depending on what the build machine
581 581 # has in /opt/SUNWspro or /opt/teamware). This is the default
582 582 # which can be overridden.
583 583 #
584 584 SFW_PATH="$(SPRO_VROOT)/bin:$(PATH)"
585 585
586 586 # Specify platform compiler versions for languages
587 587 # that we use (currently only c and c++).
588 588 #
589 589 sparc_CC= $(SPRO_VROOT)/bin/cc
590 590 sparc_CCC= $(SPRO_VROOT)/bin/CC
591 591 sparc_AS= /usr/ccs/bin/as
592 592 sparc_LD= /usr/ccs/bin/ld
593 593
594 594 sparcv9_CC= $(SPRO_VROOT)/bin/cc
595 595 sparcv9_CCC= $(SPRO_VROOT)/bin/CC
596 596 sparcv9_AS= /usr/ccs/bin/as
597 597 sparcv9_LD= /usr/ccs/bin/ld
598 598
599 599 i386_CC= $(SPRO_VROOT)/bin/cc
600 600 i386_CCC= $(SPRO_VROOT)/bin/CC
601 601 i386_AS= /usr/ccs/bin/as
602 602 i386_LD= /usr/ccs/bin/ld
603 603
604 604 amd64_CC= $(SPRO_VROOT)/bin/cc
605 605 amd64_CCC= $(SPRO_VROOT)/bin/CC
606 606 amd64_AS= $(SPRO_VROOT)/bin/as
607 607 amd64_LD= /usr/ccs/bin/ld
608 608
609 609 NATIVECC= $($(NATIVE_MACH)_CC)
610 610 NATIVECCC= $($(NATIVE_MACH)_CCC)
611 611 NATIVEAS= $($(NATIVE_MACH)_AS)
612 612 NATIVELD= $($(NATIVE_MACH)_LD)
613 613
614 614 CC= $(NATIVECC)
615 615 CCC= $(NATIVECCC)
616 616 AS= $(NATIVEAS)
617 617 LD= $(NATIVELD)
618 618
619 619 GCC= /usr/sfw/bin/gcc
620 620 GXX= /usr/sfw/bin/g++
621 621
622 622 CC64= $($(MACH64)_CC)
623 623 CCC64= $($(MACH64)_CCC)
624 624 AS64= $($(MACH64)_AS)
625 625 LD64= $($(MACH64)_LD)
626 626
627 627 #
628 628 # Use the same lint as the cc compiler
629 629 #
630 630 sparc_LINT= $(SPRO_VROOT)/bin/lint
631 631 i386_LINT= $(SPRO_VROOT)/bin/lint
632 632 LINT= $($(MACH)_LINT)
633 633
634 634 # Rules (normally from make.rules) and macros which are used for post
635 635 # processing files. Normally, these do stripping of the comment section
636 636 # automatically.
637 637 # RELEASE_CM: Should be editted to reflect the release.
638 638 # POST_PROCESS_O: Post-processing for `.o' files.
639 639 # POST_PROCESS_A: Post-processing for `.a' files (currently null).
640 640 # POST_PROCESS_SO: Post-processing for `.so' files.
641 641 # POST_PROCESS: Post-processing for executable files (no suffix).
642 642 # Note that these macros are not completely generalized as they are to be
643 643 # used with the file name to be processed following.
644 644 #
645 645 # It is left as an exercise to Release Engineering to embellish the generation
646 646 # of the release comment string.
647 647 #
648 648 # If this is a standard development build:
649 649 # compress the comment section (mcs -c)
650 650 # add the standard comment (mcs -a $(RELEASE_CM))
651 651 # add the development specific comment (mcs -a $(DEV_CM))
652 652 #
653 653 # If this is an installation build:
654 654 # delete the comment section (mcs -d)
655 655 # add the standard comment (mcs -a $(RELEASE_CM))
656 656 # add the development specific comment (mcs -a $(DEV_CM))
657 657 #
658 658 # If this is an release build:
659 659 # delete the comment section (mcs -d)
660 660 # add the standard comment (mcs -a $(RELEASE_CM))
661 661 #
662 662 # Sigh,... The declaration POUND_SIGN is always '#'. This is just needed
663 663 # to get around the make **bug** that '#' is always a comment delimiter,
664 664 # even when escaped or quoted.
665 665 #
666 666 # The following list of macros are used in the definition of RELEASE_CM
667 667 # which is used to label all binaries in the build:
668 668 #
669 669 # SFWRELEASE Specific release of the build, eg: 5.2
670 670 # SFWVERSION Version of the build (alpha, beta, Generic)
671 671 # PATCHID If this is a patch this value should contain
672 672 # the patchid value (eg: "Generic 100832-01"), otherwise
673 673 # it will be set to $(SFWVERSION)
674 674 # RELEASE_DATE Date of the Release Build
675 675 # PATCH_DATE Date the patch was created, if this is blank it
676 676 # will default to the RELEASE_DATE
677 677 #
678 678 POUND_SIGN:sh= echo \\043
679 679 SFWVERS= "11.11.0"
680 680 SFWRELEASE= 5.11
681 681 SFWVERSION= SunOS Development
682 682 PATCHID= $(SFWVERSION)
683 683 RELEASE_DATE= October 2007
684 684 PATCH_DATE= $(RELEASE_DATE)
685 685 RELEASE_CM= "@($(POUND_SIGN))SunOS $(SFWRELEASE) $(PATCHID) $(PATCH_DATE)"
686 686 DEV_CM= "@($(POUND_SIGN))SunOS Internal Development: `$(ECHO) $$LOGNAME` `date +%D` `$(ECHO) [\`basename $$CODEMGR_WS\`]`"
687 687
688 688 PROCESS_COMMENT= @?${MCS} -c -a $(RELEASE_CM) -a $(DEV_CM)
689 689 $(STRIP_COMMENTS)PROCESS_COMMENT= @?${MCS} -d -a $(RELEASE_CM) -a $(DEV_CM)
690 690 $(RELEASE_BUILD)PROCESS_COMMENT= @?${MCS} -d -a $(RELEASE_CM)
691 691
692 692 POST_PROCESS_O= $(PROCESS_COMMENT) $@
693 693 POST_PROCESS_A=
694 694 POST_PROCESS_SO= $(PROCESS_COMMENT) $@
695 695 POST_PROCESS= $(PROCESS_COMMENT) $@
696 696
697 697 # Default build rules which perform comment section post-processing.
698 698 #
699 699 .c:
700 700 $(LINK.c) -o $@ $< $(LDLIBS)
701 701 $(POST_PROCESS)
702 702 .c.o:
703 703 $(COMPILE.c) $(OUTPUT_OPTION) $<
704 704 $(POST_PROCESS_O)
705 705 .c.a:
706 706 $(COMPILE.c) -o $% $<
707 707 $(PROCESS_COMMENT) $%
708 708 $(AR) $(ARFLAGS) $@ $%
709 709 $(RM) $%
710 710 .s.o:
711 711 $(COMPILE.s) -o $@ $<
712 712 $(POST_PROCESS_O)
713 713 .s.a:
714 714 $(COMPILE.s) -o $% $<
715 715 $(PROCESS_COMMENT) $%
716 716 $(AR) $(ARFLAGS) $@ $%
717 717 $(RM) $%
718 718 .cc:
719 719 $(LINK.cc) -o $@ $< $(LDLIBS)
720 720 $(POST_PROCESS)
721 721 .cc.o:
722 722 $(COMPILE.cc) $(OUTPUT_OPTION) $<
723 723 $(POST_PROCESS_O)
724 724 .cc.a:
725 725 $(COMPILE.cc) -o $% $<
726 726 $(AR) $(ARFLAGS) $@ $%
727 727 $(PROCESS_COMMENT) $%
728 728 $(RM) $%
729 729 .y:
730 730 $(YACC.y) $<
731 731 $(LINK.c) -o $@ y.tab.c $(LDLIBS)
732 732 $(POST_PROCESS)
733 733 $(RM) y.tab.c
734 734 .y.o:
735 735 $(YACC.y) $<
736 736 $(COMPILE.c) -o $@ y.tab.c
737 737 $(POST_PROCESS_O)
738 738 $(RM) y.tab.c
739 739 .l:
740 740 $(RM) $*.c
741 741 $(LEX.l) $< > $*.c
742 742 $(LINK.c) -o $@ $*.c -ll $(LDLIBS)
743 743 $(POST_PROCESS)
744 744 $(RM) $*.c
745 745 .l.o:
746 746 $(RM) $*.c
747 747 $(LEX.l) $< > $*.c
748 748 $(COMPILE.c) -o $@ $*.c
749 749 $(POST_PROCESS_O)
750 750 $(RM) $*.c
751 751
752 752 .java.class:
753 753 $(COMPILE.java) $<
754 754
755 755 #
756 756 # Rules to create message catalogue files from
757 757 # .c, .y and .l files
758 758 #
759 759 .c.po:
760 760 $(COMPILE.cpp) $< > $<.i
761 761 $(BUILD.po)
762 762
763 763 .y.po:
764 764 yacc -d $<
765 765 $(COMPILE.cpp) y.tab.c > $<.i
766 766 $(BUILD.po)
767 767 $(RM) y.tab.c
768 768
769 769 .l.po:
770 770 lex $<
771 771 $(COMPILE.cpp) lex.yy.c > $<.i
772 772 $(BUILD.po)
773 773 $(RM) lex.yy.c
774 774
775 775 #
776 776 # Rules to perform stylistic checks
777 777 #
778 778 .SUFFIXES: $(SUFFIXES) .x
779 779
780 780 $(ROOTBIN)/%: %
781 781 $(INS.file)
782 782
783 783 $(ROOTLIB)/%: %
784 784 $(INS.file)
785 785
786 786 $(ROOTBIN64)/%: %
787 787 $(INS.file)
788 788
789 789 $(ROOTLIB64)/%: %
790 790 $(INS.file)
791 791
792 792 $(ROOTBIN32)/%: %
793 793 $(INS.file)
794 794
795 795 $(ROOTSBIN)/%: %
796 796 $(INS.file)
797 797
798 798 $(ROOTUSRSBIN)/%: %
799 799 $(INS.file)
800 800
801 801 $(ROOTUSRSBIN32)/%: %
802 802 $(INS.file)
803 803
804 804 $(ROOTUSRSBIN64)/%: %
805 805 $(INS.file)
806 806
807 807 $(ROOTETC)/%: %
808 808 $(INS.file)
809 809
810 810 $(ROOTSFWBIN)/%: %
811 811 $(INS.file)
812 812
813 813 $(ROOTSFWSBIN)/%: %
814 814 $(INS.file)
815 815
816 816 $(ROOTSFWINFO)/%: %
817 817 $(INS.file)
818 818
819 819 $(ROOTSFWLIB)/%: %
820 820 $(INS.file)
821 821
822 822 $(ROOTLIBEXEC)/%: %
823 823 $(INS.file)
824 824
825 825 $(ROOTSFWMAN1)/%: %
826 826 $(INS.file)
827 827
828 828 $(ROOTSFWMAN1M)/%: %
829 829 $(INS.file)
830 830
831 831 $(ROOTSFWMANN)/%: %
832 832 $(INS.file)
833 833
834 834 $(ROOTSFWMAN3)/%: %
835 835 $(INS.file)
836 836
837 837 $(ROOTSFWMAN4)/%: %
838 838 $(INS.file)
839 839
840 840 $(ROOTSFWMAN5)/%: %
841 841 $(INS.file)
842 842
843 843 $(ROOTSFWMAN7)/%: %
844 844 $(INS.file)
845 845
846 846 $(ROOTSFWSHARE)/%: %
847 847 $(INS.file)
|
↓ open down ↓ |
639 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX