11BUILD_DIR := build
22CMAKE := cmake
33BUILD_TOOL := ninja
4- LLVM_FLAGS := -DCMAKE_BUILD_TYPE=Release \
5- -DLLVM_TARGETS_TO_BUILD="X86" \
4+ LLVM_FLAGS := -DLLVM_TARGETS_TO_BUILD="X86" \
65 -DLLVM_ENABLE_PROJECTS="" \
76 -DLLVM_BUILD_EXAMPLES=ON \
87 -DLLVM_INCLUDE_EXAMPLES=ON \
98
10- LLVM_DIR := $(BUILD_DIR ) /llvm-build
9+ RELEASE_DIR := $(BUILD_DIR ) /release
10+ DEBUG_DIR := $(BUILD_DIR ) /debug
11+ RELEASE_LLVM_DIR := $(RELEASE_DIR ) /llvm
12+ DEBUG_LLVM_DIR := $(DEBUG_DIR ) /llvm
1113
1214# 可执行程序路径
1315# EXECUTABLE := $(BUILD_DIR)/release/bin/myapp$(if $(filter Windows_NT,$(OS)),.exe,)
1416
15- .PHONY : all run build_llvm clean_llvm distclean_llvm help
17+ .PHONY : all run release_llvm debug_llvm clean_llvm distclean_llvm help
1618
17- all : build_llvm
19+ all : release_llvm
1820
1921# 配置并构建调试版本
2022# debug:
@@ -24,19 +26,26 @@ all: build_llvm
2426# @cd $(DEBUG_DIR) && rm -rf ./src
2527
2628# 配置并构建发布版本
27- run : build_llvm
28- @./$(LLVM_DIR ) /bin/BuildingAJIT-Ch1
29+ run : debug_llvm
30+ @./$(DEBUG_LLVM_DIR ) /bin/BuildingAJIT-Ch1
2931
30- build_llvm :
31- @mkdir -p $(LLVM_DIR )
32- @cd $(LLVM_DIR ) && $(CMAKE ) -G Ninja $(LLVM_FLAGS ) ../../llvm # 添加模块支持
33- @cd $(LLVM_DIR ) && ninja
32+ release_llvm :
33+ @mkdir -p $(RELEASE_LLVM_DIR )
34+ @cd $(RELEASE_LLVM_DIR ) && $(CMAKE ) -G Ninja -DCMAKE_BUILD_TYPE=Release $(LLVM_FLAGS ) ../../../llvm # 添加模块支持
35+ @cd $(RELEASE_LLVM_DIR ) && ninja
36+
37+ debug_llvm :
38+ @mkdir -p $(DEBUG_LLVM_DIR )
39+ @cd $(DEBUG_LLVM_DIR ) && $(CMAKE ) -G Ninja -DCMAKE_BUILD_TYPE=Debug $(LLVM_FLAGS ) ../../../llvm # 添加模块支持
40+ @cd $(DEBUG_LLVM_DIR ) && ninja -j 6
3441
3542clean_llvm :
36- @[ -d $( LLVM_DIR) ] && $(BUILD_TOOL ) -C $(LLVM_DIR ) clean || true
43+ @[ -d $( RELEASE_LLVM_DIR) ] && $(BUILD_TOOL ) -C $(RELEASE_LLVM_DIR ) clean || true
44+ @[ -d $( DEBUG_LLVM_DIR) ] && $(BUILD_TOOL ) -C $(DEBUG_LLVM_DIR ) clean || true
3745
3846distclean_llvm :
39- @rm -rf $(LLVM_DIR )
47+ @rm -rf $(RELEASE_LLVM_DIR )
48+ @rm -rf $(DEBUG_LLVM_DIR )
4049
4150help :
4251 @echo " 可用目标:"
0 commit comments