1afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel DunbarCLANG_LEVEL := .. 2afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel Dunbarinclude $(CLANG_LEVEL)/Makefile 35f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 40126e5e9de7707253c9a129dfa03470f068da3a3Daniel Dunbar# Test in all immediate subdirectories if unset. 52f42d4a5f859f6ed19490f1b69ae66c204f9abfdDaniel Dunbarifdef TESTSUITE 62f42d4a5f859f6ed19490f1b69ae66c204f9abfdDaniel DunbarTESTDIRS := $(TESTSUITE:%=$(PROJ_SRC_DIR)/%) 72f42d4a5f859f6ed19490f1b69ae66c204f9abfdDaniel Dunbarelse 810aebbb5c8d928c4faa672c47d076cba1edefab7Daniel DunbarTESTDIRS ?= $(PROJ_SRC_DIR) 92f42d4a5f859f6ed19490f1b69ae66c204f9abfdDaniel Dunbarendif 1015bd799214ece987cc7eb8351a1a3bca6addfc7eChris Lattner 115e01e3cae6d0437b4c72b26402fa14e3c909ba7fDaniel Dunbar# 'lit' wants objdir paths, so it will pick up the lit.site.cfg. 125e01e3cae6d0437b4c72b26402fa14e3c909ba7fDaniel DunbarTESTDIRS := $(TESTDIRS:$(PROJ_SRC_DIR)%=$(PROJ_OBJ_DIR)%) 1358033318b10c68056382f7c523c7dcaa3ba14941Daniel Dunbar 146516813f776c51e3df05b1c6b5d4ffc94d9eb31aDaniel Dunbar# Allow EXTRA_TESTDIRS to provide additional test directories. 156516813f776c51e3df05b1c6b5d4ffc94d9eb31aDaniel DunbarTESTDIRS += $(EXTRA_TESTDIRS) 166516813f776c51e3df05b1c6b5d4ffc94d9eb31aDaniel Dunbar 17d5134b03c3fc1f3692bd9c9471310de997797bd4Daniel Dunbarifndef TESTARGS 189d294b9957f57512db8de37452024e82f0fe4f50Chris Lattnerifdef VERBOSE 19984ec4800958220226659f77196e826bff066a33Chris LattnerTESTARGS = -v 20039df91439aeccc6b8490ddd12b28d9541d80026Mike Stumpelse 2162c37119940e76b8b8923d99551a779e686f9d2fAndrew TrickTESTARGS = -s -v 229a2f1acf79b3f9960deeffe3fca1b8ee38572b84Mike Stumpendif 239d294b9957f57512db8de37452024e82f0fe4f50Chris Lattnerendif 249d294b9957f57512db8de37452024e82f0fe4f50Chris Lattner 25b258d8f961212490800f96b97275dd6961ca1cc0Daniel Dunbar# Make sure any extra test suites can find the main site config. 26b258d8f961212490800f96b97275dd6961ca1cc0Daniel DunbarLIT_ARGS := --param clang_site_config=$(PROJ_OBJ_DIR)/lit.site.cfg 27b258d8f961212490800f96b97275dd6961ca1cc0Daniel Dunbar 28a7afc452918bae2f7bc26f903e16b183ae92b1abNuno Lopesifdef VG 29b258d8f961212490800f96b97275dd6961ca1cc0Daniel Dunbar LIT_ARGS += "--vg" 30a7afc452918bae2f7bc26f903e16b183ae92b1abNuno Lopesendif 31a7afc452918bae2f7bc26f903e16b183ae92b1abNuno Lopes 327a17889829b3f3655c47e2b01e282832fdb466d6Jeffrey Yasskinall:: lit.site.cfg Unit/lit.site.cfg 33724827ff93b2c563c4a90ea43aed959f4af35e54Daniel Dunbar @ echo '--- Running clang tests for $(TARGET_TRIPLE) ---' 34b3496c7efda26c6c89c1e4403d8bb80b2eb9041bDouglas Gregor @ $(PYTHON) $(LLVM_SRC_ROOT)/utils/lit/lit.py \ 35b258d8f961212490800f96b97275dd6961ca1cc0Daniel Dunbar $(LIT_ARGS) $(TESTARGS) $(TESTDIRS) 3617feadf7529d7017588d716accc3717ccf2739f2Gabor Greif 3758033318b10c68056382f7c523c7dcaa3ba14941Daniel DunbarFORCE: 3858033318b10c68056382f7c523c7dcaa3ba14941Daniel Dunbar 3958033318b10c68056382f7c523c7dcaa3ba14941Daniel Dunbarlit.site.cfg: FORCE 401b720a90f20801c67bdd9036e1e6f3d222816665Daniel Dunbar @echo "Making Clang 'lit.site.cfg' file..." 4141d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > lit.tmp 4241d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> lit.tmp 4341d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> lit.tmp 4441d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_LIBS_DIR@=$(LibDir)=g >> lit.tmp 4541d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@CLANG_SOURCE_DIR@=$(PROJ_SRC_DIR)/..=g >> lit.tmp 4641d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@CLANG_BINARY_DIR@=$(PROJ_OBJ_DIR)/..=g >> lit.tmp 47651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines @$(ECHOPATH) s=@CLANG_TOOLS_DIR@=$(ToolDir)=g >> lit.tmp 4841d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@TARGET_TRIPLE@=$(TARGET_TRIPLE)=g >> lit.tmp 49176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines @$(ECHOPATH) s=@LLVM_HOST_TRIPLE@=$(HOST_TRIPLE)=g >> lit.tmp 502450b82b7d110ac1a11ffde3be90b8255767381dRoman Divacky @$(ECHOPATH) s=@ENABLE_CLANG_ARCMT@=$(ENABLE_CLANG_ARCMT)=g >> lit.tmp 512450b82b7d110ac1a11ffde3be90b8255767381dRoman Divacky @$(ECHOPATH) s=@ENABLE_CLANG_STATIC_ANALYZER@=$(ENABLE_CLANG_STATIC_ANALYZER)=g >> lit.tmp 52651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines @$(ECHOPATH) s=@ENABLE_CLANG_EXAMPLES@=$(ENABLE_CLANG_EXAMPLES)=g >> lit.tmp 53651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> lit.tmp 5441d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @sed -f lit.tmp $(PROJ_SRC_DIR)/lit.site.cfg.in > $@ 5541d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @-rm -f lit.tmp 5658033318b10c68056382f7c523c7dcaa3ba14941Daniel Dunbar 577a17889829b3f3655c47e2b01e282832fdb466d6Jeffrey YasskinUnit/lit.site.cfg: FORCE 587a17889829b3f3655c47e2b01e282832fdb466d6Jeffrey Yasskin @echo "Making Clang 'Unit/lit.site.cfg' file..." 597a17889829b3f3655c47e2b01e282832fdb466d6Jeffrey Yasskin @$(MKDIR) $(dir $@) 6041d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > unit.tmp 6141d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> unit.tmp 6241d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> unit.tmp 6341d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_LIBS_DIR@=$(LibDir)=g >> unit.tmp 6441d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@CLANG_SOURCE_DIR@=$(PROJ_SRC_DIR)/..=g >> unit.tmp 6541d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@CLANG_BINARY_DIR@=$(PROJ_OBJ_DIR)/..=g >> unit.tmp 6641d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@TARGET_TRIPLE@=$(TARGET_TRIPLE)=g >> unit.tmp 6741d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@LLVM_BUILD_MODE@=$(BuildMode)=g >> unit.tmp 6841d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> unit.tmp 6941d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@SHLIBDIR@=$(SharedLibDir)=g >> unit.tmp 7041d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @$(ECHOPATH) s=@SHLIBPATH_VAR@=$(SHLIBPATH_VAR)=g >> unit.tmp 7141d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @sed -f unit.tmp $(PROJ_SRC_DIR)/Unit/lit.site.cfg.in > $@ 7241d6d6984d84f28dc7fd6f1c5fa33c2c75c5cfddNAKAMURA Takumi @-rm -f unit.tmp 737a17889829b3f3655c47e2b01e282832fdb466d6Jeffrey Yasskin 7417feadf7529d7017588d716accc3717ccf2739f2Gabor Greifclean:: 75f758dc0812e7d0a846d2e07047a9c675e2ecb191Nuno Lopes @ find . -name Output | xargs rm -fr 7617feadf7529d7017588d716accc3717ccf2739f2Gabor Greif 779d294b9957f57512db8de37452024e82f0fe4f50Chris Lattner.PHONY: all report clean 78