Makefile (2ad72058bc680e30f084e9f9ba8ceb0f77386821) Makefile (77c29b8ee88bf82021ff549b17b44e17f2ef7d7b)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 83 unchanged lines hidden (view full) ---

92#
93PKGROOT.cmd= print $(ROOT) | sed -e s:/root_$(MACH):/root_$(PKGMACH):
94PKGROOT= $(PKGROOT.cmd:sh)
95TOOLSROOT.cmd= print $(TOOLS_PROTO) | sed -e s:/root_$(MACH):/root_$(PKGMACH):
96TOOLSROOT= $(TOOLSROOT.cmd:sh)
97PKGDEST.cmd= print $(PKGARCHIVE) | sed -e s:/$(MACH)/:/$(PKGMACH)/:
98PKGDEST= $(PKGDEST.cmd:sh)
99
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 83 unchanged lines hidden (view full) ---

92#
93PKGROOT.cmd= print $(ROOT) | sed -e s:/root_$(MACH):/root_$(PKGMACH):
94PKGROOT= $(PKGROOT.cmd:sh)
95TOOLSROOT.cmd= print $(TOOLS_PROTO) | sed -e s:/root_$(MACH):/root_$(PKGMACH):
96TOOLSROOT= $(TOOLSROOT.cmd:sh)
97PKGDEST.cmd= print $(PKGARCHIVE) | sed -e s:/$(MACH)/:/$(PKGMACH)/:
98PKGDEST= $(PKGDEST.cmd:sh)
99
100#
101# The publish transforms, EXCEPTIONS list, and some manifests need to
102# know when we're building open-only and when we're using internal
103# crypto bits.
104#
105# We only use internal crypto when we're doing a closed build, the
106# CODESIGN_USER env variable is not set, and ON_CRYPTO_BINS is not set.
107# This matches the conditions under which the internal key and cert
108# are needed for the packaged objects.
109#
110$(CLOSED_BUILD)OPEN_ONLY_BUILD= $(POUND_SIGN)
111
112USE_INTERNAL_CRYPTO= $(POUND_SIGN)
113UI1= $(CODESIGN_USER:%=$(POUND_SIGN))
114$(UI1)UI2= $(ON_CRYPTO_BINS:%=$(POUND_SIGN))
115$(CLOSED_BUILD)USE_INTERNAL_CRYPTO= $(UI1)$(UI2)
116USE_SIGNED_CRYPTO=
117$(USE_INTERNAL_CRYPTO)USE_SIGNED_CRYPTO= $(POUND_SIGN)
118
119
120EXCEPTIONS= packaging
121
122PKGMOGRIFY= pkgmogrify
123
124#
125# Always build the redistributable repository, but only build the
126# nonredistributable bits if we have access to closed source.
127#
128# Some objects that result from the closed build are still
129# redistributable, and should be packaged as part of an open-only
130# build. Access to those objects is provided via the closed-bins
131# tarball. See usr/src/tools/scripts/bindrop.sh for details.
132#
133REPOS= redist
100EXCEPTIONS= packaging
101
102PKGMOGRIFY= pkgmogrify
103
104#
105# Always build the redistributable repository, but only build the
106# nonredistributable bits if we have access to closed source.
107#
108# Some objects that result from the closed build are still
109# redistributable, and should be packaged as part of an open-only
110# build. Access to those objects is provided via the closed-bins
111# tarball. See usr/src/tools/scripts/bindrop.sh for details.
112#
113REPOS= redist
134$(CLOSED_BUILD)REPOS += extra
135
136#
137# The packages directory will contain the processed manifests as
138# direct build targets and subdirectories for package metadata extracted
139# incidentally during manifest processing.
140#
141# Nothing underneath $(PDIR) should ever be managed by SCM.
142#
143PDIR= packages.$(PKGMACH)
144
145#
146# The tools proto must be specified for dependency generation.
147# Publication from the tools proto area is managed in the
148# publication rule.
149#
150$(PDIR)/developer-build-onbld.dep:= PKGROOT= $(TOOLSROOT)
151
152PKGPUBLISHER= $(PKGPUBLISHER_REDIST)
114
115#
116# The packages directory will contain the processed manifests as
117# direct build targets and subdirectories for package metadata extracted
118# incidentally during manifest processing.
119#
120# Nothing underneath $(PDIR) should ever be managed by SCM.
121#
122PDIR= packages.$(PKGMACH)
123
124#
125# The tools proto must be specified for dependency generation.
126# Publication from the tools proto area is managed in the
127# publication rule.
128#
129$(PDIR)/developer-build-onbld.dep:= PKGROOT= $(TOOLSROOT)
130
131PKGPUBLISHER= $(PKGPUBLISHER_REDIST)
153$(PKGDEST)/repo.extra:= PKGPUBLISHER= $(PKGPUBLISHER_NONREDIST)
154
155#
156# To get these defaults, manifests should simply refer to $(PKGVERS).
157#
158PKGVERS_COMPONENT= 0.$(RELEASE)
159PKGVERS_BUILTON= $(RELEASE)
160PKGVERS_BRANCH= 0.$(ONNV_BUILDNUM)
161PKGVERS= $(PKGVERS_COMPONENT),$(PKGVERS_BUILTON)-$(PKGVERS_BRANCH)

