clang makefile
This commit is contained in:
		
							parent
							
								
									fcb8f1563d
								
							
						
					
					
						commit
						8176f82de2
					
				
							
								
								
									
										56
									
								
								build/gcc/makefile.clang
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								build/gcc/makefile.clang
									
									
									
									
									
										Normal 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 | ||||||
|  | 
 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user