27 #
28 # Makefile.master, global definitions for system source
29 #
30 ROOT= /proto
31
32 #
33 # Adjunct root, containing an additional proto area to be used for headers
34 # and libraries.
35 #
36 ADJUNCT_PROTO=
37
38 #
39 # Adjunct for building things that run on the build machine.
40 #
41 NATIVE_ADJUNCT= /usr
42
43 #
44 # RELEASE_BUILD should be cleared for final release builds.
45 # NOT_RELEASE_BUILD is exactly what the name implies.
46 #
47 # INTERNAL_RELEASE_BUILD is a subset of RELEASE_BUILD. It mostly controls
48 # identification strings. Enabling RELEASE_BUILD automatically enables
49 # INTERNAL_RELEASE_BUILD.
50 #
51 # STRIP_COMMENTS toggles comment section striping. Generally the same setting
52 # as INTERNAL_RELEASE_BUILD.
53 #
54 # __GNUC toggles the building of ON components using gcc and related tools.
55 # Normally set to `#', set it to `' to do gcc build.
56 #
57 # The declaration POUND_SIGN is always '#'. This is needed to get around the
58 # make feature that '#' is always a comment delimiter, even when escaped or
59 # quoted. We use this macro expansion method to get POUND_SIGN rather than
60 # always breaking out a shell because the general case can cause a noticable
61 # slowdown in build times when so many Makefiles include Makefile.master.
62 #
63 # While the majority of users are expected to override the setting below
64 # with an env file (via nightly or bldenv), if you aren't building that way
65 # (ie, you're using "ws" or some other bootstrapping method) then you need
66 # this definition in order to avoid the subshell invocation mentioned above.
67 #
68
69 PRE_POUND= pre\#
70 POUND_SIGN= $(PRE_POUND:pre\%=%)
71
72 NOT_RELEASE_BUILD=
73 INTERNAL_RELEASE_BUILD= $(POUND_SIGN)
74 RELEASE_BUILD= $(POUND_SIGN)
75 $(RELEASE_BUILD)NOT_RELEASE_BUILD= $(POUND_SIGN)
76 $(RELEASE_BUILD)INTERNAL_RELEASE_BUILD=
77 PATCH_BUILD= $(POUND_SIGN)
78
79 # SPARC_BLD is '#' for an Intel build.
80 # INTEL_BLD is '#' for a Sparc build.
81 SPARC_BLD_1= $(MACH:i386=$(POUND_SIGN))
82 SPARC_BLD= $(SPARC_BLD_1:sparc=)
83 INTEL_BLD_1= $(MACH:sparc=$(POUND_SIGN))
84 INTEL_BLD= $(INTEL_BLD_1:i386=)
85
86 STRIP_COMMENTS= $(INTERNAL_RELEASE_BUILD)
87
88 # The variables below control the compilers used during the build.
89 # There are a number of permutations.
90 #
91 # __GNUC and __SUNC control (and indicate) the primary compiler. Whichever
92 # one is not POUND_SIGN is the primary, with the other as the shadow. They
93 # may also be used to control entirely compiler-specific Makefile assignments.
94 # __SUNC and Sun Studio are the default.
95 #
96 # __GNUC64 indicates that the 64bit build should use the GNU C compiler.
97 # There is no Sun C analogue.
98 #
99 # The following version-specific options are operative regardless of which
100 # compiler is primary, and control the versions of the given compilers to be
101 # used. They also allow compiler-version specific Makefile fragments.
102 #
103
104 __GNUC= $(POUND_SIGN)
105 $(__GNUC)__SUNC= $(POUND_SIGN)
106 __GNUC64= $(__GNUC)
107
951 # RELEASE_MAJOR Major version number part of $(RELEASE)
952 # RELEASE_MINOR Minor version number part of $(RELEASE)
953 # VERSION Version of the build (alpha, beta, Generic)
954 # PATCHID If this is a patch this value should contain
955 # the patchid value (eg: "Generic 100832-01"), otherwise
956 # it will be set to $(VERSION)
957 # RELEASE_DATE Date of the Release Build
958 # PATCH_DATE Date the patch was created, if this is blank it
959 # will default to the RELEASE_DATE
960 #
961 RELEASE_MAJOR= 5
962 RELEASE_MINOR= 11
963 RELEASE= $(RELEASE_MAJOR).$(RELEASE_MINOR)
964 VERSION= SunOS Development
965 PATCHID= $(VERSION)
966 RELEASE_DATE= release date not set
967 PATCH_DATE= $(RELEASE_DATE)
968 RELEASE_CM= "@($(POUND_SIGN))SunOS $(RELEASE) $(PATCHID) $(PATCH_DATE)"
969 DEV_CM= "@($(POUND_SIGN))SunOS Internal Development: non-nightly build"
970
971 PROCESS_COMMENT= @?${MCS} -c -a $(RELEASE_CM) -a $(DEV_CM)
972 $(STRIP_COMMENTS)PROCESS_COMMENT= @?${MCS} -d -a $(RELEASE_CM) -a $(DEV_CM)
973 $(RELEASE_BUILD)PROCESS_COMMENT= @?${MCS} -d -a $(RELEASE_CM)
974
975 STRIP_STABS= :
976 $(RELEASE_BUILD)STRIP_STABS= $(STRIP) -x $@
977 $(SRCDBGBLD)STRIP_STABS= :
978
979 POST_PROCESS_O= $(PROCESS_COMMENT) $@
980 POST_PROCESS_A=
981 POST_PROCESS_SO= $(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
982 $(ELFSIGN_OBJECT)
983 POST_PROCESS= $(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
984 $(ELFSIGN_OBJECT)
985
986 #
987 # chk4ubin is a tool that inspects a module for a symbol table
988 # ELF section size which can trigger an OBP bug on older platforms.
989 # This problem affects only specific sun4u bootable modules.
990 #
991 CHK4UBIN= $(ONBLD_TOOLS)/bin/$(MACH)/chk4ubin
992 CHK4UBINFLAGS=
|
27 #
28 # Makefile.master, global definitions for system source
29 #
30 ROOT= /proto
31
32 #
33 # Adjunct root, containing an additional proto area to be used for headers
34 # and libraries.
35 #
36 ADJUNCT_PROTO=
37
38 #
39 # Adjunct for building things that run on the build machine.
40 #
41 NATIVE_ADJUNCT= /usr
42
43 #
44 # RELEASE_BUILD should be cleared for final release builds.
45 # NOT_RELEASE_BUILD is exactly what the name implies.
46 #
47 # __GNUC toggles the building of ON components using gcc and related tools.
48 # Normally set to `#', set it to `' to do gcc build.
49 #
50 # The declaration POUND_SIGN is always '#'. This is needed to get around the
51 # make feature that '#' is always a comment delimiter, even when escaped or
52 # quoted. We use this macro expansion method to get POUND_SIGN rather than
53 # always breaking out a shell because the general case can cause a noticable
54 # slowdown in build times when so many Makefiles include Makefile.master.
55 #
56 # While the majority of users are expected to override the setting below
57 # with an env file (via nightly or bldenv), if you aren't building that way
58 # (ie, you're using "ws" or some other bootstrapping method) then you need
59 # this definition in order to avoid the subshell invocation mentioned above.
60 #
61
62 PRE_POUND= pre\#
63 POUND_SIGN= $(PRE_POUND:pre\%=%)
64
65 NOT_RELEASE_BUILD=
66 RELEASE_BUILD= $(POUND_SIGN)
67 $(RELEASE_BUILD)NOT_RELEASE_BUILD= $(POUND_SIGN)
68 PATCH_BUILD= $(POUND_SIGN)
69
70 # SPARC_BLD is '#' for an Intel build.
71 # INTEL_BLD is '#' for a Sparc build.
72 SPARC_BLD_1= $(MACH:i386=$(POUND_SIGN))
73 SPARC_BLD= $(SPARC_BLD_1:sparc=)
74 INTEL_BLD_1= $(MACH:sparc=$(POUND_SIGN))
75 INTEL_BLD= $(INTEL_BLD_1:i386=)
76
77 # The variables below control the compilers used during the build.
78 # There are a number of permutations.
79 #
80 # __GNUC and __SUNC control (and indicate) the primary compiler. Whichever
81 # one is not POUND_SIGN is the primary, with the other as the shadow. They
82 # may also be used to control entirely compiler-specific Makefile assignments.
83 # __SUNC and Sun Studio are the default.
84 #
85 # __GNUC64 indicates that the 64bit build should use the GNU C compiler.
86 # There is no Sun C analogue.
87 #
88 # The following version-specific options are operative regardless of which
89 # compiler is primary, and control the versions of the given compilers to be
90 # used. They also allow compiler-version specific Makefile fragments.
91 #
92
93 __GNUC= $(POUND_SIGN)
94 $(__GNUC)__SUNC= $(POUND_SIGN)
95 __GNUC64= $(__GNUC)
96
940 # RELEASE_MAJOR Major version number part of $(RELEASE)
941 # RELEASE_MINOR Minor version number part of $(RELEASE)
942 # VERSION Version of the build (alpha, beta, Generic)
943 # PATCHID If this is a patch this value should contain
944 # the patchid value (eg: "Generic 100832-01"), otherwise
945 # it will be set to $(VERSION)
946 # RELEASE_DATE Date of the Release Build
947 # PATCH_DATE Date the patch was created, if this is blank it
948 # will default to the RELEASE_DATE
949 #
950 RELEASE_MAJOR= 5
951 RELEASE_MINOR= 11
952 RELEASE= $(RELEASE_MAJOR).$(RELEASE_MINOR)
953 VERSION= SunOS Development
954 PATCHID= $(VERSION)
955 RELEASE_DATE= release date not set
956 PATCH_DATE= $(RELEASE_DATE)
957 RELEASE_CM= "@($(POUND_SIGN))SunOS $(RELEASE) $(PATCHID) $(PATCH_DATE)"
958 DEV_CM= "@($(POUND_SIGN))SunOS Internal Development: non-nightly build"
959
960 PROCESS_COMMENT= @?${MCS} -d -a $(RELEASE_CM) -a $(DEV_CM)
961 $(RELEASE_BUILD)PROCESS_COMMENT= @?${MCS} -d -a $(RELEASE_CM)
962
963 STRIP_STABS= :
964 $(RELEASE_BUILD)STRIP_STABS= $(STRIP) -x $@
965 $(SRCDBGBLD)STRIP_STABS= :
966
967 POST_PROCESS_O= $(PROCESS_COMMENT) $@
968 POST_PROCESS_A=
969 POST_PROCESS_SO= $(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
970 $(ELFSIGN_OBJECT)
971 POST_PROCESS= $(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
972 $(ELFSIGN_OBJECT)
973
974 #
975 # chk4ubin is a tool that inspects a module for a symbol table
976 # ELF section size which can trigger an OBP bug on older platforms.
977 # This problem affects only specific sun4u bootable modules.
978 #
979 CHK4UBIN= $(ONBLD_TOOLS)/bin/$(MACH)/chk4ubin
980 CHK4UBINFLAGS=
|