blob: 238129269b1b67c9f7c771b2013a101b35cf6626 (
plain) (
blame)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie
export DEB_CFLAGS_MAINT_APPEND=-Wp,-D_FORTIFY_SOURCE=2 -fPIC
export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed -pie
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
CODENAME := $(shell lsb_release -cs)
BUILDDIR_unit = $(CURDIR)/debian/build-unit
BUILDDIR_unit_debug = $(CURDIR)/debian/build-unit-debug
INSTALLDIR = $(CURDIR)/debian/unit
INSTALLDIR_dev = $(CURDIR)/debian/unit-dev
BASEDIR = $(CURDIR)
DOTESTS = 0
njs:
dh_testdir
cd pkg/contrib && make .njs
touch $@
config.env.%: njs
dh_testdir
mkdir -p $(BUILDDIR_$*)
cp -Pa $(CURDIR)/auto $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/configure $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/src $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/test $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/version $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/CHANGES $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/LICENSE $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/NOTICE $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/README.md $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/CONTRIBUTING.md $(BUILDDIR_$*)/
cp -Pa $(CURDIR)/go $(BUILDDIR_$*)/
mkdir -p $(BUILDDIR_$*)/docs/man
cp -Pa $(CURDIR)/docs/man/unitd.8.in $(BUILDDIR_$*)/docs/man/
touch $@
configure.unit: config.env.unit
cd $(BUILDDIR_unit) && \
PKG_CONFIG_PATH=$(CURDIR)/pkg/contrib/njs/build \
CFLAGS= ./configure \
%%CONFIGURE_ARGS%% \
--modules=/usr/lib/unit/modules \
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
--cc-opt="$(CFLAGS)" \
--ld-opt="$(LDFLAGS)"
touch $@
configure.unit_debug: config.env.unit_debug
cd $(BUILDDIR_unit_debug) && \
PKG_CONFIG_PATH=$(CURDIR)/pkg/contrib/njs/build \
CFLAGS= ./configure \
%%CONFIGURE_ARGS%% \
--modules=/usr/lib/unit/debug-modules \
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
--cc-opt="$(CFLAGS)" \
--ld-opt="$(LDFLAGS)" \
--debug
touch $@
build-arch.%: configure.%
dh_testdir
$(MAKE) -C $(BUILDDIR_$*)
$(MAKE) -C $(BUILDDIR_$*) build/libunit.a
ifeq ($(DOTESTS), 1)
$(MAKE) -C $(BUILDDIR_$*) tests
endif
touch $@
do.tests: build
dh_testdir
ifeq ($(DOTESTS), 1)
cd $(BUILDDIR_unit) && ./build/tests
cd $(BUILDDIR_unit_debug) && ./build/tests
endif
touch $@
build-indep:
dh_testdir
touch $@
build-arch: build-arch.unit build-arch.unit_debug
dh_testdir
touch $@
build: build-arch build-indep
dh_testdir
touch $@
clean:
dh_testdir
dh_testroot
dh_clean
find $(CURDIR) -maxdepth 1 -size 0 -delete
rm -rf $(BUILDDIR_unit) $(BUILDDIR_unit_debug)
install: build do.tests
dh_testdir
dh_testroot
dh_prep
dh_installdirs
dh_installsystemd -punit --name=unit unit.service
dh_installsystemd -punit --name=unit-debug --no-start --no-enable unit-debug.service
dh_installlogrotate
cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR) make install
cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR_dev) make libunit-install
install -m 755 $(BUILDDIR_unit_debug)/build/unitd $(INSTALLDIR)/usr/sbin/unitd-debug
install -m 644 $(BUILDDIR_unit_debug)/build/libunit.a $(INSTALLDIR_dev)/usr/lib/$(DEB_HOST_MULTIARCH)/libunit-debug.a
mkdir -p $(INSTALLDIR)/usr/share/doc/unit/examples
install -m 644 debian/unit.example.config $(INSTALLDIR)/usr/share/doc/unit/examples/example.config
install -m 644 CHANGES $(INSTALLDIR)/usr/share/doc/unit/changelog
install -m 644 README.md $(INSTALLDIR)/usr/share/doc/unit/
install -m 644 CONTRIBUTING.md $(INSTALLDIR)/usr/share/doc/unit/
install -m 644 NOTICE $(INSTALLDIR)/usr/share/doc/unit/
binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_link
dh_strip --dbg-package=unit-dbg
dh_shlibdeps
dh_compress
dh_fixperms
dh_installdeb
dh_perl
dh_gencontrol
dh_md5sums
dh_builddeb
binary-arch: install
binary: binary-indep binary-arch
.PHONY: clean binary-indep binary-arch binary install build
|