contrib/packaging/Makefile
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 12 May 2018 18:44:03 -0700
changeset 38460 7f738edc4a27
parent 38459 c8ef9d897e14
child 38557 ad812004c94f
permissions -rw-r--r--
packaging: dynamically define make targets We currently have make boilerplate for each instance of a distro's release. This is redundant, annoying to maintain, and prone to errors. This commit defines variables holding available releases for various distros. We then iterate through the list and dynamically define make targets. Differential Revision: https://phab.mercurial-scm.org/D3761
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
     1
$(eval HGROOT := $(shell cd ../..; pwd))
29003
c6b108555dfa make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents: 28995
diff changeset
     2
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
     3
DEBIAN_CODENAMES := \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
     4
  jessie \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
     5
  stretch \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
     6
  buster
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
     7
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
     8
UBUNTU_CODENAMES := \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
     9
  trusty \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    10
  xenial \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    11
  artful \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    12
  bionic \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    13
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    14
FEDORA_RELEASES := \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    15
  20 \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    16
  21
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    17
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    18
CENTOS_RELEASES := \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    19
  5 \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    20
  6 \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    21
  7
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    22
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    23
# Build a Python for these CentOS releases.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    24
CENTOS_WITH_PYTHON_RELEASES := 5 6
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    25
2244
76be4e66ddc8 Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2235
diff changeset
    26
help:
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    27
	@echo 'Packaging Make Targets'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    28
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    29
	@echo 'docker-centos-{$(strip $(CENTOS_RELEASES))}'
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    30
	@echo '   Build an RPM for a specific CentOS version using Docker.'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    31
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    32
	@echo 'docker-debian-{$(strip $(DEBIAN_CODENAMES))}'
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    33
	@echo '   Build Debian packages specific to a Debian distro using Docker.'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    34
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    35
	@echo 'docker-fedora-{$(strip $(FEDORA_RELEASES))}'
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    36
	@echo '   Build an RPM for a specific Fedora version using Docker.'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    37
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    38
	@echo 'docker-ubuntu-{$(strip $(UBUNTU_CODENAMES))}'
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    39
	@echo '   Build Debian package specific to an Ubuntu distro using Docker.'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    40
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    41
	@echo 'docker-ubuntu-{$(strip $(UBUNTU_CODENAMES))}-ppa'
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    42
	@echo '   Build a source-only Debian package specific to an Ubuntu distro'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    43
	@echo '   using Docker.'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    44
	@echo ''
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    45
	@echo 'linux-wheels'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    46
	@echo '   Build Linux manylinux wheels using Docker.'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    47
	@echo ''
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    48
	@echo 'linux-wheels-{x86_64, i686}'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    49
	@echo '   Build Linux manylinux wheels for a specific architecture using Docker'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    50
	@echo ''
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    51
	@echo 'deb'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    52
	@echo '   Build a Debian package locally targeting the current system'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    53
	@echo ''
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    54
	@echo 'ppa'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    55
	@echo '   Build a Debian source package locally targeting the current system'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    56
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    57
	@echo 'centos-{$(strip $(CENTOS_RELEASES))}'
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    58
	@echo '   Build an RPM for a specific CentOS version locally'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    59
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    60
	@echo 'fedora-{$(strip $(FEDORA_RELEASES))}'
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    61
	@echo '   Build an RPM for a specific Fedora version locally'
1426
e84c69b43cdb add a target for running only one test
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1423
diff changeset
    62
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    63
.PHONY: help
7893
606723f4a327 enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents: 7791
diff changeset
    64
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    65
.PHONY: deb
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    66
deb:
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    67
	./builddeb
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    68
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    69
.PHONY: ppa
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    70
ppa:
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    71
	./builddeb --source-only
1008
85272e96b96a Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    72
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    73
# Debian targets.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    74
define debian_targets =
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    75
.PHONY: docker-debian-$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    76
docker-debian-$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    77
	./dockerdeb debian $(1)
21559
9a9de26ad99a make: add a basic osx mpkg target
Matt Mackall <mpm@selenic.com>
parents: 21255
diff changeset
    78
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    79
endef
24971
ab75baaf81d5 builddeb: new script for building a deb package
Augie Fackler <augie@google.com>
parents: 24859
diff changeset
    80
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    81
$(foreach codename,$(DEBIAN_CODENAMES),$(eval $(call debian_targets,$(codename))))
24973
4c4d0012db4f dockerdeb: rules to build a debian package using docker
Augie Fackler <augie@google.com>
parents: 24971
diff changeset
    82
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    83
# Ubuntu targets.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    84
define ubuntu_targets =
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    85
.PHONY: docker-ubuntu-$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    86
docker-ubuntu-$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    87
	./dockerdeb ubuntu $(1)
