- Applied patch from Sam Miller to fix bug #1463844
- Some minor makefile improvements git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@621 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
08702ff400
commit
85b6e7a7da
3 changed files with 41 additions and 34 deletions
8
Makefile
8
Makefile
|
@ -1,4 +1,4 @@
|
||||||
.PHONY: build-static build-shared check install clean-tmp clean
|
.PHONY: build-static build-shared check install install-includes install-shared clean-tmp clean
|
||||||
build-static:
|
build-static:
|
||||||
$(MAKE) -C src build-static
|
$(MAKE) -C src build-static
|
||||||
|
|
||||||
|
@ -8,11 +8,13 @@ build-shared:
|
||||||
check: build-static
|
check: build-static
|
||||||
$(MAKE) -C test
|
$(MAKE) -C test
|
||||||
|
|
||||||
install:
|
install: install-includes
|
||||||
$(MAKE) -C src install-static
|
$(MAKE) -C src install-static
|
||||||
|
|
||||||
|
install-includes:
|
||||||
$(MAKE) -C include install
|
$(MAKE) -C include install
|
||||||
|
|
||||||
install-shared:
|
install-shared: install-includes
|
||||||
$(MAKE) -C src install-shared
|
$(MAKE) -C src install-shared
|
||||||
|
|
||||||
clean-tmp:
|
clean-tmp:
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
|
DESTDIR = /usr
|
||||||
.PHONY: install
|
.PHONY: install
|
||||||
install:
|
install:
|
||||||
mkdir -p $(DESTDIR)/usr/include/loki
|
mkdir -p $(DESTDIR)/include/loki
|
||||||
mkdir -p $(DESTDIR)/usr/include/loki/flex
|
mkdir -p $(DESTDIR)/include/loki/flex
|
||||||
mkdir -p $(DESTDIR)/usr/include/loki/yasli
|
mkdir -p $(DESTDIR)/include/loki/yasli
|
||||||
|
|
||||||
install -m 644 loki/*.h $(DESTDIR)/usr/include/loki
|
install -m 644 loki/*.h $(DESTDIR)/include/loki
|
||||||
install -m 644 loki/flex/*.h $(DESTDIR)/usr/include/loki/flex
|
install -m 644 loki/flex/*.h $(DESTDIR)/include/loki/flex
|
||||||
install -m 644 loki/yasli/*.h $(DESTDIR)/usr/include/loki/yasli
|
install -m 644 loki/yasli/*.h $(DESTDIR)/include/loki/yasli
|
||||||
|
|
54
src/Makefile
54
src/Makefile
|
@ -1,30 +1,34 @@
|
||||||
SRC = $(wildcard *.cpp)
|
SRC = $(wildcard *.cpp)
|
||||||
STATIC_OBJ = $(SRC:.cpp=.o)
|
STATIC_OBJ = $(SRC:.cpp=.o)
|
||||||
SHARED_OBJ = $(SRC:.cpp=.lo)
|
SHARED_OBJ = $(SRC:.cpp=.lo)
|
||||||
_OS = $(shell uname -s)
|
|
||||||
|
|
||||||
LOKI_VERSION = 0.1.4
|
|
||||||
|
|
||||||
STATIC_LIB = ../lib/libloki.a
|
|
||||||
ifeq ($(_OS), Darwin)
|
|
||||||
SHARED_LIB_INSTALL =
|
|
||||||
SHARED_LIB_FLAG = -dynamiclib
|
|
||||||
SHARED_LIB = ../lib/libloki.$(LOKI_VERSION).dylib
|
|
||||||
else
|
|
||||||
SHARED_LIB_FLAG = --shared
|
|
||||||
SHARED_LIB_INSTALL = -Wl,-soname=libloki.$(SHARED_LIB_EXTENSION).$(LOKI_VERSION)
|
|
||||||
SHARED_LIB = ../lib/libloki.so.$(LOKI_VERSION)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
VERSION = 0.1.4
|
||||||
|
DESTDIR = /usr
|
||||||
|
|
||||||
CXXFLAGS = -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -O2
|
CXXFLAGS = -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -O2
|
||||||
CPPFLAGS = -I../include -DNDEBUG
|
CPPFLAGS = -I../include -DNDEBUG
|
||||||
|
|
||||||
|
STATIC_LIB = ../lib/libloki.a
|
||||||
|
|
||||||
|
ifeq ($(shell uname -s), Darwin)
|
||||||
|
SO_EXT = dylib
|
||||||
|
INSTALL_FLAGS =
|
||||||
|
INSTALL_TARGET = libloki.$(VERSION).$(SO_EXT)
|
||||||
|
LDFLAGS = -dynamiclib -single_module -install_name $(INSTALL_TARGET)
|
||||||
|
else
|
||||||
|
SO_EXT = so
|
||||||
|
INSTALL_FLAGS = -s
|
||||||
|
INSTALL_TARGET = libloki.$(SO_EXT).$(VERSION)
|
||||||
|
LDFLAGS = --shared -Wl,-soname=$(INSTALL_TARGET)
|
||||||
|
endif
|
||||||
|
|
||||||
|
SHARED_LIB = ../lib/$(INSTALL_TARGET)
|
||||||
|
|
||||||
$(STATIC_LIB): $(STATIC_OBJ)
|
$(STATIC_LIB): $(STATIC_OBJ)
|
||||||
ar rs $(STATIC_LIB) $(STATIC_OBJ)
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
$(SHARED_LIB): $(SHARED_OBJ)
|
$(SHARED_LIB): $(SHARED_OBJ)
|
||||||
g++ $(SHARED_LIB_FLAG) $(SHARED_LIB_INSTALL) -o $(SHARED_LIB) $(SHARED_OBJ)
|
$(CXX) $(LDFLAGS) -o $@ $^
|
||||||
|
|
||||||
%.lo : %.cpp
|
%.lo : %.cpp
|
||||||
$(CXX) -c $(CXXFLAGS) -fPIC $(CPPFLAGS) -o $@ $<
|
$(CXX) -c $(CXXFLAGS) -fPIC $(CPPFLAGS) -o $@ $<
|
||||||
|
@ -34,18 +38,18 @@ build-static: $(STATIC_LIB)
|
||||||
build-shared: $(SHARED_LIB)
|
build-shared: $(SHARED_LIB)
|
||||||
|
|
||||||
install-static: $(STATIC_LIB)
|
install-static: $(STATIC_LIB)
|
||||||
mkdir -p $(DESTDIR)/usr/lib
|
mkdir -p $(DESTDIR)/lib
|
||||||
install -m 644 $(STATIC_LIB) $(DESTDIR)/usr/lib
|
install -m 644 $< $(DESTDIR)/lib
|
||||||
|
|
||||||
install-shared: $(SHARED_LIB)
|
install-shared: $(SHARED_LIB)
|
||||||
mkdir -p $(DESTDIR)/usr/lib
|
mkdir -p $(DESTDIR)/lib
|
||||||
install -m 644 -s $(SHARED_LIB) $(DESTDIR)/usr/lib
|
install -m 644 $(INSTALL_FLAGS) $< $(DESTDIR)/lib
|
||||||
cd $(DESTDIR)/usr/lib/; ln -s libloki.so.$(LOKI_VERSION) libloki.so
|
cd $(DESTDIR)/lib/ && $(RM) libloki.$(SO_EXT) && ln -s $(INSTALL_TARGET) libloki.$(SO_EXT)
|
||||||
|
|
||||||
clean-tmp:
|
clean-tmp:
|
||||||
rm -f $(STATIC_OBJ)
|
$(RM) $(STATIC_OBJ)
|
||||||
rm -f $(SHARED_OBJ)
|
$(RM) $(SHARED_OBJ)
|
||||||
|
|
||||||
clean: clean-tmp
|
clean: clean-tmp
|
||||||
rm -f $(STATIC_LIB)
|
$(RM) $(STATIC_LIB)
|
||||||
rm -f $(SHARED_LIB)
|
$(RM) $(SHARED_LIB)
|
||||||
|
|
Loading…
Add table
Reference in a new issue