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