--- 29 unchanged lines hidden (view full) ---

191 sparc_ONLY=$(POUND_SIGN) \
192 $(PKGMACH)_ONLY= \
193 ARCH=$(PKGMACH) \
194 ARCH32=$($(PKGMACH)_ARCH32) \
195 ARCH64=$($(PKGMACH)_ARCH64) \
196 PKGVERS_COMPONENT=$(PKGVERS_COMPONENT) \
197 PKGVERS_BUILTON=$(PKGVERS_BUILTON) \
198 PKGVERS_BRANCH=$(PKGVERS_BRANCH) \
132
133#
134# To get these defaults, manifests should simply refer to $(PKGVERS).
135#
136PKGVERS_COMPONENT= 0.$(RELEASE)
137PKGVERS_BUILTON= $(RELEASE)
138PKGVERS_BRANCH= 0.$(ONNV_BUILDNUM)
139PKGVERS= $(PKGVERS_COMPONENT),$(PKGVERS_BUILTON)-$(PKGVERS_BRANCH)

--- 29 unchanged lines hidden (view full) ---

169 sparc_ONLY=$(POUND_SIGN) \
170 $(PKGMACH)_ONLY= \
171 ARCH=$(PKGMACH) \
172 ARCH32=$($(PKGMACH)_ARCH32) \
173 ARCH64=$($(PKGMACH)_ARCH64) \
174 PKGVERS_COMPONENT=$(PKGVERS_COMPONENT) \
175 PKGVERS_BUILTON=$(PKGVERS_BUILTON) \
176 PKGVERS_BRANCH=$(PKGVERS_BRANCH) \
199 PKGVERS=$(PKGVERS) \
200 CLOSED_BUILD=$(CLOSED_BUILD) \
201 OPEN_BUILD=$(OPEN_ONLY_BUILD) \
202 USE_INTERNAL_CRYPTO=$(USE_INTERNAL_CRYPTO) \
203 USE_SIGNED_CRYPTO=$(USE_SIGNED_CRYPTO)
177 PKGVERS=$(PKGVERS)
204
205PKGDEP_TOKENS_i386= \
206 'PLATFORM=i86hvm' \
207 'PLATFORM=i86pc' \
208 'PLATFORM=i86xpv' \
209 'ISALIST=amd64' \
210 'ISALIST=i386'
211PKGDEP_TOKENS_sparc= \
212 'PLATFORM=sun4u' \
213 'PLATFORM=sun4v' \
214 'ISALIST=sparcv9' \
215 'ISALIST=sparc'
216PKGDEP_TOKENS= $(PKGDEP_TOKENS_$(PKGMACH))
217
218#
219# The package lists are generated with $(PKGDEP_TYPE) as their
220# dependency types, so that they can be included by either an
221# incorporation or a group package.
222#
178
179PKGDEP_TOKENS_i386= \
180 'PLATFORM=i86hvm' \
181 'PLATFORM=i86pc' \
182 'PLATFORM=i86xpv' \
183 'ISALIST=amd64' \
184 'ISALIST=i386'
185PKGDEP_TOKENS_sparc= \
186 'PLATFORM=sun4u' \
187 'PLATFORM=sun4v' \
188 'ISALIST=sparcv9' \
189 'ISALIST=sparc'
190PKGDEP_TOKENS= $(PKGDEP_TOKENS_$(PKGMACH))
191
192#
193# The package lists are generated with $(PKGDEP_TYPE) as their
194# dependency types, so that they can be included by either an
195# incorporation or a group package.
196#
223$(PDIR)/osnet-redist.mog $(PDIR)/osnet-extra.mog:= PKGDEP_TYPE= require
197$(PDIR)/osnet-redist.mog := PKGDEP_TYPE= require
224$(PDIR)/osnet-incorporation.mog:= PKGDEP_TYPE= incorporate
225
226PKGDEP_INCORP= \
227 depend fmri=consolidation/osnet/osnet-incorporation type=require
228
229#
230# All packaging build products should go into $(PDIR), so they don't
231# need to be included separately in CLOBBERFILES.

--- 12 unchanged lines hidden (view full) ---

244PROC_PKGS= $(PKGS:%=$(PDIR)/%.mog)
245
246#
247# Track the synthetic manifests separately so we can properly express
248# build rules and dependencies. The synthetic and real packages use
249# different sets of transforms and macros for pkgmogrify.
250#
251SYNTH_PKGS= osnet-incorporation osnet-redist
198$(PDIR)/osnet-incorporation.mog:= PKGDEP_TYPE= incorporate
199
200PKGDEP_INCORP= \
201 depend fmri=consolidation/osnet/osnet-incorporation type=require
202
203#
204# All packaging build products should go into $(PDIR), so they don't
205# need to be included separately in CLOBBERFILES.

--- 12 unchanged lines hidden (view full) ---

218PROC_PKGS= $(PKGS:%=$(PDIR)/%.mog)
219
220#
221# Track the synthetic manifests separately so we can properly express
222# build rules and dependencies. The synthetic and real packages use
223# different sets of transforms and macros for pkgmogrify.
224#
225SYNTH_PKGS= osnet-incorporation osnet-redist
252$(CLOSED_BUILD)SYNTH_PKGS += osnet-extra
253DEP_SYNTH_PKGS= $(SYNTH_PKGS:%=$(PDIR)/%.dep)
254PROC_SYNTH_PKGS= $(SYNTH_PKGS:%=$(PDIR)/%.mog)
255
256#
257# For each package, we determine the target repository based on
258# manifest-embedded metadata. Because we make that determination on
259# the fly, the publication target cannot be expressed as a
260# subdirectory inside the unknown-by-the-makefile target repository.

--- 231 unchanged lines hidden (view full) ---

492# The eval statement should begin with the default values, and the
493# output from pkgmogrify (if any) should be in the form of a
494# variable assignment to override those defaults.
495#
496# - When this rule completes execution, it must leave an updated
497# target file ($@) in place, or make will reprocess the package
498# every time it encounters it as a dependency. Hence the "touch"
499# statement to ensure that the target is created, even when
226DEP_SYNTH_PKGS= $(SYNTH_PKGS:%=$(PDIR)/%.dep)
227PROC_SYNTH_PKGS= $(SYNTH_PKGS:%=$(PDIR)/%.mog)
228
229#
230# For each package, we determine the target repository based on
231# manifest-embedded metadata. Because we make that determination on
232# the fly, the publication target cannot be expressed as a
233# subdirectory inside the unknown-by-the-makefile target repository.

--- 231 unchanged lines hidden (view full) ---

465# The eval statement should begin with the default values, and the
466# output from pkgmogrify (if any) should be in the form of a
467# variable assignment to override those defaults.
468#
469# - When this rule completes execution, it must leave an updated
470# target file ($@) in place, or make will reprocess the package
471# every time it encounters it as a dependency. Hence the "touch"
472# statement to ensure that the target is created, even when
500# pkgmogrify encounters an abort in the publish transforms. This
501# will not cause publication failures when switching build
502# environments, because $(CLOSED_BUILD) and $(OPEN_ONLY) are
503# referenced in $(PKGMOG_DEFINES), and changes will therefore
504# trigger a rebuild for command dependency failure. (Command
505# dependency checking is turned on by .KEEP_STATE: above.)
473# pkgmogrify encounters an abort in the publish transforms.
506#
507
508.SUFFIXES: .mf .mog .dep .res .pub
509
510$(PDIR)/%.mog: manifests/%.mf
511 @print "Processing manifest $(<F)"
512 @pkgfmt -c $<
513 $(PKGDEBUG)$(RM) $(@) $(@:%.mog=%) $(@:%.mog=%.nodepend) \

--- 229 unchanged lines hidden (view full) ---

743
744FRC:
745
746# EXPORT DELETE START
747XMOD_PKGS= \
748 BRCMbnx \
749 BRCMbnxe \
750 SUNWadpu320 \
474#
475
476.SUFFIXES: .mf .mog .dep .res .pub
477
478$(PDIR)/%.mog: manifests/%.mf
479 @print "Processing manifest $(<F)"
480 @pkgfmt -c $<
481 $(PKGDEBUG)$(RM) $(@) $(@:%.mog=%) $(@:%.mog=%.nodepend) \

--- 229 unchanged lines hidden (view full) ---

711
712FRC:
713
714# EXPORT DELETE START
715XMOD_PKGS= \
716 BRCMbnx \
717 BRCMbnxe \
718 SUNWadpu320 \
751 SUNWcryptoint \
752 SUNWibsdpib \
753 SUNWkdc \
754 SUNWlsimega \
719 SUNWibsdpib \
720 SUNWkdc \
721 SUNWlsimega \
755 SUNWsvvs \
756 SUNWwbint \
757 SUNWwbsup
758
759EXPORT_SRC: CRYPT_SRC
760 $(RM) $(XMOD_PKGS:%=manifests/%.mf)
761 $(RM) Makefile+
762 $(SED) -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
763 < Makefile > Makefile+
764 $(MV) -f Makefile+ Makefile
765 $(CHMOD) 444 Makefile
722 SUNWwbint \
723 SUNWwbsup
724
725EXPORT_SRC: CRYPT_SRC
726 $(RM) $(XMOD_PKGS:%=manifests/%.mf)
727 $(RM) Makefile+
728 $(SED) -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
729 < Makefile > Makefile+
730 $(MV) -f Makefile+ Makefile
731 $(CHMOD) 444 Makefile
766
767CRYPT_SRC:
768 $(RM) manifests/SUNWcryptoint.mf+
769 $(SED) -e "/^# CRYPT DELETE START/,/^# CRYPT DELETE END/d" \
770 < manifests/SUNWcryptoint.mf > manifests/SUNWcryptoint.mf+
771 $(MV) manifests/SUNWcryptoint.mf+ manifests/SUNWcryptoint.mf
772 $(CHMOD) 444 manifests/SUNWcryptoint.mf
773
774# EXPORT DELETE END
732# EXPORT DELETE END