Makefile (67048e0fd1ad0154eb457cc2b9e78c9d9938283b) Makefile (e8921a52c53ee69f7b65f054d9b2e886139daa59)
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

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

18#
19# CDDL HEADER END
20#
21
22#
23# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
24# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
25# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
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

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

18#
19# CDDL HEADER END
20#
21
22#
23# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
24# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
25# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
26# Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
26#
27
28include $(SRC)/Makefile.master
29include $(SRC)/Makefile.buildnum
30
31#
32# Make sure we're getting a consistent execution environment for the
33# embedded scripts.

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

184 PKGVERS_COMPONENT=$(PKGVERS_COMPONENT) \
185 PKGVERS_BUILTON=$(PKGVERS_BUILTON) \
186 PKGVERS_BRANCH=$(PKGVERS_BRANCH) \
187 PKGVERS=$(PKGVERS) \
188 PERL_ARCH=$(PERL_ARCH) \
189 PERL_VERSION=$(PERL_VERSION) \
190 PERL_PKGVERS=$(PERL_PKGVERS) \
191 PYTHON_VERSION=$(PYTHON_VERSION) \
27#
28
29include $(SRC)/Makefile.master
30include $(SRC)/Makefile.buildnum
31
32#
33# Make sure we're getting a consistent execution environment for the
34# embedded scripts.

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

185 PKGVERS_COMPONENT=$(PKGVERS_COMPONENT) \
186 PKGVERS_BUILTON=$(PKGVERS_BUILTON) \
187 PKGVERS_BRANCH=$(PKGVERS_BRANCH) \
188 PKGVERS=$(PKGVERS) \
189 PERL_ARCH=$(PERL_ARCH) \
190 PERL_VERSION=$(PERL_VERSION) \
191 PERL_PKGVERS=$(PERL_PKGVERS) \
192 PYTHON_VERSION=$(PYTHON_VERSION) \
193 PYTHON3_VERSION=$(PYTHON3_VERSION) \
192 PYTHON_PKGVERS=$(PYTHON_PKGVERS) \
194 PYTHON_PKGVERS=$(PYTHON_PKGVERS) \
195 PYTHON3_PKGVERS=$(PYTHON3_PKGVERS) \
196 python2_ONLY=$(BUILDPY2) \
197 python3_ONLY=$(BUILDPY3) \
193 JAVA_8_ONLY=$(JAVA_8_ONLY) \
194 JAVA_7_ONLY=$(JAVA_7_ONLY)
195
196PKGDEP_TOKENS_i386= \
197 'PLATFORM=i86hvm' \
198 'PLATFORM=i86pc' \
199 'PLATFORM=i86xpv' \
200 'ISALIST=amd64' \

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

225 license-list
226
227#
228# By default, PKGS will list all manifests. To build and/or publish a
229# subset of packages, override this on the command line or in the
230# build environment and then reference (implicitly or explicitly) the all
231# or install targets.
232#
198 JAVA_8_ONLY=$(JAVA_8_ONLY) \
199 JAVA_7_ONLY=$(JAVA_7_ONLY)
200
201PKGDEP_TOKENS_i386= \
202 'PLATFORM=i86hvm' \
203 'PLATFORM=i86pc' \
204 'PLATFORM=i86xpv' \
205 'ISALIST=amd64' \

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

230 license-list
231
232#
233# By default, PKGS will list all manifests. To build and/or publish a
234# subset of packages, override this on the command line or in the
235# build environment and then reference (implicitly or explicitly) the all
236# or install targets.
237#
233MANIFESTS :sh= (cd manifests; print *.mf)
238# We want some manifests to optionally build based on environment options, so
239# those are excluded when generating the list of manifests and added back in if
240# necessary. We also want a relatively easy way to add files to the list of
241# manifests given special treatment. Add any other special ones to the
242# SPECIAL_MANIFESTS variable. It can contain wildcards in regexp form, i.e.
243# SUNW.* as one useful example.
244#
245SPECIAL_MANIFESTS = system-library-python-.*
246LIST_MANIFESTS_CMD = (cd manifests ; /usr/bin/ls -1 *.mf |\
247 $(SED) $(SPECIAL_MANIFESTS:%=-e '/^%$$/d') )
248MANIFESTS = $(LIST_MANIFESTS_CMD:sh)
249
250# Conditionally add back python modules
251$(BUILDPY2) MANIFESTS += \
252 system-library-python-libbe-2.mf \
253 system-library-python-solaris-2.mf \
254 system-library-python-zfs-2.mf
255$(BUILDPY3) MANIFESTS += \
256 system-library-python-libbe-3.mf \
257 system-library-python-solaris-3.mf \
258 system-library-python-zfs-3.mf
259
234PKGS= $(MANIFESTS:%.mf=%)
235DEP_PKGS= $(PKGS:%=$(PDIR)/%.dep)
236PROC_PKGS= $(PKGS:%=$(PDIR)/%.mog)
237
238#
239# Track the synthetic manifests separately so we can properly express
240# build rules and dependencies. The synthetic and real packages use
241# different sets of transforms and macros for pkgmogrify.

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

264
265#
266# Any given repository- and status-specific package list may be empty,
267# but we can only determine that dynamically, so we always generate all
268# lists for each repository we're building.
269#
270# The meanings of each package status are as follows:
271#
260PKGS= $(MANIFESTS:%.mf=%)
261DEP_PKGS= $(PKGS:%=$(PDIR)/%.dep)
262PROC_PKGS= $(PKGS:%=$(PDIR)/%.mog)
263
264#
265# Track the synthetic manifests separately so we can properly express
266# build rules and dependencies. The synthetic and real packages use
267# different sets of transforms and macros for pkgmogrify.

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

