contrib/packaging/Makefile
author Raphaël Gomès <rgomes@octobus.net>
Tue, 09 Jul 2019 11:49:49 +0200
changeset 42748 7cae6bc29ff9
parent 40585 d0a6b2c8f8b6
child 42808 0363bb086c57
permissions -rw-r--r--
rust-parsers: switch to parse/pack_dirstate to mutate-on-loop Both `parse_dirstate` and `pack_dirstate` can operate directly on the data they're passed, which prevents the creation of intermediate data structures, simplifies the function signatures and reduces boilerplate. They are exposed directly to the Python for now, but a later patch will make use of them inside `hg-core`. Differential Revision: https://phab.mercurial-scm.org/D6628
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 \
38561
600d8d9b8551 packaging: add fedora 28
Augie Fackler <augie@google.com>
parents: 38560
diff changeset
    16
  21 \
40585
d0a6b2c8f8b6 packaging: add Fedora 29 target
Augie Fackler <raf@durin42.com>
parents: 40149
diff changeset
    17
  28 \
d0a6b2c8f8b6 packaging: add Fedora 29 target
Augie Fackler <raf@durin42.com>
parents: 40149
diff changeset
    18
  29
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    19
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    20
CENTOS_RELEASES := \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    21
  5 \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    22
  6 \
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    23
  7
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    24
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    25
# Build a Python for these CentOS releases.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    26
CENTOS_WITH_PYTHON_RELEASES := 5 6
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    27
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
    28
help:
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    29
	@echo 'Packaging Make Targets'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    30
	@echo ''
38558
52a958c982a6 packaging: make help output correct for fedora and centos targets
Augie Fackler <augie@google.com>
parents: 38557
diff changeset
    31
	@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
    32
	@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
    33
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    34
	@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
    35
	@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
    36
	@echo ''
38558
52a958c982a6 packaging: make help output correct for fedora and centos targets
Augie Fackler <augie@google.com>
parents: 38557
diff changeset
    37
	@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
    38
	@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
    39
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    40
	@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
    41
	@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
    42
	@echo ''
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    43
	@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
    44
	@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
    45
	@echo '   using Docker.'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    46
	@echo ''
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    47
	@echo 'linux-wheels'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    48
	@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
    49
	@echo ''
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    50
	@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
    51
	@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
    52
	@echo ''
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    53
	@echo 'deb'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    54
	@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
    55
	@echo ''
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    56
	@echo 'ppa'
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    57
	@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
    58
	@echo ''
38558
52a958c982a6 packaging: make help output correct for fedora and centos targets
Augie Fackler <augie@google.com>
parents: 38557
diff changeset
    59
	@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
    60
	@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
    61
	@echo ''
38558
52a958c982a6 packaging: make help output correct for fedora and centos targets
Augie Fackler <augie@google.com>
parents: 38557
diff changeset
    62
	@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
    63
	@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
    64
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    65
.PHONY: help
7893
606723f4a327 enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents: 7791
diff changeset
    66
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    67
.PHONY: deb
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    68
deb:
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    69
	./builddeb
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    70
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    71
.PHONY: ppa
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    72
ppa:
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
    73
	./builddeb --source-only
1008
85272e96b96a Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    74
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    75
# Debian targets.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    76
define debian_targets =
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    77
.PHONY: docker-debian-$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    78
docker-debian-$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    79
	./dockerdeb debian $(1)
