lin
2025-08-01 633231e833e21d5b8b1c00cb15aedb62b3b78e8f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
PREFIX ?= /usr
BINDIR ?= $(PREFIX)/bin
MANDIR ?= $(PREFIX)/share/man
 
SECILC = secilc
SECILC_SRCS := secilc.c
SECILC_OBJS := $(patsubst %.c,%.o,$(SECILC_SRCS))
 
SECIL2CONF = secil2conf
SECIL2CONF_SRCS := secil2conf.c
SECIL2CONF_OBJS := $(patsubst %.c,%.o,$(SECIL2CONF_SRCS))
 
SECILC_MANPAGE = secilc.8
SECIL2CONF_MANPAGE = secil2conf.8
XMLTO = xmlto
 
CFLAGS ?= -Wall -Wshadow -Wextra -Wundef -Wmissing-format-attribute -Wcast-align -Wstrict-prototypes -Wpointer-arith -Wunused
 
override CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
override LDLIBS += -lsepol
 
all: $(SECILC) $(SECIL2CONF) man
 
$(SECILC): $(SECILC_OBJS)
   $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
 
test: $(SECILC)
   ./$(SECILC) test/policy.cil
 
$(SECIL2CONF): $(SECIL2CONF_OBJS)
   $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
 
man: $(SECILC_MANPAGE) $(SECIL2CONF_MANPAGE)
 
$(SECILC_MANPAGE): $(SECILC_MANPAGE).xml
   $(XMLTO) man $(SECILC_MANPAGE).xml
 
$(SECIL2CONF_MANPAGE): $(SECIL2CONF_MANPAGE).xml
   $(XMLTO) man $(SECIL2CONF_MANPAGE).xml
 
install: all man
   -mkdir -p $(DESTDIR)$(BINDIR)
   -mkdir -p $(DESTDIR)$(MANDIR)/man8
   install -m 755 $(SECILC) $(DESTDIR)$(BINDIR)
   install -m 755 $(SECIL2CONF) $(DESTDIR)$(BINDIR)
   install -m 644 $(SECILC_MANPAGE) $(DESTDIR)$(MANDIR)/man8
   install -m 644 $(SECIL2CONF_MANPAGE) $(DESTDIR)$(MANDIR)/man8
 
doc:
   $(MAKE) -C docs
 
clean:
   rm -f $(SECILC)
   rm -f $(SECILC_OBJS)
   rm -f $(SECIL2CONF)
   rm -f $(SECIL2CONF_OBJS)
   rm -f policy.*
   rm -f file_contexts
   rm -f $(SECILC_MANPAGE)
   rm -f $(SECIL2CONF_MANPAGE)
   $(MAKE) -C docs clean
 
relabel:
 
.PHONY: all clean test install doc relabel man