Daniel Dunbar | e6c1daa | 2010-06-08 20:34:18 | [diff] [blame] | 1 | CLANG_LEVEL := .. |
| 2 | include $(CLANG_LEVEL)/Makefile |
Chris Lattner | 31eef32 | 2006-06-18 05:42:02 | [diff] [blame] | 3 | |
Daniel Dunbar | d37908f | 2009-07-12 19:00:20 | [diff] [blame] | 4 | # Test in all immediate subdirectories if unset. |
Daniel Dunbar | c9b0a37 | 2009-09-04 17:40:27 | [diff] [blame] | 5 | ifdef TESTSUITE |
| 6 | TESTDIRS := $(TESTSUITE:%=$(PROJ_SRC_DIR)/%) |
| 7 | else |
Daniel Dunbar | 605bd11 | 2009-07-25 15:26:08 | [diff] [blame] | 8 | TESTDIRS ?= $(PROJ_SRC_DIR) |
Daniel Dunbar | c9b0a37 | 2009-09-04 17:40:27 | [diff] [blame] | 9 | endif |
Chris Lattner | 4114219 | 2008-03-10 19:32:31 | [diff] [blame] | 10 | |
Daniel Dunbar | b5cbf77 | 2009-09-22 05:16:02 | [diff] [blame] | 11 | # 'lit' wants objdir paths, so it will pick up the lit.site.cfg. |
| 12 | TESTDIRS := $(TESTDIRS:$(PROJ_SRC_DIR)%=$(PROJ_OBJ_DIR)%) |
Daniel Dunbar | 8c10ff8f | 2009-09-10 23:00:15 | [diff] [blame] | 13 | |
Daniel Dunbar | 377eb21 | 2009-11-05 06:55:24 | [diff] [blame] | 14 | # Allow EXTRA_TESTDIRS to provide additional test directories. |
| 15 | TESTDIRS += $(EXTRA_TESTDIRS) |
| 16 | |
Daniel Dunbar | c54e242 | 2009-06-13 18:28:48 | [diff] [blame] | 17 | ifndef TESTARGS |
Chris Lattner | 56a7bf5 | 2008-04-06 22:32:01 | [diff] [blame] | 18 | ifdef VERBOSE |
Chris Lattner | 42464b8 | 2010-05-12 02:47:23 | [diff] [blame] | 19 | TESTARGS = -v |
Mike Stump | 39eaa7b | 2009-03-13 00:21:49 | [diff] [blame] | 20 | else |
Andrew Trick | f008c3e | 2011-06-16 01:32:21 | [diff] [blame] | 21 | TESTARGS = -s -v |
Mike Stump | 0bb5f76 | 2009-03-18 20:25:18 | [diff] [blame] | 22 | endif |
Chris Lattner | 56a7bf5 | 2008-04-06 22:32:01 | [diff] [blame] | 23 | endif |
| 24 | |
Daniel Dunbar | d3f630f | 2009-11-05 16:36:19 | [diff] [blame] | 25 | # Make sure any extra test suites can find the main site config. |
| 26 | LIT_ARGS := --param clang_site_config=$(PROJ_OBJ_DIR)/lit.site.cfg |
| 27 | |
Nuno Lopes | 14ea24e | 2009-07-11 18:34:43 | [diff] [blame] | 28 | ifdef VG |
Daniel Dunbar | d3f630f | 2009-11-05 16:36:19 | [diff] [blame] | 29 | LIT_ARGS += "--vg" |
Nuno Lopes | 14ea24e | 2009-07-11 18:34:43 | [diff] [blame] | 30 | endif |
| 31 | |
Jeffrey Yasskin | c7da993 | 2011-02-03 04:51:52 | [diff] [blame] | 32 | all:: lit.site.cfg Unit/lit.site.cfg |
Daniel Dunbar | be4253a | 2009-09-08 16:39:23 | [diff] [blame] | 33 | @ echo '--- Running clang tests for $(TARGET_TRIPLE) ---' |
Douglas Gregor | 6b603c9e | 2009-09-29 14:54:28 | [diff] [blame] | 34 | @ $(PYTHON) $(LLVM_SRC_ROOT)/utils/lit/lit.py \ |
Daniel Dunbar | d3f630f | 2009-11-05 16:36:19 | [diff] [blame] | 35 | $(LIT_ARGS) $(TESTARGS) $(TESTDIRS) |
Gabor Greif | 831c7c5 | 2008-03-18 07:03:00 | [diff] [blame] | 36 | |
Daniel Dunbar | 8c10ff8f | 2009-09-10 23:00:15 | [diff] [blame] | 37 | FORCE: |
| 38 | |
| 39 | lit.site.cfg: FORCE |
Daniel Dunbar | a173d9b | 2009-09-20 19:04:35 | [diff] [blame] | 40 | @echo "Making Clang 'lit.site.cfg' file..." |
NAKAMURA Takumi | 2201582 | 2011-03-08 22:17:40 | [diff] [blame] | 41 | @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > lit.tmp |
| 42 | @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> lit.tmp |
| 43 | @$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> lit.tmp |
| 44 | @$(ECHOPATH) s=@LLVM_LIBS_DIR@=$(LibDir)=g >> lit.tmp |
| 45 | @$(ECHOPATH) s=@CLANG_SOURCE_DIR@=$(PROJ_SRC_DIR)/..=g >> lit.tmp |
| 46 | @$(ECHOPATH) s=@CLANG_BINARY_DIR@=$(PROJ_OBJ_DIR)/..=g >> lit.tmp |
| 47 | @$(ECHOPATH) s=@TARGET_TRIPLE@=$(TARGET_TRIPLE)=g >> lit.tmp |
| 48 | @sed -f lit.tmp $(PROJ_SRC_DIR)/lit.site.cfg.in > $@ |
| 49 | @-rm -f lit.tmp |
Daniel Dunbar | 8c10ff8f | 2009-09-10 23:00:15 | [diff] [blame] | 50 | |
Jeffrey Yasskin | c7da993 | 2011-02-03 04:51:52 | [diff] [blame] | 51 | Unit/lit.site.cfg: FORCE |
| 52 | @echo "Making Clang 'Unit/lit.site.cfg' file..." |
| 53 | @$(MKDIR) $(dir $@) |
NAKAMURA Takumi | 2201582 | 2011-03-08 22:17:40 | [diff] [blame] | 54 | @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > unit.tmp |
| 55 | @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> unit.tmp |
| 56 | @$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> unit.tmp |
| 57 | @$(ECHOPATH) s=@LLVM_LIBS_DIR@=$(LibDir)=g >> unit.tmp |
| 58 | @$(ECHOPATH) s=@CLANG_SOURCE_DIR@=$(PROJ_SRC_DIR)/..=g >> unit.tmp |
| 59 | @$(ECHOPATH) s=@CLANG_BINARY_DIR@=$(PROJ_OBJ_DIR)/..=g >> unit.tmp |
| 60 | @$(ECHOPATH) s=@TARGET_TRIPLE@=$(TARGET_TRIPLE)=g >> unit.tmp |
| 61 | @$(ECHOPATH) s=@LLVM_BUILD_MODE@=$(BuildMode)=g >> unit.tmp |
| 62 | @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> unit.tmp |
| 63 | @$(ECHOPATH) s=@SHLIBDIR@=$(SharedLibDir)=g >> unit.tmp |
| 64 | @$(ECHOPATH) s=@SHLIBPATH_VAR@=$(SHLIBPATH_VAR)=g >> unit.tmp |
| 65 | @sed -f unit.tmp $(PROJ_SRC_DIR)/Unit/lit.site.cfg.in > $@ |
| 66 | @-rm -f unit.tmp |
Jeffrey Yasskin | c7da993 | 2011-02-03 04:51:52 | [diff] [blame] | 67 | |
Gabor Greif | 831c7c5 | 2008-03-18 07:03:00 | [diff] [blame] | 68 | clean:: |
Nuno Lopes | f94d353 | 2009-11-03 22:39:56 | [diff] [blame] | 69 | @ find . -name Output | xargs rm -fr |
Gabor Greif | 831c7c5 | 2008-03-18 07:03:00 | [diff] [blame] | 70 | |
Chris Lattner | 56a7bf5 | 2008-04-06 22:32:01 | [diff] [blame] | 71 | .PHONY: all report clean |