aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 120458311c69f563b5cce4dcf57338836e462b04 (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
.PHONY: all clean

CC  := gcc
LEX := flex

DIRS := obj

CFLAGS  = -std=gnu99 -Wall -Wextra -pedantic \
		  -DSAFE_STR -DSAFE_HASH -ggdb \
		  -fPIC \
		  $(shell guile-config compile)
# LFLAGS  =
LDFLAGS = -fPIC $(shell guile-config link)

C_FILES = $(wildcard *.c)
INC_FILES = $(wildcard *.inc)
O_FILES = $(addprefix obj/,$(C_FILES:.c=.o))
H_FILES = $(wildcard *.h)

$(shell mkdir -p $(DIRS))

all: parse libguile-calendar.so

obj/%.o : %.c $(H_FILES) $(INC_FILES)
	$(CC) -c -o $@ $< ${CFLAGS}

libguile-calendar.so: $(O_FILES)
	$(CC) -shared -o $@ $^ $(LDFLAGS)

parse: $(O_FILES)
	$(CC) -o $@ $^ $(LDFLAGS)

clean:
	-rm parse
	-rm obj/*.o
	-rm *.so