clang makefile

This commit is contained in:
gabime 2014-02-13 01:15:58 +02:00
parent fcb8f1563d
commit 8176f82de2

56
build/gcc/makefile.clang Normal file
View File

@ -0,0 +1,56 @@
SRC_DIR=../../src
_SOURCES = factory.cpp formatters.cpp os.cpp
SOURCES = $(patsubst %,$(SRC_DIR)/%,$(_SOURCES))
OBJS_RELEASE = $(patsubst %.cpp,release/%.o,$(_SOURCES))
OBJS_DEBUG = $(patsubst %.cpp,debug/%.o,$(_SOURCES))
CXX = clang++
CXXFLAGS = -march=native -Wall -Wextra -Wshadow -pedantic -std=c++11 -pthread -I../../include
CXX_RELEASE_FLAGS = -O3 -flto
CXX_DEBUG_FLAGS= -g
OUTLIB_RELEASE = libc11log.a
OUTLIB_DEBUG = libc11log-debug.a
TEST_RELEASE = testme-clang
TEST_DEBUG = testme-debug-clang
.PHONY: all mkdirs release debug build clean rebuild
all: release
release: CXXFLAGS += $(CXX_RELEASE_FLAGS)
release: mkdirs build-release
debug: CXXFLAGS += $(CXX_DEBUG_FLAGS)
debug: mkdirs build-debug
mkdirs:
@mkdir -p release debug
build-release: $(OBJS_RELEASE)
ar rs $(OUTLIB_RELEASE) $^
$(CXX) $(SRC_DIR)/test.cpp $(OBJS_RELEASE) -o $(TEST_RELEASE) $(CXXFLAGS) -B/usr/lib/gold-ld/
build-debug: $(OBJS_DEBUG)
ar --plugin /usr/local/lib/LLVMgold.so rs $(OUTLIB_DEBUG) $^
$(CXX) $(SRC_DIR)/test.cpp $(OBJS_RELEASE) -o $(TEST_DEBUG) $(CXXFLAGS) -B/usr/lib/gold-ld/
release/%.o: $(SRC_DIR)/%.cpp
$(CXX) -c $< -o $@ $(CXXFLAGS)
debug/%.o: $(SRC_DIR)/%.cpp
$(CXX) -c $< -o $@ $(CXXFLAGS)
clean:
rm -rf release debug daily.* $(TEST_RELEASE) $(TEST_DEBUG) $(OUTLIB_RELEASE) $(OUTLIB_DEBUG)
rebuild: clean all