- Added some missing newlines at end of files

- Modified Makefiles to produce a shared library
- Added SingletonDll Makefile


git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@581 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
lfittl 2006-03-02 21:19:41 +00:00
parent f13e5f58ef
commit 6152f9386f
9 changed files with 70 additions and 26 deletions

View file

@ -1,14 +1,20 @@
.PHONY: build check install clean-tmp clean
build:
$(MAKE) -C src
.PHONY: build-static build-shared check install clean-tmp clean
build-static:
$(MAKE) -C src build-static
check: build
build-shared:
$(MAKE) -C src build-shared
check: build-static
$(MAKE) -C test
install:
$(MAKE) -C src install
$(MAKE) -C src install-static
$(MAKE) -C include install
install-shared:
$(MAKE) -C src install-shared
clean-tmp:
$(MAKE) -C src clean-tmp

View file

@ -1,24 +1,40 @@
OBJ = \
OrderedStatic.o \
SafeFormat.o \
Singleton.o \
SmallObj.o \
SmartPtr.o
BIN = ../lib/libloki.a
SRC = $(wildcard *.cpp)
STATIC_OBJ = $(SRC:.cpp=.o)
SHARED_OBJ = $(SRC:.cpp=.lo)
LOKI_VERSION = 0.1.4
STATIC_LIB = ../lib/libloki.a
SHARED_LIB = ../lib/libloki.so.$(LOKI_VERSION)
CXXFLAGS = -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -O2
CPPFLAGS = -I../include -DNDEBUG
$(BIN): $(OBJ)
ar rs $(BIN) $(OBJ)
$(STATIC_LIB): $(STATIC_OBJ)
ar rs $(STATIC_LIB) $(STATIC_OBJ)
.PHONY: install clean-tmp clean
install: $(BIN)
$(SHARED_LIB): $(SHARED_OBJ)
g++ --shared -Wl,-soname=libloki.so.$(LOKI_VERSION) -o $(SHARED_LIB) $(SHARED_OBJ)
%.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)
mkdir -p $(DESTDIR)/usr/lib
install $(BIN) $(DESTDIR)/usr/lib
install -m 644 $(STATIC_LIB) $(DESTDIR)/usr/lib
install-shared: $(SHARED_LIB)
mkdir -p $(DESTDIR)/usr/lib
install -m 644 -s $(SHARED_LIB) $(DESTDIR)/usr/lib
cd $(DESTDIR)/usr/lib/; ln -s libloki.so.$(LOKI_VERSION) libloki.so
clean-tmp:
rm -f $(OBJ)
rm -f $(STATIC_OBJ)
rm -f $(SHARED_OBJ)
clean: clean-tmp
rm -f $(BIN)
rm -f $(STATIC_LIB)
rm -f $(SHARED_LIB)

22
test/SingletonDll/Makefile Executable file
View file

@ -0,0 +1,22 @@
BIN = client
LIB1 = libfoo.so
LIB2 = libsingletondll.so
CXXFLAGS = -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -O2
CPPFLAGS = -I../../include -DNDEBUG
LDFLAGS = -L../../lib
LDLIBS = -lloki
.PHONY: build clean
build: $(BIN)
$(BIN): $(LIB1) $(LIB2)
$(CXX) $(CXXFLAGS) -L. $(LDFLAGS) $(CPPFLAGS) -o $(BIN) client.cpp $(LDLIBS) -lfoo -lsingletondll
$(LIB1): foo.cpp
$(CXX) --shared $(CXXFLAGS) $(CPPFLAGS) -o $(LIB1) foo.cpp
$(LIB2): singletondll.cpp
$(CXX) --shared $(CXXFLAGS) $(CPPFLAGS) -o $(LIB2) foo.cpp
clean:
rm -f $(BIN) $(LIB1) $(LIB2)

View file

@ -43,4 +43,4 @@ int main()
#endif
return 0;
}
}

View file

@ -22,4 +22,4 @@ Foo::Foo()
void Foo::foo()
{
std::cout << "\nFoo:foo() called, this: " << this << "\n";
}
}

View file

@ -27,4 +27,4 @@ public:
};
#endif
#endif

View file

@ -41,4 +41,4 @@
#endif
#endif
#endif

View file

@ -39,4 +39,4 @@ template class SINGLETONDLL_EXPORT Singleton<Foo>;
#endif
#endif

View file

@ -41,4 +41,4 @@
#endif
#endif
#endif