summaryrefslogtreecommitdiff
path: root/Makefile
blob: 96e726d24180c600b9c0f5f20f363eb972802324 (plain) (blame)
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
85
86
87
88
89
90
91
92
93
94
95
96
.POSIX:
DATE         = 1970
VERSION      = 0.1.0
NAME         = guile-heredoc
MAILING_LIST = public-inbox
TRANSLATIONS = pt fr eo es
CONTRIBLANGS =
PREFIX       = /usr/local
LIBDIR       = $(PREFIX)/lib
SHAREDIR     = $(PREFIX)/share
INFODIR      = $(SHAREDIR)/info
GUILE        = guile
GUILD        = guild
MODDIR       = $(SHAREDIR)/guile/site/$(GUILE_EFFECTIVE_VERSION)
OBJDIR       = $(LIBDIR)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache


.SUFFIXES:
.SUFFIXES: .scm .go .texi .info .html

.scm.go:
	$(GUILD) compile -L src/ $(GUILE_FLAGS)-o $@ $<

.texi.info:
	makeinfo -o $@ $<

.texi.html:
	makeinfo --html --no-split --css-include=doc/style.css -o $@ $<

sources = src/xyz/euandreh/heredoc.scm
objects = $(sources:.scm=.go)

info = doc/guile-heredoc.info


all: $(objects) $(info)

GUILE_EFFECTIVE_VERSION = `$(GUILE) -c '(display (effective-version))'`
install: all
	mkdir -p \
		"$(DESTDIR)$(MODDIR)" \
		"$(DESTDIR)$(OBJDIR)" \
		'$(DESTDIR)$(INFODIR)'
	for s in $(sources); do \
		mkdir -p "$(DESTDIR)$(MODDIR)"/`dirname $${s#src/}`; \
		cp $$s "$(DESTDIR)$(MODDIR)"/`dirname $${s#src/}`; \
	done
	for o in $(objects); do \
		mkdir -p "$(DESTDIR)$(OBJDIR)"/`dirname $${o#src/}`; \
		cp $$o "$(DESTDIR)$(OBJDIR)"/`dirname $${o#src/}`; \
	done
	for i in $(info); do \
		cp $$i '$(DESTDIR)$(INFODIR)'; \
		install-info --info-dir='$(DESTDIR)$(INFODIR)' $$i; \
	done

uninstall:
	for s in $(sources); do \
		rm -f "$(DESTDIR)$(MODDIR)"/$${s#src/}; \
	done
	for o in $(objects); do \
		rm -f "$(DESTDIR)$(OBJDIR)"/$${o#src/}; \
	done
	for i in $(info); do \
		rm -f "$(DESTDIR)$(INFODIR)"/`basename $$i`; \
		install-info --info-dir='$(DESTDIR)$(INFODIR)' --remove $$i; \
	done


check-guile-evaled:
	GUILE_AUTO_COMPILE=0 $(GUILE) -L src/ tests/heredoc.scm

check-guile-compiled:
	GUILE_AUTO_COMPILE=1 $(GUILE) -L src/ tests/heredoc.scm

check-guile: check-guile-evaled check-guile-compiled


check: check-guile

clean:
	rm -rf \
		heredoc.log $(objects) $(info)                                 \
		doc/guile-heredoc.html public/


doc/guile-heredoc.html: doc/style.css

public/guile-heredoc.html: doc/guile-heredoc.html
	mkdir -p $(@D)
	cp doc/guile-heredoc.html $@


public: public/guile-heredoc.html

dev-check: check