/
GNUmakefile
84 lines (55 loc) · 1.65 KB
/
GNUmakefile
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
.DEFAULT_GOAL := build
CXX ?= c++
DRAMOPTS ?= -s zsh
DRAM_ROOT ?= dram
DRAM_PATH ?= $(DRAM_ROOT)
PREFIX ?= /usr/local
LIBDIR ?= $(DESTDIR)$(PREFIX)/lib
BINDIR ?= $(DESTDIR)$(PREFIX)/bin
MANDIR ?= $(DESTDIR)$(PREFIX)/man/man1
BROOTDIR = _build
BLIBDIR = $(BROOTDIR)/lib
BBINDIR = $(BROOTDIR)/bin
BMANDIR = $(BROOTDIR)/man/man1
DIRS = $(BLIBDIR) $(BBINDIR)
CMDS = $(patsubst src/xdgenv/%.zsh,%,$(wildcard src/xdgenv/*))
MANS = $(patsubst Documentation/%.rst,%.1,$(wildcard Documentation/xdgenv*))
BUILD_DEPS =
BUILD_DEPS += $(BMANDIR)
BUILD_DEPS += $(BBINDIR)/xdgenv
BUILD_DEPS += $(addprefix $(BBINDIR)/xdgenv-,$(CMDS))
BUILD_DEPS += $(addprefix $(BMANDIR)/,$(MANS))
INSTALL_DEPS += $(MANDIR)
INSTALL_DEPS += $(BINDIR)/xdgenv
INSTALL_DEPS += $(addprefix $(BINDIR)/xdgenv-,$(CMDS))
INSTALL_DEPS += $(addprefix $(MANDIR)/,$(MANS))
CHECK_PATH = $(CURDIR)/$(BROOTDIR)/fakeroot/usr/local/bin:$(PATH)
.PHONY: build
build: $(BUILD_DEPS)
$(BBINDIR)/xdgenv-%: src/xdgenv/%.zsh
install -m755 -D $< $@
$(BBINDIR)/xdgenv: src/xdgenv.zsh
install -m755 -D $< $@
$(BMANDIR):
install -d $@
$(BMANDIR)/%.1: Documentation/%.rst
rst2man $< $@
.PHONY: install
install: $(INSTALL_DEPS)
.PHONY: install-home
install-home:
$(MAKE) install PREFIX=$(HOME)/.local
$(BINDIR)/%: $(BBINDIR)/%
install -m755 -D $< $@
$(MANDIR):
install -d $@
$(MANDIR)/%: $(BMANDIR)/%
install -m644 $< $@
.PHONY: clean
clean:
$(RM) -r $(BROOTDIR) $(DRAM_ROOT)/*.t.err
.PHONY: check
check: build
mkdir -p $(BROOTDIR)/fakeroot
DESTDIR=$(BROOTDIR)/fakeroot $(MAKE) install
PATH="$(shell pwd)/$(BROOTDIR)/fakeroot/usr/local/bin:$(PATH)" dram $(DRAMOPTS) $(DRAM_PATH)