xref: /aosp_15_r20/external/selinux/secilc/Makefile (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard WorkerPREFIX ?= /usr
2*2d543d20SAndroid Build Coastguard WorkerBINDIR ?= $(PREFIX)/bin
3*2d543d20SAndroid Build Coastguard WorkerMANDIR ?= $(PREFIX)/share/man
4*2d543d20SAndroid Build Coastguard Worker
5*2d543d20SAndroid Build Coastguard WorkerSECILC = secilc
6*2d543d20SAndroid Build Coastguard WorkerSECILC_SRCS := secilc.c
7*2d543d20SAndroid Build Coastguard WorkerSECILC_OBJS := $(patsubst %.c,%.o,$(SECILC_SRCS))
8*2d543d20SAndroid Build Coastguard Worker
9*2d543d20SAndroid Build Coastguard WorkerSECIL2CONF = secil2conf
10*2d543d20SAndroid Build Coastguard WorkerSECIL2CONF_SRCS := secil2conf.c
11*2d543d20SAndroid Build Coastguard WorkerSECIL2CONF_OBJS := $(patsubst %.c,%.o,$(SECIL2CONF_SRCS))
12*2d543d20SAndroid Build Coastguard Worker
13*2d543d20SAndroid Build Coastguard WorkerSECIL2TREE = secil2tree
14*2d543d20SAndroid Build Coastguard WorkerSECIL2TREE_SRCS := secil2tree.c
15*2d543d20SAndroid Build Coastguard WorkerSECIL2TREE_OBJS := $(patsubst %.c,%.o,$(SECIL2TREE_SRCS))
16*2d543d20SAndroid Build Coastguard Worker
17*2d543d20SAndroid Build Coastguard WorkerSECILC_MANPAGE = secilc.8
18*2d543d20SAndroid Build Coastguard WorkerSECIL2CONF_MANPAGE = secil2conf.8
19*2d543d20SAndroid Build Coastguard WorkerSECIL2TREE_MANPAGE = secil2tree.8
20*2d543d20SAndroid Build Coastguard WorkerXMLTO = xmlto
21*2d543d20SAndroid Build Coastguard WorkerDIFF = diff
22*2d543d20SAndroid Build Coastguard Worker
23*2d543d20SAndroid Build Coastguard WorkerCHECKPOLICY = checkpolicy
24*2d543d20SAndroid Build Coastguard WorkerPOL_VERS = $(shell $(CHECKPOLICY) -V | cut -f 1 -d ' ')
25*2d543d20SAndroid Build Coastguard Worker
26*2d543d20SAndroid Build Coastguard WorkerCFLAGS ?= -Wall -Wshadow -Wextra -Wundef -Wmissing-format-attribute -Wcast-align -Wstrict-prototypes -Wpointer-arith -Wunused
27*2d543d20SAndroid Build Coastguard Worker
28*2d543d20SAndroid Build Coastguard Workeroverride CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
29*2d543d20SAndroid Build Coastguard Workeroverride LDLIBS += -lsepol
30*2d543d20SAndroid Build Coastguard Worker
31*2d543d20SAndroid Build Coastguard Workerall: $(SECILC) $(SECIL2CONF) $(SECIL2TREE) man
32*2d543d20SAndroid Build Coastguard Worker
33*2d543d20SAndroid Build Coastguard Worker$(SECILC): $(SECILC_OBJS)
34*2d543d20SAndroid Build Coastguard Worker	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
35*2d543d20SAndroid Build Coastguard Worker
36*2d543d20SAndroid Build Coastguard Workertest: $(SECILC)
37*2d543d20SAndroid Build Coastguard Worker	./$(SECILC) test/policy.cil
38*2d543d20SAndroid Build Coastguard Worker	./$(SECILC) -c $(POL_VERS) -O -M 1 -f /dev/null -o opt-actual.bin test/opt-input.cil
39*2d543d20SAndroid Build Coastguard Worker	$(CHECKPOLICY) -b -C -M -o opt-actual.cil opt-actual.bin >/dev/null
40*2d543d20SAndroid Build Coastguard Worker	$(DIFF) test/opt-expected.cil opt-actual.cil
41*2d543d20SAndroid Build Coastguard Worker
42*2d543d20SAndroid Build Coastguard Worker$(SECIL2CONF): $(SECIL2CONF_OBJS)
43*2d543d20SAndroid Build Coastguard Worker	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
44*2d543d20SAndroid Build Coastguard Worker
45*2d543d20SAndroid Build Coastguard Worker$(SECIL2TREE): $(SECIL2TREE_OBJS)
46*2d543d20SAndroid Build Coastguard Worker	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
47*2d543d20SAndroid Build Coastguard Worker
48*2d543d20SAndroid Build Coastguard Workerman: $(SECILC_MANPAGE) $(SECIL2CONF_MANPAGE) $(SECIL2TREE_MANPAGE)
49*2d543d20SAndroid Build Coastguard Worker
50*2d543d20SAndroid Build Coastguard Worker$(SECILC_MANPAGE): $(SECILC_MANPAGE).xml
51*2d543d20SAndroid Build Coastguard Worker	$(XMLTO) man $(SECILC_MANPAGE).xml
52*2d543d20SAndroid Build Coastguard Worker
53*2d543d20SAndroid Build Coastguard Worker$(SECIL2CONF_MANPAGE): $(SECIL2CONF_MANPAGE).xml
54*2d543d20SAndroid Build Coastguard Worker	$(XMLTO) man $(SECIL2CONF_MANPAGE).xml
55*2d543d20SAndroid Build Coastguard Worker
56*2d543d20SAndroid Build Coastguard Worker$(SECIL2TREE_MANPAGE): $(SECIL2TREE_MANPAGE).xml
57*2d543d20SAndroid Build Coastguard Worker	$(XMLTO) man $(SECIL2TREE_MANPAGE).xml
58*2d543d20SAndroid Build Coastguard Worker
59*2d543d20SAndroid Build Coastguard Workerinstall: all man
60*2d543d20SAndroid Build Coastguard Worker	-mkdir -p $(DESTDIR)$(BINDIR)
61*2d543d20SAndroid Build Coastguard Worker	-mkdir -p $(DESTDIR)$(MANDIR)/man8
62*2d543d20SAndroid Build Coastguard Worker	install -m 755 $(SECILC) $(DESTDIR)$(BINDIR)
63*2d543d20SAndroid Build Coastguard Worker	install -m 755 $(SECIL2CONF) $(DESTDIR)$(BINDIR)
64*2d543d20SAndroid Build Coastguard Worker	install -m 755 $(SECIL2TREE) $(DESTDIR)$(BINDIR)
65*2d543d20SAndroid Build Coastguard Worker	install -m 644 $(SECILC_MANPAGE) $(DESTDIR)$(MANDIR)/man8
66*2d543d20SAndroid Build Coastguard Worker	install -m 644 $(SECIL2CONF_MANPAGE) $(DESTDIR)$(MANDIR)/man8
67*2d543d20SAndroid Build Coastguard Worker	install -m 644 $(SECIL2TREE_MANPAGE) $(DESTDIR)$(MANDIR)/man8
68*2d543d20SAndroid Build Coastguard Worker
69*2d543d20SAndroid Build Coastguard Workerdoc:
70*2d543d20SAndroid Build Coastguard Worker	$(MAKE) -C docs
71*2d543d20SAndroid Build Coastguard Worker
72*2d543d20SAndroid Build Coastguard Workerclean:
73*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECILC)
74*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECILC_OBJS)
75*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECIL2CONF)
76*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECIL2CONF_OBJS)
77*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECIL2TREE)
78*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECIL2TREE_OBJS)
79*2d543d20SAndroid Build Coastguard Worker	rm -f policy.*
80*2d543d20SAndroid Build Coastguard Worker	rm -f file_contexts
81*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECILC_MANPAGE)
82*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECIL2CONF_MANPAGE)
83*2d543d20SAndroid Build Coastguard Worker	rm -f $(SECIL2TREE_MANPAGE)
84*2d543d20SAndroid Build Coastguard Worker	rm -f opt-actual.cil
85*2d543d20SAndroid Build Coastguard Worker	rm -f opt-actual.bin
86*2d543d20SAndroid Build Coastguard Worker	$(MAKE) -C docs clean
87*2d543d20SAndroid Build Coastguard Worker
88*2d543d20SAndroid Build Coastguard Workerrelabel:
89*2d543d20SAndroid Build Coastguard Worker
90*2d543d20SAndroid Build Coastguard Worker.PHONY: all clean test install doc relabel man
91