On Thu, May 03, 2018 at 01:24:26PM -0600, Ross Zwisler wrote:
The following commit
commit c6ce3e2fe3da ("radix tree test suite: Add config option for map
Introduced a phony makefile target called 'mapshift' that ends up
generating the file generated/map-shift.h. This phony target was then
added as a dependency of the top level 'targets' build target, which is
what is run when you go to tools/testing/radix-tree and just type 'make'.
Unfortunately, this phony target doesn't actually work as a dependency, so
you end up getting:
make: *** No rule to make target 'generated/map-shift.h', needed by
make: *** Waiting for unfinished jobs....
Fix this by making the file generated/map-shift.h our real makefile target,
and add this a dependency of the top level build target.
This commit breaks typing 'make SHIFT=6'. It doesn't rebuild the
test suite any more. If I revert this patch, it works. Also, I can't
reproduce the problem you're reporting here. So ... how do I reproduce
it? Otherwise, I'm just going to revert this patch since it regresses
a feature I find useful.
Signed-off-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
tools/testing/radix-tree/Makefile | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/tools/testing/radix-tree/Makefile b/tools/testing/radix-tree/Makefile
index fa7ee369b3c9..db66f8a0d4be 100644
@@ -17,7 +17,7 @@ ifeq ($(BUILD), 32)
LDFLAGS += -m32
-targets: mapshift $(TARGETS)
+targets: generated/map-shift.h $(TARGETS)
@@ -42,9 +42,7 @@ radix-tree.c: ../../../lib/radix-tree.c
sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline
//' < $< > $@
@if ! grep -qws $(SHIFT) generated/map-shift.h; then \
echo "#define RADIX_TREE_MAP_SHIFT $(SHIFT)" > \