-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
84 lines (65 loc) · 2.15 KB
/
Makefile
File metadata and controls
84 lines (65 loc) · 2.15 KB
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
.POSIX:
.SUFFIXES:
NAME=githubbackup
VERSION=$(shell git describe --always --match v[0-9]* HEAD)
SHORT_VERSION=$(patsubst v%,%,$(VERSION))
OUT_DIR=build
DEB_PACKAGE_DIR=$(OUT_DIR)/deb/$(NAME)-$(VERSION)
ok.sh_version=b0d162819f11ad9135d8185ec6460a342fffdd7b
ok.sh_url=https://raw.githubusercontent.com/whiteinge/ok.sh/$(ok.sh_version)/ok.sh
.PHONY: all
all: $(DEB_PACKAGE_DIR).deb
ok.sh: $(OUT_DIR)/ok.sh-$(ok.sh_version)
cp --link --force $< $@
$(OUT_DIR)/ok.sh-$(ok.sh_version): | $(OUT_DIR)/
wget $(ok.sh_url) --output-document "$@"
chmod +x "$@"
$(OUT_DIR)/:
mkdir -p $(OUT_DIR)
.PHONY: release
release: clean \
$(DEB_PACKAGE_DIR).deb \
hub release create \
--attach="$(DEB_PACKAGE_DIR).deb" \
"$(VERSION)"
.PHONY: clean
clean:
rm -rf "$(OUT_DIR)"
$(DEB_PACKAGE_DIR).deb: $(DEB_PACKAGE_DIR)/
chmod 755 $(DEB_PACKAGE_DIR)/DEBIAN/postinst
chmod 755 $(DEB_PACKAGE_DIR)/DEBIAN/postrm
chmod 755 $(DEB_PACKAGE_DIR)/DEBIAN/prerm
fakeroot dpkg-deb --build "$(DEB_PACKAGE_DIR)"
$(DEB_PACKAGE_DIR)/: \
$(DEB_PACKAGE_DIR)/DEBIAN/ \
$(DEB_PACKAGE_DIR)/usr/lib/$(NAME)/backup.sh \
$(DEB_PACKAGE_DIR)/usr/lib/$(NAME)/list_repos.sh \
$(DEB_PACKAGE_DIR)/usr/lib/$(NAME)/clone.sh \
$(DEB_PACKAGE_DIR)/usr/lib/$(NAME)/ok.sh \
$(DEB_PACKAGE_DIR)/usr/lib/$(NAME)/jwt.sh \
$(DEB_PACKAGE_DIR)/usr/lib/$(NAME)/token.sh \
$(DEB_PACKAGE_DIR)/etc/default/$(NAME) \
$(DEB_PACKAGE_DIR)/usr/lib/systemd/system/$(NAME).service \
$(DEB_PACKAGE_DIR)/usr/lib/systemd/system/$(NAME).timer \
@touch "$@"
$(DEB_PACKAGE_DIR)/DEBIAN/: \
$(DEB_PACKAGE_DIR)/DEBIAN/conffiles \
$(DEB_PACKAGE_DIR)/DEBIAN/control \
$(DEB_PACKAGE_DIR)/DEBIAN/postinst \
$(DEB_PACKAGE_DIR)/DEBIAN/postrm \
$(DEB_PACKAGE_DIR)/DEBIAN/prerm \
@touch "$@"
$(DEB_PACKAGE_DIR)/DEBIAN/control: debian/control
(cat debian/control && echo -n 'Version: ' && echo "$(SHORT_VERSION)") > "$@"
$(DEB_PACKAGE_DIR)/DEBIAN/%: debian/%
@mkdir -p "$(dir $@)"
cp -p "debian/$*" "$@"
$(DEB_PACKAGE_DIR)/etc/default/$(NAME): sys/defaults
mkdir -p "$(dir $@)"
cp $< $@
$(DEB_PACKAGE_DIR)/usr/lib/$(NAME)/%: %
mkdir -p "$(dir $@)"
cp $< $@
$(DEB_PACKAGE_DIR)/usr/lib/systemd/system/%: sys/%
mkdir -p "$(dir $@)"
cp $< $@