lib Makefiles: integrate

Our whole system of Makefiles are integrated from top to bottom,
meaning:

 1. The paths in sub-makefiles are relative to the top source dir.
 2. Sub-makefiles are executed via make $(build)=<SUBDIR> <TARGET>

For some reason, makefiles under lib/ are the exclusion. Let's fix it.

Side effect: you can now build any individual target under lib/,
for example, "make lib/c/libcriu.so" works.

[v2: use the .FORCE, thanks to dsafonov@]

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
Kir Kolyshkin 2017-02-22 15:15:42 -08:00 committed by Pavel Emelyanov
parent 67bd47878d
commit 2a9d9c6615
6 changed files with 59 additions and 55 deletions

View file

@ -29,7 +29,7 @@ install-man:
.PHONY: install-man
install-lib: lib
$(Q) $(MAKE) -C lib install
$(Q) $(MAKE) $(build)=lib install
.PHONY: install-lib
install-criu: criu
@ -42,6 +42,6 @@ install: install-man install-lib install-criu
uninstall:
$(Q) $(MAKE) -C Documentation $@
$(Q) $(MAKE) -C lib $@
$(Q) $(MAKE) $(build)=lib $@
$(Q) $(MAKE) -C criu $@
.PHONY: uninstall