1.POSIX:
2
3PREFIX ?= /usr
4BINDIR ?= $(PREFIX)/bin
5DATADIR ?= $(PREFIX)/share
6
7GUILE ?= $(BINDIR)/guile
8GUILE_MODULE_DIR ?= $(DATADIR)/guile/site/3.0
9GUILE_COMPILED_MODULE_DIR ?= $(GUILE_MODULE_DIR)/site-ccache
10
11########################################################################
12
13BINFILES = bin/toobusy-list \
14 bin/toobusy-index \
15 bin/toobusy-search
16LIBFILES = src/toobusy/util.go \
17 src/toobusy/time.go \
18 src/toobusy/color.go \
19 src/toobusy/event.go \
20 src/toobusy/index.go \
21 src/toobusy/search.go \
22 src/toobusy/config.go \
23 src/toobusy/toobusy.go
24
25GUILDFLAGS += -Warity-mismatch -Wbad-case-datum -Wduplicate-case-datum \
26 -Wformat -Wunbound-variable -Wunsupported-warning \
27 -Wunused-variable
28GUILDFLAGS += -L src/
29
30all: $(BINFILES) $(LIBFILES)
31install:
32 install -Dm644 $(LIBFILES) \
33 -t "$(GUILE_COMPILED_MODULE_DIR)/toobusy"
34 install -Dm644 $(LIBFILES:%.go=%.scm) \
35 -t "$(GUILE_MODULE_DIR)/toobusy"
36 install -Dm755 $(BINFILES) -t "$(DESTDIR)$(BINDIR)/"
37clean:
38 rm -f $(BINFILES) $(LIBFILES)
39
40.in:
41 sed "s|@GUILE@|$(GUILE)|" < $< > $@
42 chmod +x $@
43.scm.go:
44 guild compile $(GUILDFLAGS) -o $@ $<
45
46.PHONY: all install clean
47.SUFFIXES: .scm .go .in