summaryrefslogtreecommitdiff
path: root/Makefile
blob: 9ace978de62935b7fd003676a0f1d08b3b7cee0c (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
define get_package_version
IFS=' ()' read _ ver _ < $(1)/debian/changelog && echo $${ver##*:}
endef

arch := $(shell dpkg-architecture -q DEB_HOST_ARCH)
version := $(shell $(call get_package_version, .))

fido_version := $(shell $(call get_package_version, libfido2))
dh_runit_version := $(shell $(call get_package_version, dh-runit))
# fido_version = 1.4.0-2
# dh_runit_version = 2.8.11

packages = openssh-client openssh-server openssh-sftp-server

package_files = $(addsuffix _$(version)_$(arch).deb,$(addprefix ../,$(packages)))

fido_package_files = \
	fido2-tools_$(fido_version)_$(arch).deb \
	fido2-tools-dbgsym_$(fido_version)_$(arch).deb \
	libfido2-1_$(fido_version)_$(arch).deb \
	libfido2-1-dbgsym_$(fido_version)_$(arch).deb \
	libfido2-dev_$(fido_version)_$(arch).deb \
	libfido2-doc_$(fido_version)_all.deb

dh_runit_package_files = \
	dh-runit_$(dh_runit_version)_all.deb \
	runit-helper_$(dh_runit_version)_all.deb

committed_build_products = config.guess config.h.in config.sub configure

.DEFAULT_GOAL = build-stamp

gitignore:
	git checkout $(committed_build_products)

build-stamp: libfido2/install-stamp dh-runit/install-stamp

build-stamp: pkgs=$(package_files)
libfido2/build-stamp: pkgs=$(fido_package_files)
dh-runit/build-stamp: pkgs=$(dh_runit_package_files)

build-stamp libfido2/build-stamp dh-runit/build-stamp:
	cd $(dir $@) && mk-build-deps ./debian/control --install --root-cmd sudo --remove || true
	cd $(dir $@) && dpkg-buildpackage -us -uc -nc
	for pkg in $(pkgs); do [ -e "$$pkg" ] || exit; done
	touch $@

$(package_files): build-stamp
$(fido_package_files): libfido2/build-stamp
$(dh_runit_package_files): dh-runit/build-stamp

install: libfido2/install-stamp dh-runit/install-stamp install-stamp

libfido2/install-stamp: dh-runit/install-stamp libfido2/build-stamp
	sudo dpkg -i \
		libfido2-1_$(fido_version)_$(arch).deb \
		libfido2-dev_$(fido_version)_$(arch).deb
	touch $@

dh-runit/install-stamp: dh-runit/build-stamp
	sudo dpkg -i \
		dh-runit_$(dh_runit_version)_all.deb \
		runit-helper_$(dh_runit_version)_all.deb
	touch $@

install-stamp: $(package_files)
	sudo dpkg -i $(package_files)
	touch $@

list:
	@echo $(package_files)

cp:
	[ "$(dest)" ]
	cp --reflink $(package_files) '$(dest)'/