blob: 8ce4608ff1d52edf91700d368a1bee399f4ac192 (
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
.PHONY: all clean
CC := gcc
OBJDIR = obj
CPPFLAGS = -DSAFE_STR # -DSAFE_HASH
CFLAGS = $(CPPFLAGS) \
-std=gnu11 -Wall -Wextra \
-ggdb -fPIC \
$(shell guile-config compile)
LDFLAGS = -fPIC $(shell guile-config link)
H_FILES = $(wildcard *.h)
C_FILES = $(wildcard *.c)
SCM_C_FILES = $(wildcard *.scm.c)
X_FILES = $(SCM_C_FILES:.scm.c=.x)
.SECONDARY: $(X_FILES)
O_FILES = $(addprefix obj/,$(C_FILES:.c=.o))
all: parse libguile-calendar.so
parse: $(O_FILES)
$(CC) -o $@ $^ $(LDFLAGS)
$(O_FILES): | $(OBJDIR)
$(OBJDIR)/%.o : %.c $(H_FILES) $(X_FILES)
$(CC) -c -o $@ $< $(CFLAGS)
$(OBJDIR):
mkdir -p $(OBJDIR)
%.x : %.scm.c
guile-snarf -o $@ $< $(CFLAGS)
libguile-calendar.so: $(O_FILES)
$(CC) -shared -o $@ $^ $(LDFLAGS)
CALDIR = test-cal/cal2/0c0f4d7090bacd99abe9ccca2d5baadf2afac709f7cb66454ef913c52a5ef096.ics
.SECONDARY += %.dot
%.dot: parse
./parse $(CALDIR) -g $@
%.pdf: %.dot
dot -Tpdf -o $@ $<
tags: $(C_FILES) $(H_FILES)
ctags -R
clean:
-rm parse
-rm $(OBJDIR)/*.o
-rmdir $(OBJDIR)
-rm *.so
-rm *.x
|