Though instructed as DESTDIR=~/obj ./scripts/env_use_destdir make test in README.md, compiling policy_define.c was failed with following errors: make[1]: Entering directory '/home/yamato/var/selinux/checkpolicy' cc -O2 -Werror -Wall -Wextra -Wfloat-equal -Wformat=2 -Winit-self \ -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes \ -Wnull-dereference -Wpointer-arith -Wshadow -Wstrict-prototypes \ -Wundef -Wunused -Wwrite-strings -fno-common -I~/obj/usr/include \ -o policy_define.o -c policy_define.c policy_define.c: In function ‘define_te_avtab_xperms_helper’: policy_define.c:2083:61: error: ‘RULE_NOTSELF’ undeclared (first use in this function); did you mean ‘RULE_SELF’? 2083 | avrule->flags |= (add ? RULE_SELF : RULE_NOTSELF); | ^~~~~~~~~~~~ | RULE_SELF because cc cannot find the directory ~/obj/usr/include passed via -I option. cc doesn't expand "~". Signed-off-by: Masatake YAMATO <yamato@xxxxxxxxxx> --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 2ffba8e9..053c6d3d 100644 --- a/Makefile +++ b/Makefile @@ -26,11 +26,11 @@ else endif ifneq ($(DESTDIR),) - LIBDIR ?= $(DESTDIR)$(PREFIX)/lib + LIBDIR ?= $(wildcard $(DESTDIR))$(PREFIX)/lib LIBSEPOLA ?= $(LIBDIR)/libsepol.a - CFLAGS += -I$(DESTDIR)$(PREFIX)/include - LDFLAGS += -L$(DESTDIR)$(PREFIX)/lib -L$(LIBDIR) + CFLAGS += -I$(wildcard $(DESTDIR))$(PREFIX)/include + LDFLAGS += -L$(wildcard $(DESTDIR))$(PREFIX)/lib -L$(LIBDIR) export CFLAGS export LDFLAGS export LIBSEPOLA -- 2.40.1