aboutsummaryrefslogtreecommitdiff
path: root/rules/deb.mk
blob: aa49988bf987142eca7df1e238a1fe13a63ace35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license
# at http://www.opensource.org/licenses/CDDL-1.0
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each file.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
#

# include guard:
ifeq (,$(__deb_mk))

include $(cibs-root)/rules/ips-manifest.mk

debmaker := $(cibs-root)/scripts/debmaker.pl

# Can be overriden in Makefile. Both.
deb-version = $(ips-version)

pkg-define += -D COMPONENT_VERSION="$(ips-version)"

debsdir := ./debs

deb-build-depends = \
	$(subst /,-, \
		$(subst pkg:/,,$(build-depends)) \
	)


pre-deb: depend-stamp

deb-stamp: pre-deb
	[ -n "$(debsdir)" ]
	[ -d "$(debsdir)" ] || mkdir -p "$(debsdir)"
	$(root-cmd) $(debmaker) \
		-V "$(deb-version)" \
		-S "$(name)" \
		-O "$(debsdir)" \
		$(pkg-define) \
		$(pkg-protos) \
		$(depend-manifests) \

	touch $@

deb: deb-stamp

check-build-dep-stamp: check-deb-build-dep-stamp

# issue 'make d=' to skip dependency checking:
check-deb-build-dep-stamp: d=true
check-deb-build-dep-stamp:
	@[ -z "$d" ] || [ -z "$(build-depends)" ] || dpkg -l $(deb-build-depends) || \
		(echo "type '$(MAKE) build-dep' to install build dependencies"; \
		echo "or add 'd=' to command, e. g. '$(MAKE) build d='"; \
		false)
	touch $@


# Install build dependencies:
build-dep:
	$(root-cmd) apt-get install $(deb-build-depends)

.PHONY: deb build-dep pre-deb

__deb_mk := included
endif