-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
61 lines (48 loc) · 1.74 KB
/
Makefile
File metadata and controls
61 lines (48 loc) · 1.74 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
PREFIX := $(HOME)/.local
all: scdoc/scdoc harec/build/harec hare/.bin/harec2 hare-ssh hare-json
hare harec hare-json hare-ssh scdoc:
@git -C $@ pull --rebase || git clone --depth 1 https://git.sr.ht/~sircmpwn/$@
qbe:
@mkdir -p $@
@curl -sSfL https://c9x.me/git/qbe.git/snapshot/qbe-master.tar.gz | tar --strip-components=1 -xzf - -C $@
qbe/qbe: qbe
@printf 'mk qbe\n'
@$(MAKE) -s -C qbe PREFIX=$(PREFIX)
harec/build/harec: harec qbe/qbe
@printf 'mk harec\n'
@mkdir -p harec/build
@cd harec/build && QBE=$(CURDIR)/qbe/qbe ../configure --prefix=$(PREFIX)
@$(MAKE) -s -C harec/build
hare/config.mk: hare
@sed 's:^PREFIX =.*$$:PREFIX = $(PREFIX):;s:^HAREC =.*$$:HAREC = $(CURDIR)/harec/build/harec:;s:^QBE =.*$$:QBE = $(CURDIR)/qbe/qbe:;s:^SCDOC =.*$$:SCDOC = $(CURDIR)/scdoc/scdoc:' hare/config.example.mk > $@
hare/.bin/harec2: hare/config.mk harec/build/harec
@printf 'mk hare\n'
@$(MAKE) -s -C hare
scdoc/scdoc: scdoc
@printf 'mk scdoc\n'
@$(MAKE) -s -C $(@D) PREFIX=$(PREFIX)
@touch $@
install: all
@$(MAKE) -s -C scdoc PREFIX=$(PREFIX) $@
@$(MAKE) -s -C qbe PREFIX=$(PREFIX) $@
@$(MAKE) -s -C harec/build $@
@$(MAKE) -s -C hare $@
@$(MAKE) -s -C hare-ssh PREFIX=$(PREFIX) $@
@$(MAKE) -s -C hare-json PREFIX=$(PREFIX) $@
uninstall:
@$(MAKE) -s -C hare-json PREFIX=$(PREFIX) $@
@$(MAKE) -s -C hare-ssh PREFIX=$(PREFIX) $@
@$(MAKE) -s -C scdoc PREFIX=$(PREFIX) $@
@$(MAKE) -s -C hare $@
@rm -f -- $(PREFIX)/bin/qbe $(PREFIX)/bin/harec
clean:
@-$(MAKE) -s -C qbe $@
@-$(MAKE) -s -C harec/build $@
@-$(MAKE) -s -C hare $@
@-$(MAKE) -s -C scdoc $@
@-$(MAKE) -s -C hare-ssh $@
@-$(MAKE) -s -C hare-json $@
@rm -f -- hare/config.mk
distclean:
@rm -rf -- qbe harec hare scdoc hare-ssh hare-json
.PHOMNY: all clean distclean install uninstall