16cd6a6acSopenharmony_ci# 26cd6a6acSopenharmony_ci# Makefile for building the checkpolicy program 36cd6a6acSopenharmony_ci# 46cd6a6acSopenharmony_ciLINGUAS ?= ru 56cd6a6acSopenharmony_ciPREFIX ?= /usr 66cd6a6acSopenharmony_ciBINDIR ?= $(PREFIX)/bin 76cd6a6acSopenharmony_ciMANDIR ?= $(PREFIX)/share/man 86cd6a6acSopenharmony_ciTARGETS = checkpolicy checkmodule 96cd6a6acSopenharmony_ci 106cd6a6acSopenharmony_ciLEX = flex 116cd6a6acSopenharmony_ciYACC = bison -y 126cd6a6acSopenharmony_ci 136cd6a6acSopenharmony_ciCFLAGS ?= -g -Wall -Werror -Wshadow -O2 -fno-strict-aliasing 146cd6a6acSopenharmony_ci 156cd6a6acSopenharmony_ci# If no specific libsepol.a is specified, fall back on LDFLAGS search path 166cd6a6acSopenharmony_ci# Otherwise, as $(LIBSEPOLA) already appears in the dependencies, there 176cd6a6acSopenharmony_ci# is no need to define a value for LDLIBS_LIBSEPOLA 186cd6a6acSopenharmony_ciifeq ($(LIBSEPOLA),) 196cd6a6acSopenharmony_ci LDLIBS_LIBSEPOLA := -l:libsepol.a 206cd6a6acSopenharmony_ciendif 216cd6a6acSopenharmony_ci 226cd6a6acSopenharmony_ciCHECKOBJS = y.tab.o lex.yy.o queue.o module_compiler.o parse_util.o \ 236cd6a6acSopenharmony_ci policy_define.o 246cd6a6acSopenharmony_ciCHECKPOLOBJS = $(CHECKOBJS) checkpolicy.o 256cd6a6acSopenharmony_ciCHECKMODOBJS = $(CHECKOBJS) checkmodule.o 266cd6a6acSopenharmony_ci 276cd6a6acSopenharmony_ciGENERATED=lex.yy.c y.tab.c y.tab.h 286cd6a6acSopenharmony_ci 296cd6a6acSopenharmony_ciall: $(TARGETS) 306cd6a6acSopenharmony_ci $(MAKE) -C test 316cd6a6acSopenharmony_ci 326cd6a6acSopenharmony_cicheckpolicy: $(CHECKPOLOBJS) $(LIBSEPOLA) 336cd6a6acSopenharmony_ci $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS_LIBSEPOLA) 346cd6a6acSopenharmony_ci 356cd6a6acSopenharmony_cicheckmodule: $(CHECKMODOBJS) $(LIBSEPOLA) 366cd6a6acSopenharmony_ci $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS_LIBSEPOLA) 376cd6a6acSopenharmony_ci 386cd6a6acSopenharmony_ci%.o: %.c 396cd6a6acSopenharmony_ci $(CC) $(CFLAGS) -o $@ -c $< 406cd6a6acSopenharmony_ci 416cd6a6acSopenharmony_ciy.tab.o: y.tab.c 426cd6a6acSopenharmony_ci $(CC) $(filter-out -Werror, $(CFLAGS)) -o $@ -c $< 436cd6a6acSopenharmony_ci 446cd6a6acSopenharmony_cilex.yy.o: lex.yy.c 456cd6a6acSopenharmony_ci $(CC) $(filter-out -Werror, $(CFLAGS)) -o $@ -c $< 466cd6a6acSopenharmony_ci 476cd6a6acSopenharmony_ciy.tab.c: policy_parse.y 486cd6a6acSopenharmony_ci $(YACC) -d policy_parse.y 496cd6a6acSopenharmony_ci 506cd6a6acSopenharmony_cilex.yy.c: policy_scan.l y.tab.c 516cd6a6acSopenharmony_ci $(LEX) policy_scan.l 526cd6a6acSopenharmony_ci 536cd6a6acSopenharmony_ciinstall: all 546cd6a6acSopenharmony_ci -mkdir -p $(DESTDIR)$(BINDIR) 556cd6a6acSopenharmony_ci -mkdir -p $(DESTDIR)$(MANDIR)/man8 566cd6a6acSopenharmony_ci install -m 755 $(TARGETS) $(DESTDIR)$(BINDIR) 576cd6a6acSopenharmony_ci install -m 644 checkpolicy.8 $(DESTDIR)$(MANDIR)/man8 586cd6a6acSopenharmony_ci install -m 644 checkmodule.8 $(DESTDIR)$(MANDIR)/man8 596cd6a6acSopenharmony_ci for lang in $(LINGUAS) ; do \ 606cd6a6acSopenharmony_ci if [ -e $${lang} ] ; then \ 616cd6a6acSopenharmony_ci mkdir -p $(DESTDIR)$(MANDIR)/$${lang}/man8 ; \ 626cd6a6acSopenharmony_ci install -m 644 $${lang}/*.8 $(DESTDIR)$(MANDIR)/$${lang}/man8 ; \ 636cd6a6acSopenharmony_ci fi ; \ 646cd6a6acSopenharmony_ci done 656cd6a6acSopenharmony_ci 666cd6a6acSopenharmony_cirelabel: install 676cd6a6acSopenharmony_ci /sbin/restorecon $(DESTDIR)$(BINDIR)/checkpolicy 686cd6a6acSopenharmony_ci /sbin/restorecon $(DESTDIR)$(BINDIR)/checkmodule 696cd6a6acSopenharmony_ci 706cd6a6acSopenharmony_ciclean: 716cd6a6acSopenharmony_ci -rm -f $(TARGETS) $(CHECKPOLOBJS) $(CHECKMODOBJS) y.tab.c y.tab.h lex.yy.c 726cd6a6acSopenharmony_ci $(MAKE) -C test clean 736cd6a6acSopenharmony_ci 746cd6a6acSopenharmony_ciindent: 756cd6a6acSopenharmony_ci ../scripts/Lindent $(filter-out $(GENERATED),$(wildcard *.[ch])) 76