[PATCH] Fix recursive make in clang-tools-extra

Edwin Vane edwin.vane at intel.com
Thu Feb 28 12:58:18 PST 2013


Hi gribozavr, echristo,

Autoconf make (all) now properly recurses from tools/extra/Makefile into
tools/extra/test/Makefile and tools/extra/test/cpp11-migrate/Makefile.
The 'all' target is responsible for creating lit config files and
autogenerating tests. Subsequent 'check-all' targets will properly work.

Re-enabling UseAuto/iterator.cpp test.

General clean-up of clang-tools-extra makefiles, removing dead targets
and not using copied pieces of Makefile.rules.

http://llvm-reviews.chandlerc.com/D479

Files:
  Makefile
  test/Makefile
  test/cpp11-migrate/Makefile
  test/cpp11-migrate/UseAuto/iterator.cpp

Index: Makefile
===================================================================
--- Makefile
+++ Makefile
@@ -12,29 +12,15 @@
 include $(CLANG_LEVEL)/../../Makefile.config
 
 PARALLEL_DIRS := remove-cstr-calls tool-template clang-format cpp11-migrate
+DIRS := test
 
 include $(CLANG_LEVEL)/Makefile
 
-###
-# Handle the nested test suite.
-
-ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
-$(RecursiveTargets)::
-	$(Verb) for dir in test; do \
-	  if [ -f $(PROJ_SRC_DIR)/$${dir}/Makefile ] && [ ! -f $${dir}/Makefile ]; then \
-	    $(MKDIR) $${dir}; \
-	    $(CP) $(PROJ_SRC_DIR)/$${dir}/Makefile $${dir}/Makefile; \
-	  fi \
-	done
-endif
-
+# Custom target. Pass request to test/Makefile that knows what to do. To access
+# this target you'd issue:
+#
+# make -C <build_dir>/tools/clang/tools/extra test
 test::
-	@ $(MAKE) -C test
-
-report::
-	@ $(MAKE) -C test report
-
-clean::
-	@ $(MAKE) -C test clean
+	@ $(MAKE) -C test test
 
-.PHONY: test report clean
+.PHONY: test
Index: test/Makefile
===================================================================
--- test/Makefile
+++ test/Makefile
@@ -9,8 +9,6 @@
 
 CLANG_LEVEL := ../../..
 include $(CLANG_LEVEL)/../../Makefile.config
-
-# Recurse into any subdirectories that have their own Makefiles.
 DIRS := cpp11-migrate
 include $(CLANG_LEVEL)/Makefile
 
@@ -45,14 +43,19 @@
 endif
 
 all:: lit.site.cfg
+
+# Run just the Clang extra tools tests. This target assumes 'make (all)' has
+# been run previously as that target is responsible for generating lit config
+# files and auto-generated tests.
+test::
 	@ echo '--- Running the Clang extra tools tests for $(TARGET_TRIPLE) ---'
 	@ $(PYTHON) $(LLVM_SRC_ROOT)/utils/lit/lit.py \
 	  $(LIT_ARGS) $(TESTARGS) $(TESTDIRS)
 
 FORCE:
 
 lit.site.cfg: FORCE
-	@echo "Making Clang extra tools' 'lit.site.cfg' file..."
+	@echo "Making lit.site.cfg for Clang extra tools..."
 	@$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > lit.tmp
 	@$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> lit.tmp
 	@$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> lit.tmp
@@ -69,4 +72,4 @@
 clean::
 	@ find . -name Output | xargs rm -fr
 
-.PHONY: all report clean
+.PHONY: all test clean
Index: test/cpp11-migrate/Makefile
===================================================================
--- test/cpp11-migrate/Makefile
+++ test/cpp11-migrate/Makefile
@@ -22,7 +22,6 @@
   UseAuto/gen_basic_std_iterator_tests.cpp.py \
   UseAuto/Inputs/gen_my_std.h.py
 
-
 # macro to be used with $(call) that generates a rule and recipe that causes a
 # file to be auto-generated from a generator script. Generator scripts must
 # follow scheme above. The resulting file is placed in:
Index: test/cpp11-migrate/UseAuto/iterator.cpp
===================================================================
--- test/cpp11-migrate/UseAuto/iterator.cpp
+++ test/cpp11-migrate/UseAuto/iterator.cpp
@@ -1,6 +1,6 @@
 // RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp
-// NORUN cpp11-migrate -use-auto %t.cpp -- --std=c++11 -I %gen_root/UseAuto/Inputs
-// NORUN FileCheck -input-file=%t.cpp %s
+// RUN: cpp11-migrate -use-auto %t.cpp -- --std=c++11 -I %gen_root/UseAuto/Inputs
+// RUN: FileCheck -input-file=%t.cpp %s
 #include "my_std.h"
 
 typedef std::vector<int>::iterator int_iterator;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D479.1.patch
Type: text/x-patch
Size: 3262 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130228/56a079dd/attachment.bin>


More information about the cfe-commits mailing list