28457
e6310cdcc4d0 dockerdeb: add Ubuntu Trusty
Anton Shestakov <av6@dwimlabs.net>
parents: 28430
diff changeset
    88
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    89
.PHONY: docker-ubuntu-$(1)-ppa
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    90
docker-ubuntu-$(1)-ppa:
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    91
	./dockerdeb ubuntu $(1) --source-only
29034
e5e2f1cc6931 ubuntu-trusty-ppa: add makefile rule
Sean Farley <sean@farley.io>
parents: 29033
diff changeset
    92
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    93
endef
29033
cab69dc44750 ubuntu-xenial: add makefile rule to build deb
Sean Farley <sean@farley.io>
parents: 29032
diff changeset
    94
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    95
$(foreach codename,$(UBUNTU_CODENAMES),$(eval $(call ubuntu_targets,$(codename))))
29036
cbf282da720a ubuntu-xenial-ppa: add makefile rule
Sean Farley <sean@farley.io>
parents: 29035
diff changeset
    96
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    97
# Fedora targets.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    98
define fedora_targets =
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    99
.PHONY: fedora$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   100
fedora$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   101
	mkdir -p $$(HGROOT)/packages/fedora$(1)
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   102
	./buildrpm
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   103
	cp $$(HGROOT)/rpmbuild/RPMS/*/* $$(HGROOT)/packages/fedora$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   104
	cp $$(HGROOT)/rpmbuild/SRPMS/* $$(HGROOT)/packages/fedora$(1)
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   105
	rm -rf $(HGROOT)/rpmbuild
21255
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents: 21229
diff changeset
   106
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   107
.PHONY: docker-fedora$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   108
docker-fedora$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   109
	mkdir -p $$(HGROOT)/packages/fedora($1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   110
	./dockerrpm fedora$(1)
21255
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents: 21229
diff changeset
   111
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   112
endef
23882
272b1cc3e83e docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents: 23125
diff changeset
   113
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   114
$(foreach release,$(FEDORA_RELEASES),$(eval $(call fedora_targets,$(release))))
22443
d8818616c45e docker: add CentOS 5
Mads Kiilerich <madski@unity3d.com>
parents: 22442
diff changeset
   115
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   116
# CentOS targets.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   117
define centos_targets
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   118
.PHONY: centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   119
centos$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   120
	mkdir -p $$(HGROOT)/packages/centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   121
	./buildrpm $$(if $$(filter $(1),$$(CENTOS_WITH_PYTHON_RELEASES)),--withpython)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   122
	cp $$(HGROOT)/rpmbuild/RPMS/*/* $$(HGROOT)/packages/centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   123
	cp $$(HGROOT)/rpmbuild/SRPMS/* $$(HGROOT)/packages/centos$(1)
21255
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents: 21229
diff changeset
   124
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   125
.PHONY: docker-centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   126
docker-centos$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   127
	mkdir -p $$(HGROOT)/packages/centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   128
	./dockerrpm centos$(1) $$(if $$(filter $(1),$$(CENTOS_WITH_PYTHON_RELEASES)),--withpython)
21255
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents: 21229
diff changeset
   129
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   130
endef
23033
1d354814ff4d docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents: 22443
diff changeset
   131
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   132
$(foreach release,$(CENTOS_RELEASES),$(eval $(call centos_targets,$(release))))
23033
1d354814ff4d docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents: 22443
diff changeset
   133
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   134
.PHONY: linux-wheels
32080
fcddcf442e4f packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents: 31611
diff changeset
   135
linux-wheels: linux-wheels-x86_64 linux-wheels-i686
fcddcf442e4f packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents: 31611
diff changeset
   136
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   137
.PHONY: linux-wheels-x86_64
32080
fcddcf442e4f packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents: 31611
diff changeset
   138
linux-wheels-x86_64:
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   139
	docker run -e "HGTEST_JOBS=$(shell nproc)" --rm -ti -v `pwd`/../..:/src quay.io/pypa/manylinux1_x86_64 /src/contrib/packaging/build-linux-wheels.sh
32080
fcddcf442e4f packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents: 31611
diff changeset
   140
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   141
.PHONY: linux-wheels-i686
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   142
linux-wheels-i686:
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   143
	docker run -e "HGTEST_JOBS=$(shell nproc)" --rm -ti -v `pwd`/../..:/src quay.io/pypa/manylinux1_i686 linux32 /src/contrib/packaging/build-linux-wheels.sh