290
291#
292# Any given repository- and status-specific package list may be empty,
293# but we can only determine that dynamically, so we always generate all
294# lists for each repository we're building.
295#
296# The meanings of each package status are as follows:
297#
272# PKGSTAT meaning
273# ---------- ----------------------------------------------------
274# noincorp Do not include in incorporation or group package
298# PKGSTAT meaning
299# ---------- ----------------------------------------------------
300# noincorp Do not include in incorporation or group package
275# obsolete Include in incorporation, but not group package
276# renamed Include in incorporation, but not group package
277# current Include in incorporation and group package
278#
279# Since the semantics of the "noincorp" package status dictate that
280# such packages are not included in the incorporation or group packages,
281# there is no need to build noincorp package lists.
282#

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

305# |
306# % | use pkgdepend resolve to resolve dependencies
307# |
308# manifest with dependencies resolved (mypkg.res)
309# |
310# | use pkgsend to publish the package
311# |
312# placeholder to indicate successful publication (mypkg.pub)
301# obsolete Include in incorporation, but not group package
302# renamed Include in incorporation, but not group package
303# current Include in incorporation and group package
304#
305# Since the semantics of the "noincorp" package status dictate that
306# such packages are not included in the incorporation or group packages,
307# there is no need to build noincorp package lists.
308#

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

331# |
332# % | use pkgdepend resolve to resolve dependencies
333# |
334# manifest with dependencies resolved (mypkg.res)
335# |
336# | use pkgsend to publish the package
337# |
338# placeholder to indicate successful publication (mypkg.pub)
313#
339#
314# * This may be suppressed via SUPPRESSPKGDEP. The resulting
315# packages will install correctly, but care must be taken to
316# install all dependencies, because pkg will not have the input
317# it needs to determine this automatically.
318#
319# % This is included in this diagram to make the picture complete, but
320# this is a point of synchronization in the build process.
321# Dependency resolution is actually done once on the entire set of

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

345# repository metadata (catalogs and search indices)
346# |
347# | pkgrepo refresh
348# |
349# published packages
350# | |
351# | | pkgsend publish
352# | |
340# * This may be suppressed via SUPPRESSPKGDEP. The resulting
341# packages will install correctly, but care must be taken to
342# install all dependencies, because pkg will not have the input
343# it needs to determine this automatically.
344#
345# % This is included in this diagram to make the picture complete, but
346# this is a point of synchronization in the build process.
347# Dependency resolution is actually done once on the entire set of

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

371# repository metadata (catalogs and search indices)
372# |
373# | pkgrepo refresh
374# |
375# published packages
376# | |
377# | | pkgsend publish
378# | |
353# repositories resolved dependencies
379# repositories resolved dependencies
354# | |
355# pkgsend | | pkgdepend resolve
380# | |
381# pkgsend | | pkgdepend resolve
356# create-repository |
382# create-repository |
357# | generated dependencies
358# repo directories |
359# | pkgdepend
360# |
361# processed manifests
383# | generated dependencies
384# repo directories |
385# | pkgdepend
386# |
387# processed manifests
362#
388#
363
364ALL_TARGETS= $(PROC_SYNTH_PKGS) proto_list_$(PKGMACH)
365
366all: $(ALL_TARGETS)
367
368#
369# This will build the directory to contain the processed manifests
370# and the metadata symlinks.

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

680
681protocmp: makesilent
682 @validate_pkg -a $(PKGMACH) -v \
683 $(EXCEPTIONS:%=-e $(CODEMGR_WS)/exception_lists/%) \
684 -m $(PDIR) -p $(PKGROOT) -p $(TOOLSROOT)
685
686pmodes: makesilent
687 @validate_pkg -a $(PKGMACH) -M -m $(PDIR) \
389
390ALL_TARGETS= $(PROC_SYNTH_PKGS) proto_list_$(PKGMACH)
391
392all: $(ALL_TARGETS)
393
394#
395# This will build the directory to contain the processed manifests
396# and the metadata symlinks.

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

706
707protocmp: makesilent
708 @validate_pkg -a $(PKGMACH) -v \
709 $(EXCEPTIONS:%=-e $(CODEMGR_WS)/exception_lists/%) \
710 -m $(PDIR) -p $(PKGROOT) -p $(TOOLSROOT)
711
712pmodes: makesilent
713 @validate_pkg -a $(PKGMACH) -M -m $(PDIR) \
688 -e $(CODEMGR_WS)/exception_lists/pmodes
714 -e $(CODEMGR_WS)/exception_lists/pmodes
689
690check: protocmp pmodes
691
692protolist: proto_list_$(PKGMACH)
693
694proto_list_$(PKGMACH): $(PROC_PKGS)
695 @validate_pkg -a $(PKGMACH) -L -m $(PDIR) > $(@)
696

--- 39 unchanged lines hidden ---
715
716check: protocmp pmodes
717
718protolist: proto_list_$(PKGMACH)
719
720proto_list_$(PKGMACH): $(PROC_PKGS)
721 @validate_pkg -a $(PKGMACH) -L -m $(PDIR) > $(@)
722

--- 39 unchanged lines hidden ---