aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorPaul Moore <paul@paul-moore.com>2023-06-01 17:04:02 -0400
committerPaul Moore <paul@paul-moore.com>2023-06-02 15:34:29 -0400
commitec4a491d180b076191e72ef88c240caead1b20fc (patch)
tree87502d02107f78284246497234b40f2c14d2e7eb /security
parentcec5fe700799b3f863d25cf883f02e5735598ab5 (diff)
downloadlinux-ec4a491d180b076191e72ef88c240caead1b20fc.tar.gz
selinux: fix Makefile for versions of make < v4.3
As noted in the comments of this commit, the current SELinux Makefile requires features found in make v4.3 or later, which is problematic as the Linux Kernel currently only requires make v3.82. This patch fixes the SELinux Makefile so that it works properly on these older versions of make, and adds a couple of comments to the Makefile about how it can be improved once make v4.3 is required by the kernel. Fixes: 6f933aa7dfd0 ("selinux: more Makefile tweaks") Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security')
-rw-r--r--security/selinux/Makefile17
1 files changed, 14 insertions, 3 deletions
diff --git a/security/selinux/Makefile b/security/selinux/Makefile
index ab8c3093d5fdf..8363796390588 100644
--- a/security/selinux/Makefile
+++ b/security/selinux/Makefile
@@ -3,6 +3,11 @@
# Makefile for building the SELinux module as part of the kernel tree.
#
+# NOTE: There are a number of improvements that can be made to this Makefile
+# once the kernel requires make v4.3 or greater; the most important feature
+# lacking in older versions of make is support for grouped targets. These
+# improvements are noted inline in the Makefile below ...
+
obj-$(CONFIG_SECURITY_SELINUX) := selinux.o
ccflags-y := -I$(srctree)/security/selinux -I$(srctree)/security/selinux/include
@@ -19,11 +24,17 @@ selinux-$(CONFIG_IMA) += ima.o
genhdrs := flask.h av_permissions.h
-$(addprefix $(obj)/,$(selinux-y)): $(addprefix $(obj)/,$(genhdrs))
+# see the note above, replace the dependency rule with the one below:
+# $(addprefix $(obj)/,$(selinux-y)): $(addprefix $(obj)/,$(genhdrs))
+$(addprefix $(obj)/,$(selinux-y)): $(obj)/flask.h
quiet_cmd_genhdrs = GEN $(addprefix $(obj)/,$(genhdrs))
cmd_genhdrs = $< $(addprefix $(obj)/,$(genhdrs))
-targets += $(genhdrs)
-$(addprefix $(obj)/,$(genhdrs)) &: scripts/selinux/genheaders/genheaders FORCE
+# see the note above, replace the $targets and 'flask.h' rule with the lines
+# below:
+# targets += $(genhdrs)
+# $(addprefix $(obj)/,$(genhdrs)) &: scripts/selinux/...
+targets += flask.h
+$(obj)/flask.h: scripts/selinux/genheaders/genheaders FORCE
$(call if_changed,genhdrs)