02678b9d40
The compiler option -pipe does not affect the generated code; it affects whether the compiler uses temporary files or pipes. As the benefit might vary from system to system usually its up to the packager or build framework to set it. Also these are the only places where the flag is used. Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
75 lines
2 KiB
Makefile
75 lines
2 KiB
Makefile
#
|
|
# Makefile for building the checkpolicy program
|
|
#
|
|
LINGUAS ?= ru
|
|
PREFIX ?= /usr
|
|
BINDIR ?= $(PREFIX)/bin
|
|
MANDIR ?= $(PREFIX)/share/man
|
|
TARGETS = checkpolicy checkmodule
|
|
|
|
LEX = flex
|
|
YACC = bison -y
|
|
|
|
CFLAGS ?= -g -Wall -Werror -Wshadow -O2 -fno-strict-aliasing
|
|
|
|
# If no specific libsepol.a is specified, fall back on LDFLAGS search path
|
|
# Otherwise, as $(LIBSEPOLA) already appears in the dependencies, there
|
|
# is no need to define a value for LDLIBS_LIBSEPOLA
|
|
ifeq ($(LIBSEPOLA),)
|
|
LDLIBS_LIBSEPOLA := -l:libsepol.a
|
|
endif
|
|
|
|
CHECKOBJS = y.tab.o lex.yy.o queue.o module_compiler.o parse_util.o \
|
|
policy_define.o
|
|
CHECKPOLOBJS = $(CHECKOBJS) checkpolicy.o
|
|
CHECKMODOBJS = $(CHECKOBJS) checkmodule.o
|
|
|
|
GENERATED=lex.yy.c y.tab.c y.tab.h
|
|
|
|
all: $(TARGETS)
|
|
$(MAKE) -C test
|
|
|
|
checkpolicy: $(CHECKPOLOBJS) $(LIBSEPOLA)
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS_LIBSEPOLA)
|
|
|
|
checkmodule: $(CHECKMODOBJS) $(LIBSEPOLA)
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS_LIBSEPOLA)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
y.tab.o: y.tab.c
|
|
$(CC) $(filter-out -Werror, $(CFLAGS)) -o $@ -c $<
|
|
|
|
lex.yy.o: lex.yy.c
|
|
$(CC) $(filter-out -Werror, $(CFLAGS)) -o $@ -c $<
|
|
|
|
y.tab.c: policy_parse.y
|
|
$(YACC) -d policy_parse.y
|
|
|
|
lex.yy.c: policy_scan.l y.tab.c
|
|
$(LEX) policy_scan.l
|
|
|
|
install: all
|
|
-mkdir -p $(DESTDIR)$(BINDIR)
|
|
-mkdir -p $(DESTDIR)$(MANDIR)/man8
|
|
install -m 755 $(TARGETS) $(DESTDIR)$(BINDIR)
|
|
install -m 644 checkpolicy.8 $(DESTDIR)$(MANDIR)/man8
|
|
install -m 644 checkmodule.8 $(DESTDIR)$(MANDIR)/man8
|
|
for lang in $(LINGUAS) ; do \
|
|
if [ -e $${lang} ] ; then \
|
|
mkdir -p $(DESTDIR)$(MANDIR)/$${lang}/man8 ; \
|
|
install -m 644 $${lang}/*.8 $(DESTDIR)$(MANDIR)/$${lang}/man8 ; \
|
|
fi ; \
|
|
done
|
|
|
|
relabel: install
|
|
/sbin/restorecon $(DESTDIR)$(BINDIR)/checkpolicy
|
|
/sbin/restorecon $(DESTDIR)$(BINDIR)/checkmodule
|
|
|
|
clean:
|
|
-rm -f $(TARGETS) $(CHECKPOLOBJS) $(CHECKMODOBJS) y.tab.c y.tab.h lex.yy.c
|
|
$(MAKE) -C test clean
|
|
|
|
indent:
|
|
../scripts/Lindent $(filter-out $(GENERATED),$(wildcard *.[ch]))
|