src/Makefile
author Padraig O'Briain <padraig.obriain@sun.com>
Thu, 25 Feb 2010 13:45:12 +0000
changeset 1791 b2a37ff09e8c
parent 1516 8c950a3b4171
child 1980 b3eac2be24bb
permissions -rw-r--r--
13994 References to package names may need to change
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     1
#
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     2
# CDDL HEADER START
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     3
#
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     7
#
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    10
# See the License for the specific language governing permissions
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    11
# and limitations under the License.
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    12
#
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    18
#
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    19
# CDDL HEADER END
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    20
#
859
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    21
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    22
# Use is subject to license terms.
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    23
#
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    24
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    25
# client.py -> /usr/bin/pkg
1231
f7b99e8118d2 9290 need a way to find the file dependencies of a package
Brock Pytlik <bpytlik@sun.com>
parents: 883
diff changeset
    26
# pkgdep.py -> /usr/bin/pkgdep
375
fa5286b09191 1773 Want tool to obtain contents of packages
johansen <johansen@sun.com>
parents: 319
diff changeset
    27
# pull.py -> /usr/bin/pkgrecv
12
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    28
# publish.py -> /usr/bin/pkgsend
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    29
# depot.py -> /usr/lib/pkg.depotd
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    30
#
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1513
diff changeset
    31
# pkg/*.py -> /usr/lib/python2.6/vendor-packages/pkg/
12
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    32
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1513
diff changeset
    33
PYTHON = /usr/bin/python2.6
30
f06ad6cb4b3f stop using flavour terminology
Stephen Hahn <sch@sun.com>
parents: 29
diff changeset
    34
f06ad6cb4b3f stop using flavour terminology
Stephen Hahn <sch@sun.com>
parents: 29
diff changeset
    35
all := TARGET = all
97
9a488b15900f Introduce a branded zone as a testing aid
Danek Duvall <danek.duvall@sun.com>
parents: 74
diff changeset
    36
link := TARGET = link
849
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 708
diff changeset
    37
install := TARGET = install
5fd94ce78823 3813 pkg build needs to fail when sub-builds fail
Dan Price <dp@eng.sun.com>
parents: 708
diff changeset
    38
packages := TARGET = packages
120
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    39
link-clean := TARGET = link-clean
124
99d3dd6ad07c clean up installation and other makefile targets
Danek Duvall <danek.duvall@sun.com>
parents: 120
diff changeset
    40
clean := TARGET = clean
99d3dd6ad07c clean up installation and other makefile targets
Danek Duvall <danek.duvall@sun.com>
parents: 120
diff changeset
    41
clobber := TARGET = clobber
181
40d571fa6ebc Revamp cli-complete test suite.
Dan Price <dp@eng.sun.com>
parents: 164
diff changeset
    42
test := TARGET = test
40d571fa6ebc Revamp cli-complete test suite.
Dan Price <dp@eng.sun.com>
parents: 164
diff changeset
    43
test-verbose := TARGET = test-verbose
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
    44
test-generate := TARGET = test-generate
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
    45
test-leaks := TARGET = test-leaks
30
f06ad6cb4b3f stop using flavour terminology
Stephen Hahn <sch@sun.com>
parents: 29
diff changeset
    46
859
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    47
SUBDIRS=web gui um po util/misc brand
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    48
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    49
all: $(SUBDIRS)
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 382
diff changeset
    50
	$(PYTHON) setup.py build
12
30ebd8d6274f sequence version now a timestamp
"Stephen Hahn <sch@sun.com>"
parents:
diff changeset
    51
859
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    52
clean: $(SUBDIRS)
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    53
	$(PYTHON) setup.py clean
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    54
	@cd pkgdefs; pwd; make clean
20
e5e53bc1c4d1 Cleaned up the build and install process. Turn the pkg directory into a
Danek Duvall <danek.duvall@sun.com>
parents: 12
diff changeset
    55
859
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    56
clobber: $(SUBDIRS)
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    57
	$(PYTHON) setup.py clobber
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    58
	@cd pkgdefs; pwd; make clobber
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    59
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    60
install: $(SUBDIRS)
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    61
	$(PYTHON) setup.py install
33
c475e7f3eab8 actually include elf.c; move pkg-modules to just modules; hoist utility modules
Stephen Hahn <sch@sun.com>
parents: 30
diff changeset
    62
859
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    63
#
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    64
# This rule propagates the current make target through all of the
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    65
# subdirectories in $SUBDIRS.
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    66
#
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    67
$(SUBDIRS): FRC
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
    68
	@cd $@; pwd; $(MAKE) $(TARGET)
422
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 395
diff changeset
    69
c69607a5bdce 2554 make install could stand to be quieter
Danek Duvall <danek.duvall@sun.com>
parents: 395
diff changeset
    70
packages: install
883
77885b2adc42 5539 SUNWpython-mako should deliver egg info
Danek Duvall <danek.duvall@sun.com>
parents: 859
diff changeset
    71
	@cd pkgdefs; pwd; $(MAKE) $(TARGET) check
30
f06ad6cb4b3f stop using flavour terminology
Stephen Hahn <sch@sun.com>
parents: 29
diff changeset
    72
22
379f0f6809ff pkgsend open, pkgsend add file, pkgsend close; Transaction object
"Stephen Hahn <sch@sun.com>"
parents: 20
diff changeset
    73
# XXX link is a developer target to connect the local machine to the current
114
e21e9aa690ad draft manual pages, index page cleanup
Stephen Hahn <sch@sun.com>
parents: 111
diff changeset
    74
# repository's working copy's versions of the commands, modules, and supporting
e21e9aa690ad draft manual pages, index page cleanup
Stephen Hahn <sch@sun.com>
parents: 111
diff changeset
    75
# files.
22
379f0f6809ff pkgsend open, pkgsend add file, pkgsend close; Transaction object
"Stephen Hahn <sch@sun.com>"
parents: 20
diff changeset
    76
PWD:sh = pwd
379f0f6809ff pkgsend open, pkgsend add file, pkgsend close; Transaction object
"Stephen Hahn <sch@sun.com>"
parents: 20
diff changeset
    77
link:
120
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    78
	ln -sf $(PWD)/client.py /usr/bin/pkg
375
fa5286b09191 1773 Want tool to obtain contents of packages
johansen <johansen@sun.com>
parents: 319
diff changeset
    79
	ln -sf $(PWD)/pull.py /usr/bin/pkgrecv
120
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    80
	ln -sf $(PWD)/publish.py /usr/bin/pkgsend
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    81
	ln -sf $(PWD)/depot.py /usr/lib/pkg.depotd
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1513
diff changeset
    82
	ln -sf $(PWD)/modules /usr/lib/python2.6/vendor-packages/pkg
244
a838828bc1fa 212 pkg-server.xml isn't auto-imported, needs to move
Stephen Hahn <sch@Sun.COM>
parents: 235
diff changeset
    83
	ln -sf $(PWD)/pkg-server.xml /var/svc/manifest/application/pkg-server.xml
578
da257532b3f2 3816 RFE UpdateManager notify users of repo updates
John Rice <john.rice@sun.com>
parents: 514
diff changeset
    84
	ln -sf $(PWD)/pkg-update.xml /var/svc/manifest/application/pkg-update.xml
114
e21e9aa690ad draft manual pages, index page cleanup
Stephen Hahn <sch@sun.com>
parents: 111
diff changeset
    85
	@cd web; pwd; $(MAKE) $(TARGET)
97
9a488b15900f Introduce a branded zone as a testing aid
Danek Duvall <danek.duvall@sun.com>
parents: 74
diff changeset
    86
	@cd brand; pwd; $(MAKE) $(TARGET)
114
e21e9aa690ad draft manual pages, index page cleanup
Stephen Hahn <sch@sun.com>
parents: 111
diff changeset
    87
	@cd man; pwd; $(MAKE) $(TARGET)
424
a767ef6bf887 2578 integrate packagemanager into ips gate
Danek Duvall <danek.duvall@sun.com>
parents: 422
diff changeset
    88
	@cd gui; pwd; $(MAKE) $(TARGET)
578
da257532b3f2 3816 RFE UpdateManager notify users of repo updates
John Rice <john.rice@sun.com>
parents: 514
diff changeset
    89
	@cd um; pwd; $(MAKE) $(TARGET)
22
379f0f6809ff pkgsend open, pkgsend add file, pkgsend close; Transaction object
"Stephen Hahn <sch@sun.com>"
parents: 20
diff changeset
    90
120
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    91
link-clean:
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    92
	rm -f /usr/bin/pkg
375
fa5286b09191 1773 Want tool to obtain contents of packages
johansen <johansen@sun.com>
parents: 319
diff changeset
    93
	rm -f /usr/bin/pkgrecv
120
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    94
	rm -f /usr/bin/pkgsend
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    95
	rm -f /usr/lib/pkg.depotd
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 1513
diff changeset
    96
	rm -f /usr/lib/python2.6/vendor-packages/pkg
244
a838828bc1fa 212 pkg-server.xml isn't auto-imported, needs to move
Stephen Hahn <sch@Sun.COM>
parents: 235
diff changeset
    97
	rm -f /var/svc/manifest/application/pkg-server.xml
578
da257532b3f2 3816 RFE UpdateManager notify users of repo updates
John Rice <john.rice@sun.com>
parents: 514
diff changeset
    98
	rm -f /var/svc/manifest/application/pkg-update.xml
120
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
    99
	@cd web; pwd; $(MAKE) $(TARGET)
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
   100
	@cd brand; pwd; $(MAKE) $(TARGET)
6fa207e1e668 Add new link-clean target to clear out developer environment
Glynn Foster <Glynn.Foster@Sun.COM>
parents: 119
diff changeset
   101
	@cd man; pwd; $(MAKE) $(TARGET)
424
a767ef6bf887 2578 integrate packagemanager into ips gate
Danek Duvall <danek.duvall@sun.com>
parents: 422
diff changeset
   102
	@cd gui; pwd; $(MAKE) $(TARGET)
578
da257532b3f2 3816 RFE UpdateManager notify users of repo updates
John Rice <john.rice@sun.com>
parents: 514
diff changeset
   103
	@cd um; pwd; $(MAKE) $(TARGET)
135
a1e20e9a9845 add CLI test suite, correct bugs found by test suite, ration out CLI options
Stephen Hahn <sch@Sun.COM>
parents: 127
diff changeset
   104
30
f06ad6cb4b3f stop using flavour terminology
Stephen Hahn <sch@sun.com>
parents: 29
diff changeset
   105
test:
395
0ae5e72ba7ee 1958 Modify setup.py to handle pkgrecv
Tom Mueller <Tom.Mueller@sun.com>
parents: 382
diff changeset
   106
	$(PYTHON) setup.py test
181
40d571fa6ebc Revamp cli-complete test suite.
Dan Price <dp@eng.sun.com>
parents: 164
diff changeset
   107
430
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
   108
test-verbose:
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
   109
	$(PYTHON) setup.py test -v
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
   110
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
   111
test-generate: 
3fb945d3bff3 2627 Test suite should have support for baselining
Brad Hall <bhall@eng.sun.com>
parents: 424
diff changeset
   112
	$(PYTHON) setup.py test -g
448
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
   113
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
   114
test-leaks:
bcfa99ac18b0 2664 test suite baseline enhancements
Brad Hall <bhall@eng.sun.com>
parents: 430
diff changeset
   115
	@cd tests; pwd; /bin/ksh memleaks.ksh
708
ef2162b85fab 4970 Add code coverage support
Brad Hall <bhall@eng.sun.com>
parents: 660
diff changeset
   116
859
a5c1965ad78e 3821 gui build is noisy again
Dan Price <dp@eng.sun.com>
parents: 849
diff changeset
   117
FRC: