aboutsummaryrefslogtreecommitdiffstats
path: root/gitto/Makefile
blob: 63164494a04cc25c85da0adf92518b09b2ea1b91 (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
DESTDIR ?= /usr/local
SITEDIR = $(shell pkg-config guile-2.0 --variable=sitedir \
	--define-variable=prefix=$(DESTDIR))
COMPDIR = $(DESTDIR)/lib/guile/2.0/site-ccache

objects = command.scm command.go config.scm config.go git.scm git.go \
	ui.scm ui.go path.scm path.go commands/help.scm commands/help.go \
	main.scm main.go
install-objects = $(addprefix install-,$(objects))
uninstall-objects = $(addprefix uninstall-,$(objects))

warnings = unused-variable unused-toplevel unbound-variable \
	arity-mismatch duplicate-case-datum bad-case-datum format

.PHONY: all install $(install-objects) uninstall $(uninstall-objects) \
	clean

all: $(filter %.go,$(objects))

$(filter %.go,$(objects)): %.go: %.scm
	../env guild compile $(addprefix -W ,$(warnings)) -o $@ $^

install: $(install-objects)
uninstall: $(uninstall-objects)

$(filter %.go,$(install-objects)): install-%: $(filter %.go,$(objects))
	$(INSTALL_DATA) $* "$(COMPDIR)/gitto/$*"

$(filter %.scm,$(install-objects)): install-%:
	$(INSTALL_DATA) $* "$(SITEDIR)/gitto/$*"

$(filter %.go,$(uninstall-objects)): uninstall-%:
	rm -f "$(COMPDIR)/gitto/$*"

$(filter %.scm,$(uninstall-objects)): uninstall-%:
	rm -f "$(SITEDIR)/gitto/$*"

clean:
	rm -f *.go