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