21559
9a9de26ad99a make: add a basic osx mpkg target
Matt Mackall <mpm@selenic.com>
parents: 21255
diff changeset
    80
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    81
endef
24971
ab75baaf81d5 builddeb: new script for building a deb package
Augie Fackler <augie@google.com>
parents: 24859
diff changeset
    82
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    83
$(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
    84
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    85
# Ubuntu targets.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    86
define ubuntu_targets =
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    87
.PHONY: docker-ubuntu-$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    88
docker-ubuntu-$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    89
	./dockerdeb ubuntu $(1)
28457
e6310cdcc4d0 dockerdeb: add Ubuntu Trusty
Anton Shestakov <av6@dwimlabs.net>
parents: 28430
diff changeset
    90
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    91
.PHONY: docker-ubuntu-$(1)-ppa
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    92
docker-ubuntu-$(1)-ppa:
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    93
	./dockerdeb ubuntu $(1) --source-only
29034
e5e2f1cc6931 ubuntu-trusty-ppa: add makefile rule
Sean Farley <sean@farley.io>
parents: 29033
diff changeset
    94
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    95
endef
29033
cab69dc44750 ubuntu-xenial: add makefile rule to build deb
Sean Farley <sean@farley.io>
parents: 29032
diff changeset
    96
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    97
$(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
    98
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
    99
# Fedora targets.
38557
ad812004c94f packaging: remove stray = that confuses make(1) on my Mac
Augie Fackler <augie@google.com>
parents: 38460
diff changeset
   100
define fedora_targets
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   101
.PHONY: fedora$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   102
fedora$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   103
	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
   104
	./buildrpm
38560
bc4bbc42899a packaging: add missing path segments in cp statements in fedora build
Augie Fackler <augie@google.com>
parents: 38559
diff changeset
   105
	cp $$(HGROOT)/contrib/packaging/rpmbuild/RPMS/*/* $$(HGROOT)/packages/fedora$(1)
bc4bbc42899a packaging: add missing path segments in cp statements in fedora build
Augie Fackler <augie@google.com>
parents: 38559
diff changeset
   106
	cp $$(HGROOT)/contrib/packaging/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
   107
	rm -rf $(HGROOT)/rpmbuild
21255
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents: 21229
diff changeset
   108
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   109
.PHONY: docker-fedora$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   110
docker-fedora$(1):
38559
1c7206e7906a packaging: fix misplaced ( in docker-fedora rule definition
Augie Fackler <augie@google.com>
parents: 38558
diff changeset
   111
	mkdir -p $$(HGROOT)/packages/fedora$(1)
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   112
	./dockerrpm fedora$(1)
21255
62a2749895e4 build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents: 21229
diff changeset
   113
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   114
endef
23882
272b1cc3e83e docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents: 23125
diff changeset
   115
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   116
$(foreach release,$(FEDORA_RELEASES),$(eval $(call fedora_targets,$(release))))
22443
d8818616c45e docker: add CentOS 5
Mads Kiilerich <madski@unity3d.com>
parents: 22442
diff changeset
   117
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   118
# CentOS targets.
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   119
define centos_targets
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   120
.PHONY: centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   121
centos$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   122
	mkdir -p $$(HGROOT)/packages/centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   123
	./buildrpm $$(if $$(filter $(1),$$(CENTOS_WITH_PYTHON_RELEASES)),--withpython)
40149
9b0cdfb3c11e packaging: fix "make centos{5,6,7}"
muxator <a.mux@inwind.it>
parents: 38561
diff changeset
   124
	cp $$(HGROOT)/contrib/packaging/rpmbuild/RPMS/*/* $$(HGROOT)/packages/centos$(1)
9b0cdfb3c11e packaging: fix "make centos{5,6,7}"
muxator <a.mux@inwind.it>
parents: 38561
diff changeset
   125
	cp $$(HGROOT)/contrib/packaging/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
   126
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   127
.PHONY: docker-centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   128
docker-centos$(1):
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   129
	mkdir -p $$(HGROOT)/packages/centos$(1)
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   130
	./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
   131
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   132
endef
23033
1d354814ff4d docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents: 22443
diff changeset
   133
38460
7f738edc4a27 packaging: dynamically define make targets
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38459
diff changeset
   134
$(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
   135
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   136
.PHONY: linux-wheels
32080
fcddcf442e4f packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents: 31611
diff changeset
   137
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
   138
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   139
.PHONY: linux-wheels-x86_64
32080
fcddcf442e4f packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents: 31611
diff changeset
   140
linux-wheels-x86_64:
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   141
	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
   142
38014
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   143
.PHONY: linux-wheels-i686
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   144
linux-wheels-i686:
768bd75835d7 packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38012
diff changeset
   145
	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