forked from ecraven/g13
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
96 lines (73 loc) · 2.18 KB
/
Makefile
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
VERSION := `grep "VERSION" g13gui/common.py |awk '{ print $$3 }' |tr -d "'"`
GITBRANCH ?= master
PIPENV := pipenv
PYTHON := `which python3`
PIP := ${PYTHON} -m pip
DISTRO := $(shell \
lsb_release -i \
|awk -F: '{ print $$2 }' \
|sed -e 's/[ \t]*//g' \
|tr '[A-Z]' '[a-z]' \
|sed -e 's/linux//g')
ifeq (${DISTRO},ubuntu)
DISTRO := debian
endif
ifeq (${DISTRO},manjaro)
DISTRO := archlinux
else ifeq (${DISTRO},arch)
DISTRO := archlinux
endif
$(warning Building on ${DISTRO})
all: ${DISTRO}
clean: ${DISTRO}-clean
rm -rf build/
rm -rf env/
install: ${DISTRO}-install
archlinux:
mkdir -p build
makepkg --nodeps
mv g13gui*.pkg.tar.zst build
archlinux-clean:
rm -f g13gui-git-*-any.pkg.tar.zst
rm -rf g13gui-git/
rm -rf pkg/
rm -rf src/
archlinux-install:
makepkg -i
fedora:
rpmdev-setuptree
cp g13gui.spec ~/rpmbuild/SPECS
tar -zcf ~/rpmbuild/SOURCES/g13gui-${VERSION}.tar.gz .
rpmbuild -bb ~/rpmbuild/SPECS/g13gui.spec
mkdir -p build
mv ~/rpmbuild/RPMS/*/g13gui*.rpm build/
fedora-clean:
rm -rf ~/rpmbuild
fedora-install:
debian:
mkdir -p build
gbp buildpackage --git-verbose --git-ignore-branch --git-debian-branch=$(GITBRANCH) -us -ui -uc
mv ../g13gui_$(VERSION)* build
debian-install:
sudo dpkg -i g13gui_$(VERSION).deb
debian-clean:
debclean
debian-build-source: debian-clean
mkdir -p build
gbp buildpackage -S --git-verbose --git-ignore-branch --git-debian-branch=$(GITBRANCH) -us -uc
mv ../g13gui_$(VERSION)* build
debian-release: debian-build-source
env:
python3 -m venv env
tools/in-env python3 -m pip install -r requirements.txt
test: env
PYTHONPATH=. tools/in-env python3 -m g13gui.tests
dist: clean
mkdir -p build
tar --exclude=build --exclude=.drone.yml --exclude-vcs -zcf build/g13gui_$(VERSION).tar.gz .
docker run -ti -v ${PWD}:/srcs -w /srcs fedora:latest tools/dockerbuild.sh fedora
docker run -ti -v ${PWD}:/srcs -w /srcs debian:latest tools/dockerbuild.sh debian
docker run -ti -v ${PWD}:/srcs -w /srcs archlinux:latest tools/dockerbuild.sh archlinux
.PHONY: all clean install test
.PHONY: archlinux archlinux-clean archlinux-install
.PHONY: debian debian-build debian-clean debian-build-source debian-release