Re: [PATCH] Makefile: expand ~ in DESTDIR

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Masatake YAMATO <yamato@xxxxxxxxxx> writes:

> 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>

It doesn't work when DESTDIR does not exist -  If no existing file name
matches a pattern, then that pattern is omitted from the output of the
wildcard function, see
https://www.gnu.org/software/make/manual/html_node/Wildcard-Function.html


Petr

> ---
>  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





[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux