aboutsummarylogtreecommitdiffstats
path: root/Makefile
blob: 5af532c048d3d8c9ee2f58022296534ad79d7662 (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
# vim: ts=4 sw=4 noet

BUILD	= makepkg --log --syncdeps --rmdeps --check
NAME	= $(shell awk -F '"' '/^pkgname=/ {print $$2}' PKGBUILD)

define usage

Available make targets:

  build     Build $(NAME), but do not install.
  clean     Cleanup build artifacts and logs.
  geninteg  Generate integrity checksums.
  help      Display this text.
  install   Build and install $(NAME).
  janitor   Housekeeping jobs.
  mrproper  Cleanup thoroughly, including downloaded files.
  remove    Print command to uninstall $(NAME) and its orphaned dependencies.

endef

.PHONY:	build clean geninteg help install janitor mrproper remove shc

help:
	$(info $(usage))
	@exit 0

clean:
	rm -fr logpipe* pkg src $(NAME)-*.{log,zst}*

mrproper:	clean
	rm -f $(NAME)-*.gz

geninteg:
	sed '/^b2sums=/,/)$$/d' PKGBUILD >.tmp
	makepkg --geninteg | sed 's/^\s\+/\t/' >>.tmp
	mv .tmp PKGBUILD

.SRCINFO:	PKGBUILD
	makepkg --printsrcinfo >$@

build:	PKGBUILD
	$(BUILD)

install:	PKGBUILD
	$(BUILD) --install

remove:
	@echo -e "# Run the following only if you are certain:\nsudo pacman -Rs $(NAME)"

janitor:	.gitignore .SRCINFO
	sort -o $< $<

shc:	PKGBUILD *.sh
	shcare $^ || shellcheck $^