friss created this revision. friss added reviewers: aprantl, labath. Herald added a project: LLDB.
I was working on cleaning up our on-device test runs last week, and as a result I needed to update a lot of test Makefiles in the Swift tree. I found it especailly annoying to update the build system of tests that are building mutliple images (typically a shared library). The main reason is that you can't see what's (if anything) special about the build from the main makefile. You always need to open mutliple Makefiles. Another reason is the way you have to add a special line to your clean rule to do the right thing, and you never really know which arguments to pass. Most of the secondary Makefiles we have are just a couple variable definitions and then an include of Makefile.rules. This patch removes most of the secondary Makefiles and replaces them with a direct invocation of Makefile.rules in the main Makefile. The specificities of each sub-build are listed right there on the recursive $(MAKE) call. All the variables that matter are being passed automagically by make as they have been passed on the command line. The only things you need to specify are the variables customizating the Makefile.rules logic for each image. This patch also deals with the clean rules using this trick to avoid having to duplicate the recursive invocation in a separate clean rule: mylib clean:: $(MAKE) -f $(MAKEFILE_RULES) ... $(MAKECMDGOALS) The MAKECMDGOALS variable at the end contains the list of build goals that have been passed on the command line. When it's empty, this invocation just calls the default Makefile.rules rule which is what you want. When "clean" is passed as a goal, the rule will be invoked too and it is passed through MAKECMDGOALS invoking the appropriate cleaning logic from Makefile.rules. I really like the conciseness of this approach and the fact that everything is visible in one place. What do others think? Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D68558 Files: lldb/packages/Python/lldbsuite/test/commands/expression/top-level/Makefile lldb/packages/Python/lldbsuite/test/commands/expression/top-level/dummy.mk lldb/packages/Python/lldbsuite/test/commands/target/create-deps/Makefile lldb/packages/Python/lldbsuite/test/commands/target/create-deps/a.mk lldb/packages/Python/lldbsuite/test/functionalities/exec/Makefile lldb/packages/Python/lldbsuite/test/functionalities/exec/secondprog.mk lldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/Makefile lldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/simple.mk lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile lldb/packages/Python/lldbsuite/test/functionalities/load_unload/a.mk lldb/packages/Python/lldbsuite/test/functionalities/load_unload/b.mk lldb/packages/Python/lldbsuite/test/functionalities/load_unload/c.mk lldb/packages/Python/lldbsuite/test/functionalities/load_unload/d.mk lldb/packages/Python/lldbsuite/test/functionalities/load_using_paths/Makefile lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/Makefile lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/a.mk lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/b.mk lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Test/Test.mk lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/TestExt/TestExt.mk lldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/Makefile lldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/create-empty-corefile.mk lldb/packages/Python/lldbsuite/test/macosx/macabi/Makefile lldb/packages/Python/lldbsuite/test/macosx/macabi/dylib.mk lldb/packages/Python/lldbsuite/test/make/Makefile.rules lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/Makefile lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/svr4lib_a.mk lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/svr4lib_b_quote.mk
Index: lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/svr4lib_b_quote.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/svr4lib_b_quote.mk +++ /dev/null @@ -1,7 +0,0 @@ -LIB_PREFIX := svr4lib - -DYLIB_NAME := $(LIB_PREFIX)_b\" -DYLIB_CXX_SOURCES := $(LIB_PREFIX)_b_quote.cpp -DYLIB_ONLY := YES - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/svr4lib_a.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/svr4lib_a.mk +++ /dev/null @@ -1,7 +0,0 @@ -LIB_PREFIX := svr4lib - -DYLIB_NAME := $(LIB_PREFIX)_a -DYLIB_CXX_SOURCES := $(LIB_PREFIX)_a.cpp -DYLIB_ONLY := YES - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/Makefile +++ lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/Makefile @@ -1,15 +1,19 @@ LIB_PREFIX := svr4lib -LD_EXTRAS := -L. -l$(LIB_PREFIX)_a -l$(LIB_PREFIX)_b\" +LD_EXTRAS := -L. -lsvr4lib_a -lsvr4lib_b\" CXX_SOURCES := main.cpp USE_LIBDL := 1 MAKE_DSYM := NO -include Makefile.rules +a.out: svr4lib_a svr4lib_b_quote -a.out: $(LIB_PREFIX)_a $(LIB_PREFIX)_b_quote +include Makefile.rules -svr4lib_%: - $(MAKE) VPATH=$(SRCDIR) -I $(SRCDIR) -f "$(SRCDIR)/$(LIB_PREFIX)_$*.mk" +svr4lib_a clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_NAME=svr4lib_a DYLIB_CXX_SOURCES=svr4lib_a.cpp \ + DYLIB_ONLY=YES $(MAKECMDGOALS) -clean:: - $(MAKE) -f $(SRCDIR)/$(LIB_PREFIX)_a.mk clean +svr4lib_b_quote clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_NAME=svr4lib_b\\\" DYLIB_CXX_SOURCES=svr4lib_b_quote.cpp \ + DYLIB_ONLY=YES $(MAKECMDGOALS) Index: lldb/packages/Python/lldbsuite/test/make/Makefile.rules =================================================================== --- lldb/packages/Python/lldbsuite/test/make/Makefile.rules +++ lldb/packages/Python/lldbsuite/test/make/Makefile.rules @@ -36,7 +36,8 @@ SRCDIR := $(shell dirname $(firstword $(MAKEFILE_LIST))) BUILDDIR := $(shell pwd) -THIS_FILE_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST))) +MAKEFILE_RULES := $(lastword $(MAKEFILE_LIST)) +THIS_FILE_DIR := $(shell dirname $(MAKEFILE_RULES)) LLDB_BASE_DIR := $(THIS_FILE_DIR)/../../../../../ #---------------------------------------------------------------------- Index: lldb/packages/Python/lldbsuite/test/macosx/macabi/dylib.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/macosx/macabi/dylib.mk +++ /dev/null @@ -1,6 +0,0 @@ -LEVEL = ../../make -DYLIB_ONLY := YES -DYLIB_NAME := $(BASENAME) -DYLIB_C_SOURCES := $(DYLIB_NAME).c - -include $(LEVEL)/Makefile.rules Index: lldb/packages/Python/lldbsuite/test/macosx/macabi/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/macosx/macabi/Makefile +++ lldb/packages/Python/lldbsuite/test/macosx/macabi/Makefile @@ -8,11 +8,8 @@ all: libfoo.dylib a.out -lib%.dylib: %.c - $(MAKE) MAKE_DSYM=YES CC=$(CC) \ - ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ - BASENAME=$(shell basename $< .c) \ - TRIPLE=x86_64-apple-macosx10.15 SDKROOT=$(SDKROOT) \ - VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all +libfoo.dylib clean:: foo.c \ + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_NAME=foo DYLIB_C_SOURCES=foo.c include $(LEVEL)/Makefile.rules Index: lldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/create-empty-corefile.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/create-empty-corefile.mk +++ /dev/null @@ -1,6 +0,0 @@ -MAKE_DSYM := NO - -CXX_SOURCES := create-empty-corefile.cpp -EXE = create-empty-corefile - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/Makefile +++ lldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/Makefile @@ -4,10 +4,8 @@ all: a.out create-empty-corefile -create-empty-corefile: - $(MAKE) VPATH=$(VPATH) -f $(SRCDIR)/create-empty-corefile.mk - -clean:: - $(MAKE) -f create-empty-corefile.mk clean +create-empty-corefile clean:: + $(MAKE) -f $(MAKEFILE_RULES) EXE=create-empty-corefile \ + C_SOURCES=create-empty-corefile.c $(MAKECMDGOALS) include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/TestExt/TestExt.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/TestExt/TestExt.mk +++ /dev/null @@ -1,8 +0,0 @@ -DYLIB_NAME := TestExt -DYLIB_ONLY := YES -CFLAGS_EXTRAS = -I$(SRCDIR)/.. -LD_EXTRAS = -L. -lTest -lobjc -framework Foundation - -DYLIB_OBJC_SOURCES = TestExt/TestExt.m - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Test/Test.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Test/Test.mk +++ /dev/null @@ -1,8 +0,0 @@ -DYLIB_NAME := Test -DYLIB_ONLY := YES -CFLAGS_EXTRAS = -I$(SRCDIR)/.. -LD_EXTRAS = -lobjc -framework Foundation - -DYLIB_OBJC_SOURCES = Test/Test.m - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile +++ lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile @@ -1,21 +1,22 @@ -LD_EXTRAS = -lobjc -framework Foundation - -include Makefile.rules +LD_EXTRAS = -lobjc -framework Foundation -L. -lTest -lTestExt +OBJC_SOURCES = main.m all: a.out -libTest.dylib: Test/Test.m +a.out: libTest.dylib libTestExt.dylib + +libTest.dylib clean:: Test/Test.m mkdir -p Test - $(MAKE) MAKE_DSYM=YES VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/Test/Test.mk all + $(MAKE) MAKE_DSYM=YES -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_NAME=Test DYLIB_OBJC_SOURCES=Test/Test.m \ + LD_EXTRAS="-lobjc -framework Foundation" \ + CFLAGS_EXTRAS=-I$(SRCDIR) $(MAKECMDGOALS) -libTestExt.dylib: TestExt/TestExt.m +libTestExt.dylib clean:: TestExt/TestExt.m mkdir -p TestExt - $(MAKE) MAKE_DSYM=YES VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/TestExt/TestExt.mk all + $(MAKE) MAKE_DSYM=YES -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_NAME=TestExt DYLIB_OBJC_SOURCES=TestExt/TestExt.m \ + LD_EXTRAS="-lobjc -framework Foundation -lTest -L." \ + CFLAGS_EXTRAS=-I$(SRCDIR) $(MAKECMDGOALS) -a.out: main.m libTest.dylib libTestExt.dylib - $(CC) $(LDFLAGS) -I$(SRCDIR) -L. -lTest -lTestExt -o a.out $< - -clean:: - rm -rf libTest.dylib libTestExt.dylib a.out Test.o TestExt.o libTest.dylib.dSYM libTestExt.dylib.dSYM - $(MAKE) MAKE_DSYM=YES VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/Test/Test.mk clean - $(MAKE) MAKE_DSYM=YES VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/TestExt/TestExt.mk clean +include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/b.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/b.mk +++ /dev/null @@ -1,5 +0,0 @@ -DYLIB_NAME := b -DYLIB_CXX_SOURCES := b.cpp -DYLIB_ONLY := YES - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/a.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/a.mk +++ /dev/null @@ -1,5 +0,0 @@ -DYLIB_NAME := a -DYLIB_CXX_SOURCES := a.cpp -DYLIB_ONLY := YES - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/Makefile +++ lldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/Makefile @@ -1,17 +1,15 @@ LD_EXTRAS := -L. -l$(LIB_PREFIX)a -l$(LIB_PREFIX)b CXX_SOURCES := main.cpp -include Makefile.rules +a.out: liba libb -.PHONY: -a.out: lib_a lib_b +include Makefile.rules -lib_%: - $(MAKE) VPATH=$(VPATH) -f $(SRCDIR)/$*.mk +liba clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_NAME=a DYLIB_CXX_SOURCES=a.cpp $(MAKECMDGOALS) -hidden_lib_d: - $(MAKE) -C hidden +libb clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_NAME=b DYLIB_CXX_SOURCES=b.cpp $(MAKECMDGOALS) -clean:: - $(MAKE) -f $(SRCDIR)/a.mk clean - $(MAKE) -f $(SRCDIR)/b.mk clean Index: lldb/packages/Python/lldbsuite/test/functionalities/load_using_paths/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/load_using_paths/Makefile +++ lldb/packages/Python/lldbsuite/test/functionalities/load_using_paths/Makefile @@ -1,12 +1,11 @@ CXX_SOURCES := main.cpp USE_LIBDL := 1 -include Makefile.rules - all: hidden_lib a.out -hidden_lib: - $(MAKE) VPATH=$(SRCDIR)/hidden -I $(SRCDIR)/hidden -C hidden -f $(SRCDIR)/hidden/Makefile +include Makefile.rules + +hidden_lib clean:: + $(MAKE) VPATH=$(SRCDIR)/hidden -C hidden -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_CXX_SOURCES=d.cpp DYLIB_NAME=loadunload -clean:: - $(MAKE) -I $(SRCDIR)/hidden -C hidden -f $(SRCDIR)/hidden/Makefile clean Index: lldb/packages/Python/lldbsuite/test/functionalities/load_unload/d.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/load_unload/d.mk +++ /dev/null @@ -1,9 +0,0 @@ -LIB_PREFIX := loadunload_ - -DYLIB_EXECUTABLE_PATH := $(CURDIR) - -DYLIB_NAME := $(LIB_PREFIX)d -DYLIB_CXX_SOURCES := d.cpp -DYLIB_ONLY := YES - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/functionalities/load_unload/c.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/load_unload/c.mk +++ /dev/null @@ -1,7 +0,0 @@ -LIB_PREFIX := loadunload_ - -DYLIB_NAME := $(LIB_PREFIX)c -DYLIB_CXX_SOURCES := c.cpp -DYLIB_ONLY := YES - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/functionalities/load_unload/b.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/load_unload/b.mk +++ /dev/null @@ -1,7 +0,0 @@ -LIB_PREFIX := loadunload_ - -DYLIB_NAME := $(LIB_PREFIX)b -DYLIB_CXX_SOURCES := b.cpp -DYLIB_ONLY := YES - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/functionalities/load_unload/a.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/load_unload/a.mk +++ /dev/null @@ -1,17 +0,0 @@ -LIB_PREFIX := loadunload_ - -LD_EXTRAS := -L. -l$(LIB_PREFIX)b - -DYLIB_NAME := $(LIB_PREFIX)a -DYLIB_CXX_SOURCES := a.cpp -DYLIB_ONLY := YES - -include Makefile.rules - -$(DYLIB_FILENAME): lib_b - -.PHONY lib_b: - $(MAKE) VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/b.mk - -clean:: - $(MAKE) -I $(SRCDIR) -f $(SRCDIR)/b.mk clean Index: lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile +++ lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile @@ -1,28 +1,35 @@ -LIB_PREFIX := loadunload_ - -LD_EXTRAS := -L. -l$(LIB_PREFIX)d +LD_EXTRAS := -L. -lloadunload_d CXX_SOURCES := main.cpp USE_LIBDL := 1 +a.out: lib_b lib_a lib_c lib_d hidden_lib_d + include Makefile.rules -a.out: lib_a lib_b lib_c lib_d hidden_lib_d install_name_tool +lib_a:: lib_b + +lib_a clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_CXX_SOURCES=a.cpp DYLIB_NAME=loadunload_a \ + LD_EXTRAS="-L. -lloadunload_b" $(MAKECMDGOALS) + +lib_b clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_CXX_SOURCES=b.cpp DYLIB_NAME=loadunload_b $(MAKECMDGOALS) -lib_%: - $(MAKE) VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/$*.mk +lib_c clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_CXX_SOURCES=c.cpp DYLIB_NAME=loadunload_c $(MAKECMDGOALS) + +lib_d clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_CXX_SOURCES=d.cpp DYLIB_NAME=loadunload_d $(MAKECMDGOALS) -install_name_tool: ifeq ($(OS),Darwin) +lib_d:: install_name_tool -id @executable_path/libloadunload_d.dylib libloadunload_d.dylib endif - -hidden_lib_d: - $(MAKE) VPATH=$(SRCDIR)/hidden -I $(SRCDIR)/hidden -C hidden -f $(SRCDIR)/hidden/Makefile - -clean:: - $(MAKE) -f $(SRCDIR)/a.mk clean - $(MAKE) -f $(SRCDIR)/b.mk clean - $(MAKE) -f $(SRCDIR)/c.mk clean - $(MAKE) -f $(SRCDIR)/d.mk clean - $(MAKE) -I $(SRCDIR)/hidden -C hidden -f $(SRCDIR)/hidden/Makefile clean +hidden_lib_d clean:: + $(MAKE) VPATH=$(SRCDIR)/hidden -C hidden -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_CXX_SOURCES=d.cpp DYLIB_NAME=loadunload_d $(MAKECMDGOALS) Index: lldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/simple.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/simple.mk +++ /dev/null @@ -1,4 +0,0 @@ -C_SOURCES := simple.c -EXE = simple - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/Makefile +++ lldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/Makefile @@ -4,8 +4,6 @@ include Makefile.rules -simple: - $(MAKE) VPATH=$(VPATH) -f $(SRCDIR)/simple.mk - -clean:: - $(MAKE) -f $(SRCDIR)/simple.mk clean \ No newline at end of file +simple clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + C_SOURCES=simple.c EXE=simple $(MAKECMDGOALS) Index: lldb/packages/Python/lldbsuite/test/functionalities/exec/secondprog.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/exec/secondprog.mk +++ /dev/null @@ -1,4 +0,0 @@ -CXX_SOURCES := secondprog.cpp -EXE = secondprog - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/functionalities/exec/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/exec/Makefile +++ lldb/packages/Python/lldbsuite/test/functionalities/exec/Makefile @@ -1,11 +1,9 @@ CXX_SOURCES := main.cpp -all: a.out secondprog +all: secondprog include Makefile.rules -secondprog: - $(MAKE) VPATH=$(VPATH) -f $(SRCDIR)/secondprog.mk - -clean:: - $(MAKE) -f $(SRCDIR)/secondprog.mk clean +secondprog clean:: secondprog.cpp + $(MAKE) -f $(MAKEFILE_RULES) \ + CXX_SOURCES=secondprog.cpp EXE=secondprog $(MAKECMDGOALS) Index: lldb/packages/Python/lldbsuite/test/commands/target/create-deps/a.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/commands/target/create-deps/a.mk +++ /dev/null @@ -1,7 +0,0 @@ -LIB_PREFIX := load_ - -DYLIB_NAME := $(LIB_PREFIX)a -DYLIB_CXX_SOURCES := a.cpp -DYLIB_ONLY := YES - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/commands/target/create-deps/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/commands/target/create-deps/Makefile +++ lldb/packages/Python/lldbsuite/test/commands/target/create-deps/Makefile @@ -1,14 +1,10 @@ -LIB_PREFIX := load_ - -LD_EXTRAS := -L. -l$(LIB_PREFIX)a +LD_EXTRAS := -L. -lload_a CXX_SOURCES := main.cpp -include Makefile.rules - -a.out: lib_a +a.out: libload_a -lib_%: - $(MAKE) VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/$*.mk +include Makefile.rules -clean:: - $(MAKE) -f $(SRCDIR)/a.mk clean +libload_a clean:: + $(MAKE) -f $(MAKEFILE_RULES) \ + DYLIB_ONLY=YES DYLIB_NAME=load_a DYLIB_CXX_SOURCES=a.cpp $(MAKECMDGOALS) Index: lldb/packages/Python/lldbsuite/test/commands/expression/top-level/dummy.mk =================================================================== --- lldb/packages/Python/lldbsuite/test/commands/expression/top-level/dummy.mk +++ /dev/null @@ -1,4 +0,0 @@ -CXX_SOURCES := dummy.cpp -EXE := dummy - -include Makefile.rules Index: lldb/packages/Python/lldbsuite/test/commands/expression/top-level/Makefile =================================================================== --- lldb/packages/Python/lldbsuite/test/commands/expression/top-level/Makefile +++ lldb/packages/Python/lldbsuite/test/commands/expression/top-level/Makefile @@ -1,11 +1,10 @@ CXX_SOURCES := main.cpp test.cpp -include Makefile.rules +all: dummy -a.out: dummy +include Makefile.rules -dummy: - $(MAKE) VPATH=$(VPATH) -I $(SRCDIR) -f $(SRCDIR)/dummy.mk +dummy clean:: dummy.cpp + $(MAKE) -f $(MAKEFILE_RULES) \ + CXX_SOURCES=dummy.cpp EXE=dummy $(MAKECMDGOALS) -clean:: - $(MAKE) VPATH=$(VPATH) -I $(SRCDIR) -f $(SRCDIR)/dummy.mk clean
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits