blob: c3108377e0455e45f57e2a4c172cce2e6d263074 (
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
|
TARGETS = mod1test libmod1a.so libmod1b.so
KNOWN_TARGETS = mod1test libmod1a.so libmod1b.so
CC = gcc
#CC = ccmalloc --no-wrapper gcc
LD = $(CC)
CPPFLAGS = $(shell pkg-config --cflags-only-I gmodule-2.0)
#CFLAGS ?= -O2 -pipe
#CFLAGS ?= -Wall -g
#CFLAGS += -Wall -g
CFLAGS ?= -g
CFLAGS += -Wall -fPIC -DPIC
LDFLAGS = $(shell pkg-config --libs-only-L gmodule-2.0)
LIBS = $(shell pkg-config --libs-only-l gmodule-2.0) -lm
LDFLAGS_MODULE = -shared $(LDFLAGS)
all: $(TARGETS)
##-- keep intermediate files
.SECONDARY:
##-- PATTERN: .c -> .o
%.o: %.c
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
##-- clean
clean:
rm -f *.o *.lo *.tab.[ch] *.lex.[ch] $(KNOWN_TARGETS)
##-- modules
lib%.so: %.o
$(LD) $(LDFLAGS_MODULE) -o $@ $^ $(LIBS)
##-- Executables
%test: %test.o
$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
|