Hi!
> If we create/modify/touch file syscalls/utils/compat_16.h and execute
> 'make' in any of syscalls directories which includes compat_16.mk, then
> nothing will happen, because this approach:
> 
>    %.c: $(COMPAT_16_H)
> 
> is not working.
> 
> Fixed this.
> 
> Signed-off-by: Stanislav Kholmanskikh <[email protected]>
> ---
>  testcases/kernel/syscalls/utils/compat_16.mk |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/testcases/kernel/syscalls/utils/compat_16.mk 
> b/testcases/kernel/syscalls/utils/compat_16.mk
> index 371bd43..36ece1b 100644
> --- a/testcases/kernel/syscalls/utils/compat_16.mk
> +++ b/testcases/kernel/syscalls/utils/compat_16.mk
> @@ -55,6 +55,7 @@ CPPFLAGS            += -I$(abs_srcdir) 
> -I$(abs_srcdir)/../utils
>  SRCS                 ?= $(wildcard $(abs_srcdir)/*.c)
>  
>  MAKE_TARGETS         := $(notdir $(patsubst %.c,%,$(SRCS)))
> +MAKE_TARGETS_OBJS_WO_COMPAT_16       := $(addsuffix .o,$(MAKE_TARGETS))
>  
>  ifneq ($(TST_COMPAT_16_SYSCALL),no)
>  MAKE_TARGETS         += $(addsuffix _16,$(MAKE_TARGETS))
> @@ -69,7 +70,8 @@ COMPAT_16_H         := $(abs_srcdir)/../utils/compat_16.h
>  ifneq ($(wildcard $(COMPAT_16_H)),)
>  HAS_COMPAT_16                := 1
>  
> -%.c: $(COMPAT_16_H)
> +$(MAKE_TARGETS_OBJS_WO_COMPAT_16): $(COMPAT_16_H)
> +.INTERMEDIATE: $(MAKE_TARGETS_OBJS_WO_COMPAT_16)
>  
>  else
>  HAS_COMPAT_16                := 0
> @@ -78,5 +80,5 @@ endif
>  %_16: CPPFLAGS += -D$(DEF_16)=1
>  # XXX (garrcoop): End section of code in question..
>  
> -%_16.o: %.c
> +%_16.o: %.c $(COMPAT_16_H)
>       $(COMPILE.c) $(OUTPUT_OPTION) $<

Perhaps we can do this more cleanly by making the _16 binaries depend on
the compat_16.h as with:

--- a/testcases/kernel/syscalls/utils/compat_16.mk
+++ b/testcases/kernel/syscalls/utils/compat_16.mk
@@ -57,7 +57,8 @@ SRCS                  ?= $(wildcard $(abs_srcdir)/*.c)
 MAKE_TARGETS           := $(notdir $(patsubst %.c,%,$(SRCS)))
 
 ifneq ($(TST_COMPAT_16_SYSCALL),no)
-MAKE_TARGETS           += $(addsuffix _16,$(MAKE_TARGETS))
+MAKE_TARGETS_16         = $(addsuffix _16,$(MAKE_TARGETS))
+MAKE_TARGETS           += $(MAKE_TARGETS_16)
 endif
 
 # XXX (garrcoop): This code should be put in question as it cannot be applied
@@ -69,8 +70,7 @@ COMPAT_16_H           := $(abs_srcdir)/../utils/compat_16.h
 ifneq ($(wildcard $(COMPAT_16_H)),)
 HAS_COMPAT_16          := 1
 
-%.c: $(COMPAT_16_H)
-
+$(MAKE_TARGETS_16): $(COMPAT_16_H)
 else
 HAS_COMPAT_16          := 0
 endif

-- 
Cyril Hrubis
[email protected]

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to