]> git.cworth.org Git - vogl/blob - src/extlib/loki/src/Makefile
Initial vogl checkin
[vogl] / src / extlib / loki / src / Makefile
1 include ../Makefile.common
2
3 SRC := $(wildcard *.cpp)
4 STATIC_OBJ := $(SRC:.cpp=.o)
5 SHARED_OBJ := $(SRC:.cpp=.lo)
6
7 override CPPFLAGS += -I../include -DNDEBUG
8
9 STATIC_LIB := libloki.a
10
11 ifeq ($(OS), Darwin)
12   SHARED_LIB_BASE := libloki.dylib
13   SHARED_LIB_VERSIONED := libloki.$(VERSION).dylib
14   override LDFLAGS += -dynamiclib -single_module -install_name $(SHARED_LIB_VERSIONED) -fPIC
15   LDLIBS := -lpthread
16 else
17 ifeq ($(OS), Linux)
18   SHARED_LIB_BASE := libloki.so
19   SHARED_LIB_VERSIONED := libloki.so.$(VERSION)
20   override LDFLAGS += --shared -Wl,-soname=$(SHARED_LIB_VERSIONED) -fPIC
21   LDLIBS := -lpthread
22 else
23 ifeq ($(OS), GNU/kFreeBSD)
24   SHARED_LIB_BASE := libloki.so
25   SHARED_LIB_VERSIONED := libloki.so.$(VERSION)
26   override LDFLAGS += --shared -Wl,-soname=$(SHARED_LIB_VERSIONED) -fPIC
27   LDLIBS := -lpthread
28 else
29 ifeq ($(OS), GNU)
30   SHARED_LIB_BASE := libloki.so
31   SHARED_LIB_VERSIONED := libloki.so.$(VERSION)
32   override LDFLAGS += --shared -Wl,-soname=$(SHARED_LIB_VERSIONED) -fPIC
33   LDLIBS := -lpthread
34 else
35 ifeq ($(OS), HP-UX)
36   SHARED_LIB_BASE := libloki.so
37   SHARED_LIB_VERSIONED := libloki.so.$(VERSION)
38   override LDFLAGS += --shared -fPIC -mlp64
39   override CXXFLAGS += -mlp64
40   LDLIBS := -lpthread
41   RESULT_DIR := ../lib/
42 else
43   SHARED_LIB_VERSIONED := libloki.dll
44   override LDFLAGS += --shared
45   LDLIBS :=
46 endif
47 endif
48 endif
49 endif
50 endif
51
52 RESULT_DIR := ../lib/
53
54 .PHONY: all build-static build-shared clean distclean
55 all: build-static build-shared
56 build-static: $(RESULT_DIR)$(STATIC_LIB)
57 build-shared: $(RESULT_DIR)$(SHARED_LIB_VERSIONED)
58
59 clean:
60         $(RM) $(STATIC_OBJ)
61 ifneq ($(OS), Windows)
62         $(RM) $(SHARED_OBJ)
63 endif
64
65 distclean: clean cleandeps
66         $(RM) $(RESULT_DIR)$(STATIC_LIB)
67         $(RM) $(RESULT_DIR)$(SHARED_LIB_VERSIONED)
68
69 ifneq ($(OS),Windows)
70 INSTALL := install
71 INSTALL_DATA := $(INSTALL) -m 644
72
73 .PHONY: install install-static install-shared
74 install: install-static install-shared
75
76 install-static: $(RESULT_DIR)$(STATIC_LIB)
77         mkdir -p $(prefix)/lib
78         $(INSTALL_DATA) $(RESULT_DIR)$(STATIC_LIB) $(prefix)/lib
79
80 install-shared: $(RESULT_DIR)$(SHARED_LIB_VERSIONED)
81         mkdir -p $(prefix)/lib
82         $(INSTALL_DATA) $(RESULT_DIR)$(SHARED_LIB_VERSIONED) $(prefix)/lib
83         cd $(prefix)/lib; ln -s $(SHARED_LIB_VERSIONED) $(SHARED_LIB_BASE)
84
85 %.lo : %.cpp
86         $(CXX) -c $(CXXFLAGS) -fPIC $(CPPFLAGS) -o $@ $<
87
88 $(RESULT_DIR)$(SHARED_LIB_VERSIONED): $(SHARED_OBJ)
89 else
90 $(RESULT_DIR)$(SHARED_LIB_VERSIONED): $(STATIC_OBJ)
91 endif
92         $(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS)
93
94 $(RESULT_DIR)$(STATIC_LIB): $(STATIC_OBJ)
95         $(AR) $(ARFLAGS) $@ $^
96
97 include ../Makefile.deps