60272da034
While the previous change to the selinux Makefile reduced the window significantly for this failure, it is still possible to see a compile failure where cpp starts processing selinux files before the auto generated flask.h file is completed. This is easily reproduced by adding the following temporary change to expose the issue everytime: - cmd_flask = scripts/selinux/genheaders/genheaders ... + cmd_flask = sleep 30 ; scripts/selinux/genheaders/genheaders ... This failure happens because the creation of the object files in the ss subdir also depends on flask.h. So simply incorporate them into the parent Makefile, as the ss/Makefile really doesn't do anything unique. With this change, compiling of all selinux files is dependent on completion of the header file generation, and this test case with the "sleep 30" now confirms it is functioning as expected. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: James Morris <jmorris@namei.org>
26 lines
849 B
Makefile
26 lines
849 B
Makefile
#
|
|
# Makefile for building the SELinux module as part of the kernel tree.
|
|
#
|
|
|
|
obj-$(CONFIG_SECURITY_SELINUX) := selinux.o
|
|
|
|
selinux-y := avc.o hooks.o selinuxfs.o netlink.o nlmsgtab.o netif.o \
|
|
netnode.o netport.o exports.o \
|
|
ss/ebitmap.o ss/hashtab.o ss/symtab.o ss/sidtab.o ss/avtab.o \
|
|
ss/policydb.o ss/services.o ss/conditional.o ss/mls.o ss/status.o
|
|
|
|
selinux-$(CONFIG_SECURITY_NETWORK_XFRM) += xfrm.o
|
|
|
|
selinux-$(CONFIG_NETLABEL) += netlabel.o
|
|
|
|
EXTRA_CFLAGS += -Isecurity/selinux -Isecurity/selinux/include
|
|
|
|
$(addprefix $(obj)/,$(selinux-y)): $(obj)/flask.h
|
|
|
|
quiet_cmd_flask = GEN $(obj)/flask.h $(obj)/av_permissions.h
|
|
cmd_flask = scripts/selinux/genheaders/genheaders $(obj)/flask.h $(obj)/av_permissions.h
|
|
|
|
targets += flask.h av_permissions.h
|
|
$(obj)/flask.h: $(src)/include/classmap.h FORCE
|
|
$(call if_changed,flask)
|