aboutsummaryrefslogtreecommitdiff
path: root/gfsm/gfsm/src/libgfsm/tests/module/Makefile
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)