Commit 6e70d694 authored by Kir Kolyshkin's avatar Kir Kolyshkin Committed by Andrei Vagin

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: 's avatarAndrei Vagin <avagin@virtuozzo.com>
Signed-off-by: 's avatarKir Kolyshkin <kir@openvz.org>
Reviewed-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
parent 4464274c
.PHONY: .FORCE
# here is a workaround for a bug in libnl-3: # here is a workaround for a bug in libnl-3:
# 6a8d90f5fec4 "attr: Allow attribute type 0" # 6a8d90f5fec4 "attr: Allow attribute type 0"
WRAPFLAGS += -Wl,--wrap=nla_parse,--wrap=nlmsg_parse WRAPFLAGS += -Wl,--wrap=nla_parse,--wrap=nlmsg_parse
...@@ -47,7 +49,7 @@ $(ARCH-LIB): ...@@ -47,7 +49,7 @@ $(ARCH-LIB):
# #
# PIE library code. # PIE library code.
criu/pie/pie.lib.a: $(ARCH-LIB) criu/pie/pie.lib.a: $(ARCH-LIB) .FORCE
$(Q) $(MAKE) $(call build-as,Makefile.library,criu/pie) all $(Q) $(MAKE) $(call build-as,Makefile.library,criu/pie) all
# #
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment