• Kir Kolyshkin's avatar
    criu/Makefile: fix rebuilding criu/pie/pie.lib.a · 6e70d694
    Kir Kolyshkin authored
    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>
    6e70d694
Name
Last commit
Last update
Documentation Loading commit data...
compel Loading commit data...
contrib Loading commit data...
coredump Loading commit data...
crit Loading commit data...
criu Loading commit data...
images Loading commit data...
include/common Loading commit data...
lib Loading commit data...
scripts Loading commit data...
soccr Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
INSTALL.md Loading commit data...
Makefile Loading commit data...
Makefile.compel Loading commit data...
Makefile.config Loading commit data...
Makefile.install Loading commit data...
Makefile.versions Loading commit data...
README.md Loading commit data...