3 warn_flags = -pedantic -Wall
12 ccsrc = $(wildcard $(rootdir)/src/*.cc)
13 obj = $(ccsrc:.cc=.o) $(csrc:.c=.o)
16 CFLAGS = $(warn_flags) $(opt_flags) $(dbg_flags) $(pic)
17 CXXFLAGS = $(warn_flags) $(opt_flags) $(dbg_flags) $(pic)
19 sys = $(shell uname -s | sed 's/MINGW.*/MINGW/')
22 solib = lib$(name).dylib
25 else ifeq ($(sys), MINGW)
32 solib = lib$(name).so.$(so_major).$(so_minor)
33 soname = lib$(name).so.$(so_major)
34 ldname = lib$(name).so
35 shared = -shared -Wl,-soname=$(soname)
42 $(alib): $(obj) Makefile
45 $(solib): $(obj) Makefile
46 $(CXX) -o $@ $(shared) $(obj) $(LDFLAGS)
47 [ -n "$(soname)" ] && \
48 rm -f $(soname) $(ldname) && \
49 ln -s $(solib) $(soname) && \
50 ln -s $(soname) $(ldname) || true
55 @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
58 @$(CPP) $(CXXFLAGS) $< -MM -MT $(@:.d=.o) >$@
62 rm -f $(obj) $(alib) $(solib)
69 install: $(alib) $(solib)
70 mkdir -p $(DESTDIR)$(PREFIX)/include/$(name) $(DESTDIR)$(PREFIX)/lib
71 cp src/*.h src/*.inl $(DESTDIR)$(PREFIX)/include/$(name)/
72 cp $(alib) $(DESTDIR)$(PREFIX)/lib/$(alib)
73 cp $(solib) $(DESTDIR)$(PREFIX)/lib/$(solib)
74 [ -n "$(soname)" ] && \
75 rm -f $(DESTDIR)$(PREFIX)/lib/$(soname) $(DESTDIR)$(PREFIX)/lib/$(ldname) && \
76 cp $(soname) $(DESTDIR)$(PREFIX)/lib/$(soname) && \
77 cp $(ldname) $(DESTDIR)$(PREFIX)/lib/$(ldname) || true
81 rm -f $(DESTDIR)$(PREFIX)/include/$(name)/*.h $(DESTDIR)$(PREFIX)/include/$(name)/*.inl
82 rm -f $(DESTDIR)$(PREFIX)/lib/$(solib)
83 [ -n "$(soname)" ] && \
84 rm -f $(DESTDIR)$(PREFIX)/lib/$(soname) && \
85 rm -f $(DESTDIR)$(PREFIX)/lib/$(ldname) || true