@@ -60,7 +60,7 @@ CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-
SWIG_CFLAGS += -Wno-error -Wno-unused-but-set-variable -Wno-unused-variable -Wno-shadow \
-Wno-unused-parameter -Wno-missing-prototypes
-override CFLAGS += -I../include -D_GNU_SOURCE
+override CFLAGS += -I../include -I../../libselinux/include -D_GNU_SOURCE
RANLIB ?= ranlib
SWIG = swig -Wall -python -o $(SWIGCOUT) -outdir ./
@@ -90,7 +90,7 @@ $(LIBA): $(OBJS)
$(RANLIB) $@
$(LIBSO): $(LOBJS)
- $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -lsepol -laudit -lselinux -lbz2 -Wl,-soname,$(LIBSO),--version-script=libsemanage.map,-z,defs
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -L../../libselinux/src -lsepol -laudit -lselinux -lbz2 -Wl,-soname,$(LIBSO),--version-script=libsemanage.map,-z,defs
ln -sf $@ $(TARGET)
$(LIBPC): $(LIBPC).in ../VERSION
@@ -16,6 +16,8 @@ PROG_OBJS= $(patsubst %.c,%.o,$(PROG_SRC))
PROG=mcstransd
INITSCRIPT=mcstrans
CFLAGS ?= -Wall -W -Wundef -Wmissing-noreturn -Wmissing-format-attribute
+override CFLAGS += -I../../libselinux/include
+override LDFLAGS+= -L../../libselinux/src
all: $(PROG)
@@ -2,6 +2,9 @@
PREFIX ?= /usr
SBINDIR ?= $(PREFIX)/sbin
+override CFLAGS += -I../../libselinux/include
+override LDFLAGS+= -L../../libselinux/src
+
TARGETS=transcon untranscon
# If no specific libsepol.a is specified, fall back on LDFLAGS search path
@@ -6,7 +6,7 @@ MANDIR ?= $(PREFIX)/share/man
LOCALEDIR ?= $(DESTDIR)$(PREFIX)/share/locale
CFLAGS ?= -Werror -Wall -W
-override CFLAGS += $(LDFLAGS) -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\""
+override CFLAGS += $(LDFLAGS) -I../../libselinux/include -L../../libselinux/src -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\""
override LDLIBS += -lsepol -lselinux
TARGETS=$(patsubst %.c,%,$(sort $(wildcard *.c)))
@@ -24,7 +24,8 @@ VERSION = $(shell cat ../VERSION)
CFLAGS ?= -Werror -Wall -W
EXTRA_OBJS =
-override CFLAGS += -DVERSION=\"$(VERSION)\" -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\""
+override CFLAGS += -I../../libselinux/include -DVERSION=\"$(VERSION)\" -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\""
+override LDFLAGS+= -L../../libselinux/src
override LDLIBS += -lselinux
ifeq ($(PAMH), y)
override CFLAGS += -DUSE_PAM
@@ -10,7 +10,8 @@ PAMH ?= $(shell test -f /usr/include/security/pam_appl.h && echo y)
AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y)
CFLAGS ?= -Werror -Wall -W
-override CFLAGS += -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\""
+override CFLAGS += -I../../libselinux/include -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\""
+override LDFLAGS+= -L../../libselinux/src
override LDLIBS += -lselinux
ifeq ($(PAMH), y)
override CFLAGS += -DUSE_PAM
@@ -7,7 +7,8 @@ MANDIR ?= $(PREFIX)/share/man
WARNS=-Werror -W -Wall -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wno-format-zero-length -Wformat-nonliteral -Wformat-security -Wfloat-equal
VERSION = $(shell cat ../VERSION)
CFLAGS ?= $(WARNS) -O1
-override CFLAGS += -DVERSION=\"$(VERSION)\"
+override CFLAGS += -I../../libselinux/include -DVERSION=\"$(VERSION)\"
+override LDFLAGS+= -L../../libselinux/src
override LDLIBS += -lselinux
all: secon
@@ -5,6 +5,8 @@ SBINDIR ?= $(PREFIX)/sbin
MANDIR = $(PREFIX)/share/man
CFLAGS ?= -Werror -Wall -W
+override CFLAGS += -I../../libselinux/include -I../../libsemanage/include
+override LDFLAGS+= -L../../libselinux/src -L../../libsemanage/src
override LDLIBS += -lsepol -lselinux -lsemanage
SEMODULE_OBJS = semodule.o
@@ -7,7 +7,8 @@ MANDIR = $(PREFIX)/share/man
ETCDIR ?= /etc
CFLAGS ?= -Werror -Wall -W
-override CFLAGS += -D_FILE_OFFSET_BITS=64
+override CFLAGS += -I../../libselinux/include -D_FILE_OFFSET_BITS=64
+override LDFLAGS+= -L../../libselinux/src
override LDLIBS += -lselinux
all: sestatus
@@ -6,6 +6,8 @@ MANDIR = $(PREFIX)/share/man
AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y)
CFLAGS ?= -g -Werror -Wall -W
+override CFLAGS += -I../../libselinux/include
+override LDFLAGS+= -L../../libselinux/src
override LDLIBS += -lselinux -lsepol -lpthread
ifeq ($(AUDITH), y)
@@ -6,6 +6,8 @@ MANDIR = $(PREFIX)/share/man
BASHCOMPLETIONDIR ?= $(PREFIX)/share/bash-completion/completions
CFLAGS ?= -Werror -Wall -W
+override CFLAGS += -I../../libselinux/include -I../../libsemanage/include
+override LDFLAGS+= -L../../libselinux/src -L../../libsemanage/src
override LDLIBS += -lselinux -lsemanage
SETSEBOOL_OBJS = setsebool.o
@@ -2,7 +2,8 @@ PREFIX ?= /usr
SBINDIR ?= $(PREFIX)/sbin
MANDIR ?= $(PREFIX)/share/man
-override CFLAGS += -D_GNU_SOURCE
+override CFLAGS += -I../../libselinux/include -D_GNU_SOURCE
+override LDFLAGS+= -L../../libselinux/src
override LDLIBS += -lselinux
@@ -8,6 +8,8 @@ BINDIR ?= $(PREFIX)/bin
MANDIR ?= $(PREFIX)/share/man
CFLAGS ?= -Werror -Wall -W
+override CFLAGS += -I../../libselinux/include
+override LDFLAGS+= -L../../libselinux/src
# If no specific libsepol.a is specified, fall back on LDFLAGS search path
# Otherwise, as $(LIBSEPOLA) already appears in the dependencies, there
@@ -18,8 +18,8 @@ GIO_CFLAGS = -DHAVE_DBUS $(shell $(PKG_CONFIG) --cflags gio-2.0)
GIO_LIBS = $(shell $(PKG_CONFIG) --libs gio-2.0)
CFLAGS ?= -g -Werror -Wall -W
-override CFLAGS += $(GIO_CFLAGS)
-
+override CFLAGS += -I../../libselinux/include $(GIO_CFLAGS)
+override LDFLAGS+= -L../../libselinux/src
override LDLIBS += -lselinux $(GIO_LIBS)
all: restorecond
These subprograms (sublibraries) use plain #include <selinux/selinux.h> cc ... -lselinux ... &c. which includes/links to the system libselinux. Naturally, this doesn't work if you don't have one. All of these fell out of a plain make invocation, yielding errors like 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../include -D_GNU_SOURCE -c -o boolean_record.o boolean_record.c boolean_record.c:26:10: fatal error: selinux/selinux.h: No such file or directory 26 | #include <selinux/selinux.h> | ^~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: Entering directory '/tmp/selinux/policycoreutils/sestatus' 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 -D_FILE_OFFSET_BITS=64 -c -o sestatus.o sestatus.c sestatus.c:12:10: fatal error: selinux/selinux.h: No such file or directory 12 | #include <selinux/selinux.h> | ^~~~~~~~~~~~~~~~~~~ compilation terminated. Signed-off-by: наб <nabijaczleweli@nabijaczleweli.xyz> --- libsemanage/src/Makefile | 4 ++-- mcstrans/src/Makefile | 2 ++ mcstrans/utils/Makefile | 3 +++ policycoreutils/load_policy/Makefile | 2 +- policycoreutils/newrole/Makefile | 3 ++- policycoreutils/run_init/Makefile | 3 ++- policycoreutils/secon/Makefile | 3 ++- policycoreutils/semodule/Makefile | 2 ++ policycoreutils/sestatus/Makefile | 3 ++- policycoreutils/setfiles/Makefile | 2 ++ policycoreutils/setsebool/Makefile | 2 ++ policycoreutils/unsetfiles/Makefile | 3 ++- python/audit2allow/Makefile | 2 ++ restorecond/Makefile | 4 ++-- 14 files changed, 28 insertions(+), 10 deletions(-)