criu/Makefile: fix rebuilding criu/pie/pie.lib.a
As reported by Andrei Vagin: touch criu/pie/parasite-vdso.c does not lead to rebuild pie.lib.a and its dependencies. This happened because the real dependencies of criu/pie/pie.lib.a are listed in criu/pie/Makefile.library, which is never included or called with sub-make, because the criu/Makefile says: criu/pie/pie.lib.a: $(ARCH-LIB) $(Q) $(MAKE) $(call build-as,Makefile.library,criu/pie) all essentially saying we only need to call a sub-make with Makefile.library if the target is absent, or $(ARCH-LIB) is newer than the target. A workaround is to use .FORCE so that the Makefile.library is always called and so the dependencies are checked. Note the above is also true for any target that involves calling a sub-make -- it should either be used with .FORCE or otherwise depend on a phony target. I haven't checked all the CRIU makefiles but suspect there might be more cases like this one. travis-ci: success for Makefiles: fix deps checking Cc: Cyrill Gorcunov <gorcunov@openvz.org> Reported-by:Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Reviewed-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
Showing
Please
register
or
sign in
to comment