mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-19 01:26:22 +00:00
This is initial import of NMK engine which we gonna use for CRIU and related tools building. It's very tiny and while here we merge it as is in future it gonna be rather a submodule from https://github.com/cyrillos/nmk An idea is to have unified build engine for most tools we're gonna use. Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
28 lines
949 B
Makefile
28 lines
949 B
Makefile
ifndef ____nmk_defined__utils
|
|
|
|
#
|
|
# Usage: option = $(call try-cc,source-to-build,cc-options,cc-defines)
|
|
try-cc = $(shell sh -c \
|
|
'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
|
|
echo "$(1)" | \
|
|
$(CC) $(3) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
|
|
rm -f "$$TMP"')
|
|
|
|
# pkg-config-check
|
|
# Usage: ifeq ($(call pkg-config-check, library),y)
|
|
pkg-config-check = $(shell sh -c 'pkg-config $(1) && echo y')
|
|
|
|
#
|
|
# Remove duplicates.
|
|
uniq = $(strip $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))))
|
|
|
|
#
|
|
# Add $(obj)/ for paths that are not relative
|
|
objectify = $(foreach o,$(sort $(call uniq,$(1))),$(if $(filter /% ./% ../%,$(o)),$(o),$(obj)/$(o)))
|
|
|
|
#
|
|
# Footer.
|
|
$(__nmk_dir)scripts/utils.mk:
|
|
@true
|
|
____nmk_defined__utils = y
|
|
endif
|