[apparmor] [PATCH 5/9] Rework makefile to use $(HDRS) for depedency

Christian Boltz apparmor at cboltz.de
Sat Oct 3 19:25:13 UTC 2015


Hello,

Am Montag, 14. September 2015 schrieb John Johansen:
> Rework build depedencies to the full list of headers so that if
> a file is updated to include a header the make file doesn't need
> to be updated as well.

Good idea, but you accidently dropped some dependencies - see below for 
details.

Using a *.h wildcard for HDRS might be a good idea, but (if you like the 
idea at all) that's something for a follow-up patch.

> Signed-off-by: John Johansen <john.johansen at canonical.com>
> ---
>  parser/Makefile | 52
> ++++++++++++++++++++++++++-------------------------- 1 file changed,
> 26 insertions(+), 26 deletions(-)
> 
> diff --git a/parser/Makefile b/parser/Makefile
> index b748d99..0024b17 100644
> --- a/parser/Makefile
> +++ b/parser/Makefile
...
> -parser_misc.o: parser_misc.c parser.h parser_yacc.h profile.h
> cap_names.h $(APPARMOR_H) 
> +parser_misc.o: parser_misc.c $(HDRS)

parser_yacc.h and cap_names.h are not part of HDRS, therefore please 
keep them as dependencies or add them to HDRS.

Adding to HDRS might be a good idea especially for parser_yacc.h because 
you accidently dropped it from quite some targets (see below), so 
updating HDRS is a) the cleaner solution and b) less work ;-)

> -parser_main.o: parser_main.c parser.h parser_version.h policy_cache.h
> libapparmor_re/apparmor_re.h $(APPARMOR_H) 
> +parser_main.o: parser_main.c $(HDRS) libapparmor_re/apparmor_re.h 
> $(APPARMOR_H)

parser_version.h is not part of HDRS.

> -dbus.o: dbus.cc dbus.h parser.h immunix.h parser_yacc.h rule.h
> $(APPARMOR_H) 
> +dbus.o: dbus.cc $(HDRS) $(APPARMOR_H)
>  	$(CXX) $(EXTRA_CXXFLAGS) -c -o $@ $<

parser_yacc.h is not part of HDRS.
 
> -signal.o: signal.cc signal.h parser.h immunix.h parser_yacc.h rule.h
> $(APPARMOR_H) +signal.o: signal.cc $(HDRS) $(APPARMOR_H)
>  	$(CXX) $(EXTRA_CXXFLAGS) -c -o $@ $<

parser_yacc.h is not part of HDRS.

> -ptrace.o: ptrace.cc ptrace.h parser.h immunix.h parser_yacc.h rule.h
> $(APPARMOR_H) 
> +ptrace.o: ptrace.cc $(HDRS) $(APPARMOR_H)
>  	$(CXX) $(EXTRA_CXXFLAGS) -c -o $@ $<

parser_yacc.h is not part of HDRS.

> -network.o: network.c network.h parser.h immunix.h parser_yacc.h
> rule.h af_names.h $(APPARMOR_H) 
> +network.o: network.c $(HDRS) $(APPARMOR_H)
>  	$(CXX) $(EXTRA_CXXFLAGS) -c -o $@ $<

parser_yacc.h is not part of HDRS.

> -af_rule.o: af_rule.cc af_rule.h network.h parser.h profile.h
> immunix.h parser_yacc.h rule.h $(APPARMOR_H) 
> +af_rule.o: af_rule.cc $(HDRS) $(APPARMOR_H)
>  	$(CXX) $(EXTRA_CXXFLAGS) -c -o $@ $<

parser_yacc.h is not part of HDRS.

> -af_unix.o: af_unix.cc af_unix.h network.h af_rule.h parser.h
> profile.h immunix.h parser_yacc.h $(APPARMOR_H) 
> +af_unix.o: af_unix.cc $(HDRS) $(APPARMOR_H)
>  	$(CXX) $(EXTRA_CXXFLAGS) -c -o $@ $<

parser_yacc.h is not part of HDRS.

> -rule.o: rule.cc rule.h policydb.h
> +rule.o: rule.cc $(HDRS)
>  	$(CXX) $(EXTRA_CXXFLAGS) -c -o $@ $<

policydb.h is not part of HDRS, so please keep it here.


With parser_yacc.h, cap_names.h and policydb.h added to HDRS or kept as 
dependency in the targets listed above,
    Acked-by: Christian Boltz <apparmor at cboltz.de>

(No need to send an updated patch - I don't even want to check this 
again ;-)

 
Regards,

Christian Boltz
-- 
I wonder how we ended up with baseurl and extra_url, now we are missing
one with a "-" like "data-dir" to violate consistency and the principle
of least surprise in all possible ways.
[Duncan Mac-Vicar Prett in bnc#449842]




More information about the AppArmor mailing list