2006-03-02 21:19:41 +00:00
|
|
|
SRC = $(wildcard *.cpp)
|
|
|
|
STATIC_OBJ = $(SRC:.cpp=.o)
|
|
|
|
SHARED_OBJ = $(SRC:.cpp=.lo)
|
|
|
|
|
2006-04-04 23:15:10 +00:00
|
|
|
VERSION = 0.1.4
|
|
|
|
DESTDIR = /usr
|
|
|
|
|
|
|
|
CXXFLAGS = -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -O2
|
|
|
|
CPPFLAGS = -I../include -DNDEBUG
|
2006-03-02 21:19:41 +00:00
|
|
|
|
|
|
|
STATIC_LIB = ../lib/libloki.a
|
2006-04-04 23:15:10 +00:00
|
|
|
|
|
|
|
ifeq ($(shell uname -s), Darwin)
|
|
|
|
SO_EXT = dylib
|
|
|
|
INSTALL_FLAGS =
|
|
|
|
INSTALL_TARGET = libloki.$(VERSION).$(SO_EXT)
|
|
|
|
LDFLAGS = -dynamiclib -single_module -install_name $(INSTALL_TARGET)
|
2006-03-21 21:01:18 +00:00
|
|
|
else
|
2006-04-04 23:15:10 +00:00
|
|
|
SO_EXT = so
|
|
|
|
INSTALL_FLAGS = -s
|
|
|
|
INSTALL_TARGET = libloki.$(SO_EXT).$(VERSION)
|
|
|
|
LDFLAGS = --shared -Wl,-soname=$(INSTALL_TARGET)
|
2006-03-21 21:01:18 +00:00
|
|
|
endif
|
|
|
|
|
2006-04-04 23:15:10 +00:00
|
|
|
SHARED_LIB = ../lib/$(INSTALL_TARGET)
|
2005-09-24 23:08:48 +00:00
|
|
|
|
2006-03-02 21:19:41 +00:00
|
|
|
$(STATIC_LIB): $(STATIC_OBJ)
|
2006-04-04 23:15:10 +00:00
|
|
|
$(AR) $(ARFLAGS) $@ $^
|
2006-03-02 21:19:41 +00:00
|
|
|
|
|
|
|
$(SHARED_LIB): $(SHARED_OBJ)
|
2006-04-04 23:15:10 +00:00
|
|
|
$(CXX) $(LDFLAGS) -o $@ $^
|
2006-03-02 21:19:41 +00:00
|
|
|
|
|
|
|
%.lo : %.cpp
|
|
|
|
$(CXX) -c $(CXXFLAGS) -fPIC $(CPPFLAGS) -o $@ $<
|
|
|
|
|
|
|
|
.PHONY: build-static build-shared install-static install-shared clean-tmp clean
|
|
|
|
build-static: $(STATIC_LIB)
|
|
|
|
build-shared: $(SHARED_LIB)
|
|
|
|
|
|
|
|
install-static: $(STATIC_LIB)
|
2006-04-04 23:15:10 +00:00
|
|
|
mkdir -p $(DESTDIR)/lib
|
|
|
|
install -m 644 $< $(DESTDIR)/lib
|
2005-09-24 23:08:48 +00:00
|
|
|
|
2006-03-02 21:19:41 +00:00
|
|
|
install-shared: $(SHARED_LIB)
|
2006-04-04 23:15:10 +00:00
|
|
|
mkdir -p $(DESTDIR)/lib
|
|
|
|
install -m 644 $(INSTALL_FLAGS) $< $(DESTDIR)/lib
|
|
|
|
cd $(DESTDIR)/lib/ && $(RM) libloki.$(SO_EXT) && ln -s $(INSTALL_TARGET) libloki.$(SO_EXT)
|
2005-09-24 23:08:48 +00:00
|
|
|
|
2006-01-11 00:02:57 +00:00
|
|
|
clean-tmp:
|
2006-04-04 23:15:10 +00:00
|
|
|
$(RM) $(STATIC_OBJ)
|
|
|
|
$(RM) $(SHARED_OBJ)
|
2006-01-11 00:02:57 +00:00
|
|
|
|
|
|
|
clean: clean-tmp
|
2006-04-04 23:15:10 +00:00
|
|
|
$(RM) $(STATIC_LIB)
|
|
|
|
$(RM) $(SHARED_LIB)
|