makefile with test program

This commit is contained in:
gabime 2014-01-27 12:54:05 +02:00
parent 12ba674107
commit 14ccc34805

View File

@ -6,21 +6,22 @@ OBJS_RELEASE = $(patsubst %.cpp,release/%.o,$(_SOURCES))
OBJS_DEBUG = $(patsubst %.cpp,debug/%.o,$(_SOURCES)) OBJS_DEBUG = $(patsubst %.cpp,debug/%.o,$(_SOURCES))
#$(info OBJS: ${OBJS})
CXX = g++ CXX = g++
CXXFLAGS = -Wall -std=c++11 -pthread -I../../include CXXFLAGS = -Wall -std=c++11 -pthread -I../../include
CXX_RELEASE_FLAGS = -O3 -flto CXX_RELEASE_FLAGS = -O3 -flto
CXX_DEBUG_FLAGS= -g CXX_DEBUG_FLAGS= -g
OUTLIB_RELEASE = libc11log.a OUTLIB_RELEASE = libc11log.a
OUTLIB_DEBUG = libc11log-debug.a OUTLIB_DEBUG = libc11log-debug.a
TEST_RELEASE = testme
TEST_DEBUG = testme-debug
.PHONY: all mkdirs release debug build clean .PHONY: all mkdirs release debug build clean
all: release all: release
release: CXXFLAGS += $(CXX_RELEASE_FLAGS) release: CXXFLAGS += $(CXX_RELEASE_FLAGS)
release: mkdirs build-release release: mkdirs build-release
@ -33,10 +34,12 @@ mkdirs:
build-release: $(OBJS_RELEASE) build-release: $(OBJS_RELEASE)
ar rvs $(OUTLIB_RELEASE) $^ ar rs $(OUTLIB_RELEASE) $^
$(CXX) $(SRC_DIR)/test.cpp $(OUTLIB_RELEASE) -o $(TEST_RELEASE) $(CXXFLAGS)
build-debug: $(OBJS_DEBUG) build-debug: $(OBJS_DEBUG)
ar rvs $(OUTLIB_DEBUG) $^ ar rs $(OUTLIB_DEBUG) $^
$(CXX) $(SRC_DIR)/test.cpp $(OUTLIB_DEBUG) -o $(TEST_DEBUG) $(CXXFLAGS)
release/%.o: $(SRC_DIR)/%.cpp release/%.o: $(SRC_DIR)/%.cpp
$(CXX) -c $< -o $@ $(CXXFLAGS) $(CXX) -c $< -o $@ $(CXXFLAGS)
@ -45,6 +48,6 @@ debug/%.o: $(SRC_DIR)/%.cpp
$(CXX) -c $< -o $@ $(CXXFLAGS) $(CXX) -c $< -o $@ $(CXXFLAGS)
clean: clean:
rm -rf release debug $(OUTLIB_RELEASE) $(OUTLIB_DEBUG) rm -rf release debug $(TEST_RELEASE) $(TEST_DEBUG) $(OUTLIB_RELEASE) $(OUTLIB_DEBUG)