libc3: remerged
[simavr] / examples / shared / libc3 / Makefile
1
2 VERSION         = 0.1.0
3 REVISION        = 1
4
5 SHELL           := ${shell which bash}
6
7 IPATH           += src
8 IPATH           += srcgl
9 VPATH           += src
10 VPATH           += srcgl
11
12 OBJ             = obj-${shell $(CC) -dumpmachine}
13
14 C3SRC           = ${wildcard src/*.c}
15 C3OBJ           = ${patsubst src/%,${OBJ}/%,${C3SRC:.c=.lo}}
16
17 C3GLSRC         = ${wildcard srcgl/*.c}
18 C3GLOBJ         = ${patsubst srcgl/%,${OBJ}/%,${C3GLSRC:.c=.lo}}
19
20 CC                      = clang
21 PKGCONFIG       = pkg-config
22 INSTALL         = install
23
24 ifeq (${shell uname}, Darwin)
25 # you need to install libtool via 'brew install libtool' on the mac
26 LIBTOOL         = glibtool
27 else
28 LIBTOOL         = libtool
29 endif
30
31 CFLAGS          = -g -O2
32 CPPFLAGS        += --std=gnu99 -fPIC
33 CPPFLAGS        += ${patsubst %,-I%,${subst :, ,${IPATH}}}
34 CPPFLAGS        += ${shell $(PKGCONFIG) --cflags pango cairo}
35
36 LDFLAGS         += 
37
38 DESTDIR         = /usr/local
39
40 -include ${wildcard .make.options*}
41
42 all:    ${OBJ} src/c3config.h ${OBJ}/libc3.la ${OBJ}/libc3gl.la
43
44 ${OBJ}:
45         mkdir -p ${OBJ}
46
47 ifneq (${V}, 1)
48 E=@
49 LIBTOOL += --quiet
50 endif
51
52 src/c3config.h:
53         $(E)rm -f $@
54         $(E)echo CONFIG $@
55         $(E)( \
56         printf "#ifndef __C3_CONFIG__\n#define __C3_CONFIG__\n"; \
57         printf "#define CONFIG_C3_VERSION \"$(VERSION)\"\n"; \
58         $(PKGCONFIG) --exists pango cairo || printf "// " ; \
59                 printf "#define CONFIG_C3_CAIRO 1\n"; \
60         printf "#endif\n"; \
61         ) >$@
62
63 ${OBJ}/libc3.la: ${C3OBJ}
64         @echo LINK $@
65         $(E)$(LIBTOOL) --mode=link --tag=CC \
66                 $(CC) $(CPPFLAGS) $(CFLAGS) \
67                         $^ -o $@ \
68                         -version-info 0:1:0 \
69                         -rpath $(DESTDIR)/lib $(LDFLAGS)
70
71 ${OBJ}/libc3gl.la: ${C3GLOBJ}
72         @echo LINK $@
73         $(E)$(LIBTOOL) --mode=link --tag=CC \
74                 $(CC) $(CPPFLAGS) $(CFLAGS) \
75                         $^ -o $@ \
76                         -version-info 0:1:0 \
77                         -rpath $(DESTDIR)/lib $(LDFLAGS)
78
79 ${OBJ}/%.lo: src/c3config.h
80 ${OBJ}/%.lo: %.c
81         @echo CC $<
82         $(E)$(LIBTOOL) --mode=compile --tag=CC \
83                 $(CC) $(CPPFLAGS) $(CFLAGS) -MT $@ -MMD \
84                         $<  -c -o $@
85
86 install:
87         mkdir -p $(DESTDIR)/lib/pkgconfig $(DESTDIR)/include/c3
88         rm -f $(DESTDIR)/lib/libc3* $(DESTDIR)/include/c3/*
89         $(INSTALL) src/*.h $(DESTDIR)/include/c3/
90         cp -a ${OBJ}/.libs/*.a ${OBJ}/.libs/*.so* $(DESTDIR)/lib/
91         sed -e 's|PREFIX|${DESTDIR}|g' -e 's|VERSION|${VERSION}|g' \
92                 libc3.pc >$(DESTDIR)/lib/pkgconfig/libc3.pc 
93          
94 clean:
95         rm -rf ${OBJ}
96
97 # include the dependency files generated by gcc, if any
98 -include ${wildcard ${OBJ}/*.d}
99