Re: [PATCH] selftests/futex: Fix makefile dependencies

From: Darren Hart
Date: Tue Jan 10 2017 - 17:10:50 EST


On Fri, Jan 06, 2017 at 01:18:39PM +0900, Stafford Horne wrote:
> I am working on doing selftests for openrisc and found issues with the
> futex test is not building after changes to the tests source.
>
> This issue is that the TARGETS variable used in the futex Makefile is
> also used by the selftests Makefile, so when building from toplevel the
> TARGETS variable is clobbered and nothing gets built. Changed the
> variable name to get around that.
>
> Also, the futex makefile did not contain dependencies for all headers,
> so if we make changes to logging.h rebuild will not happen. Add headers
> to fix it up.
>
> Signed-off-by: Stafford Horne <shorne@xxxxxxxxx>

Thanks for catching this and the fix.

+Shuah Khan

Note: This appears also to be a problem for intel_pstate/Makefile

Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>

> ---
> tools/testing/selftests/futex/functional/Makefile | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile
> index 9d6b75e..1546cbd 100644
> --- a/tools/testing/selftests/futex/functional/Makefile
> +++ b/tools/testing/selftests/futex/functional/Makefile
> @@ -2,8 +2,11 @@ INCLUDES := -I../include -I../../
> CFLAGS := $(CFLAGS) -g -O2 -Wall -D_GNU_SOURCE -pthread $(INCLUDES)
> LDFLAGS := $(LDFLAGS) -pthread -lrt
>
> -HEADERS := ../include/futextest.h
> -TARGETS := \
> +HEADERS := \
> + ../include/futextest.h \
> + ../include/atomic.h \
> + ../include/logging.h
> +TEST_TARGETS := \
> futex_wait_timeout \
> futex_wait_wouldblock \
> futex_requeue_pi \
> @@ -12,14 +15,14 @@ TARGETS := \
> futex_wait_uninitialized_heap \
> futex_wait_private_mapped_file
>
> -TEST_PROGS := $(TARGETS) run.sh
> +TEST_PROGS := $(TEST_TARGETS) run.sh
>
> .PHONY: all clean
> -all: $(TARGETS)
> +all: $(TEST_TARGETS)
>
> -$(TARGETS): $(HEADERS)
> +$(TEST_TARGETS): $(HEADERS)
>
> include ../../lib.mk
>
> clean:
> - rm -f $(TARGETS)
> + rm -f $(TEST_TARGETS)
> --
> 2.9.3
>
>

--
Darren Hart
Intel Open Source Technology Center