reprap: c3 update etc
[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 VPATH           += src
9
10 OBJ             = obj-${shell $(CC) -dumpmachine}
11
12 C3SRC           = ${wildcard src/*.c}
13 C3OBJ           = ${patsubst src/%,${OBJ}/%,${C3SRC:.c=.lo}}
14
15 CC                      = clang
16 PKGCONFIG       = pkg-config
17 LIBTOOL         = libtool
18 INSTALL         = install
19
20 CFLAGS          = -g -O2
21 CPPFLAGS        += --std=gnu99 -fPIC
22 CPPFLAGS        += ${patsubst %,-I%,${subst :, ,${IPATH}}}
23 CPPFLAGS        += ${shell $(PKGCONFIG) --cflags pango cairo}
24
25 LDFLAGS         += 
26
27 DESTDIR         = /usr/local
28
29 -include ${wildcard .make.options*}
30
31 all:    ${OBJ} src/c3config.h ${OBJ}/libc3.la
32
33 ${OBJ}:
34         mkdir -p ${OBJ}
35
36 ifneq (${V}, 1)
37 E=@
38 LIBTOOL += --quiet
39 endif
40
41 src/c3config.h:
42         $(E)rm -f $@
43         $(E)echo CONFIG $@
44         $(E)( \
45         printf "#ifndef __C3_CONFIG__\n#define __C3_CONFIG__\n"; \
46         printf "#define CONFIG_C3_VERSION \"$(VERSION)\"\n"; \
47         $(PKGCONFIG) --exists pango cairo || printf "// " ; \
48                 printf "#define CONFIG_C3_CAIRO 1\n"; \
49         printf "#endif\n"; \
50         ) >$@
51
52 ${OBJ}/libc3.la: ${C3OBJ}
53         @echo LINK $@
54         $(E)$(LIBTOOL) --mode=link --tag=CC \
55                 $(CC) $(CPPFLAGS) $(CFLAGS) \
56                         $^ -o $@ \
57                         -version-info 0:1:0 \
58                         -rpath $(DESTDIR)/lib $(LDFLAGS)
59
60 ${OBJ}/%.lo: src/c3config.h
61 ${OBJ}/%.lo: %.c
62         @echo CC $<
63         $(E)$(LIBTOOL) --mode=compile --tag=CC \
64                 $(CC) $(CPPFLAGS) $(CFLAGS) -MT $@ -MMD \
65                         $<  -c -o $@
66
67 install:
68         mkdir -p $(DESTDIR)/lib/pkgconfig $(DESTDIR)/include/c3
69         rm -f $(DESTDIR)/lib/libc3* $(DESTDIR)/include/c3/*
70         $(INSTALL) src/*.h $(DESTDIR)/include/c3/
71         cp -a ${OBJ}/.libs/*.a ${OBJ}/.libs/*.so* $(DESTDIR)/lib/
72         sed -e 's|PREFIX|${DESTDIR}|g' -e 's|VERSION|${VERSION}|g' \
73                 libc3.pc >$(DESTDIR)/lib/pkgconfig/libc3.pc 
74          
75 clean:
76         rm -rf ${OBJ}
77
78 # include the dependency files generated by gcc, if any
79 -include ${wildcard ${OBJ}/*.d}
80