xref: /aosp_15_r20/external/selinux/python/audit2allow/Makefile (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard WorkerPYTHON ?= python3
2*2d543d20SAndroid Build Coastguard WorkerSECILC ?= secilc
3*2d543d20SAndroid Build Coastguard Worker
4*2d543d20SAndroid Build Coastguard Worker# Installation directories.
5*2d543d20SAndroid Build Coastguard WorkerLINGUAS ?=
6*2d543d20SAndroid Build Coastguard WorkerPREFIX ?= /usr
7*2d543d20SAndroid Build Coastguard WorkerBINDIR ?= $(PREFIX)/bin
8*2d543d20SAndroid Build Coastguard WorkerMANDIR ?= $(PREFIX)/share/man
9*2d543d20SAndroid Build Coastguard Worker
10*2d543d20SAndroid Build Coastguard WorkerCFLAGS ?= -Werror -Wall -W
11*2d543d20SAndroid Build Coastguard Worker
12*2d543d20SAndroid Build Coastguard Worker# If no specific libsepol.a is specified, fall back on LDFLAGS search path
13*2d543d20SAndroid Build Coastguard Worker# Otherwise, as $(LIBSEPOLA) already appears in the dependencies, there
14*2d543d20SAndroid Build Coastguard Worker# is no need to define a value for LDLIBS_LIBSEPOLA
15*2d543d20SAndroid Build Coastguard Workerifeq ($(LIBSEPOLA),)
16*2d543d20SAndroid Build Coastguard Worker        LDLIBS_LIBSEPOLA := -l:libsepol.a
17*2d543d20SAndroid Build Coastguard Workerendif
18*2d543d20SAndroid Build Coastguard Worker
19*2d543d20SAndroid Build Coastguard Workerall: audit2why sepolgen-ifgen-attr-helper
20*2d543d20SAndroid Build Coastguard Worker
21*2d543d20SAndroid Build Coastguard Workersepolgen-ifgen-attr-helper: sepolgen-ifgen-attr-helper.o $(LIBSEPOLA)
22*2d543d20SAndroid Build Coastguard Worker	$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS_LIBSEPOLA) -lselinux
23*2d543d20SAndroid Build Coastguard Worker
24*2d543d20SAndroid Build Coastguard Workeraudit2why:
25*2d543d20SAndroid Build Coastguard Worker	ln -sf audit2allow audit2why
26*2d543d20SAndroid Build Coastguard Worker
27*2d543d20SAndroid Build Coastguard Workertest: all test_dummy_policy
28*2d543d20SAndroid Build Coastguard Worker	@$(PYTHON) test_audit2allow.py -v
29*2d543d20SAndroid Build Coastguard Worker
30*2d543d20SAndroid Build Coastguard Workertest_dummy_policy: test_dummy_policy.cil
31*2d543d20SAndroid Build Coastguard Worker	$(SECILC) -o $@ -f /dev/null $<
32*2d543d20SAndroid Build Coastguard Worker
33*2d543d20SAndroid Build Coastguard Workerinstall: all
34*2d543d20SAndroid Build Coastguard Worker	-mkdir -p $(DESTDIR)$(BINDIR)
35*2d543d20SAndroid Build Coastguard Worker	install -m 755 audit2allow $(DESTDIR)$(BINDIR)
36*2d543d20SAndroid Build Coastguard Worker	(cd $(DESTDIR)$(BINDIR); ln -sf audit2allow audit2why)
37*2d543d20SAndroid Build Coastguard Worker	install -m 755 sepolgen-ifgen-attr-helper $(DESTDIR)$(BINDIR)
38*2d543d20SAndroid Build Coastguard Worker	install -m 755 sepolgen-ifgen $(DESTDIR)$(BINDIR)
39*2d543d20SAndroid Build Coastguard Worker	-mkdir -p $(DESTDIR)$(MANDIR)/man1
40*2d543d20SAndroid Build Coastguard Worker	install -m 644 audit2allow.1 $(DESTDIR)$(MANDIR)/man1/
41*2d543d20SAndroid Build Coastguard Worker	install -m 644 audit2why.1 $(DESTDIR)$(MANDIR)/man1/
42*2d543d20SAndroid Build Coastguard Worker	for lang in $(LINGUAS) ; do \
43*2d543d20SAndroid Build Coastguard Worker		if [ -e $${lang} ] ; then \
44*2d543d20SAndroid Build Coastguard Worker			mkdir -p $(DESTDIR)$(MANDIR)/$${lang}/man1 ; \
45*2d543d20SAndroid Build Coastguard Worker			install -m 644 $${lang}/*.1 $(DESTDIR)$(MANDIR)/$${lang}/man1/ ; \
46*2d543d20SAndroid Build Coastguard Worker		fi ; \
47*2d543d20SAndroid Build Coastguard Worker	done
48*2d543d20SAndroid Build Coastguard Worker
49*2d543d20SAndroid Build Coastguard Workerclean:
50*2d543d20SAndroid Build Coastguard Worker	rm -f *~ *.o sepolgen-ifgen-attr-helper test_dummy_policy
51*2d543d20SAndroid Build Coastguard Worker
52*2d543d20SAndroid Build Coastguard Workerindent:
53*2d543d20SAndroid Build Coastguard Worker	../../scripts/Lindent $(wildcard *.[ch])
54*2d543d20SAndroid Build Coastguard Worker
55*2d543d20SAndroid Build Coastguard Workerrelabel: ;
56