| PREFIX ?= $(DESTDIR)/usr |
| BINDIR ?= $(PREFIX)/bin |
| MANDIR ?= $(PREFIX)/share/man |
| LIBDIR ?= $(PREFIX)/lib |
| INCLUDEDIR ?= $(PREFIX)/include |
| |
| LDLIBS = -lsepol -L$(LIBDIR) |
| SECILC = secilc |
| SECILC_SRCS := secilc.c |
| SECILC_OBJS := $(patsubst %.c,%.o,$(SECILC_SRCS)) |
| |
| # The secilc man page: |
| MANPAGE = secilc.8 |
| XMLTO = xmlto |
| |
| CFLAGS ?= -Wall -Wshadow -Wextra -Wundef -Wmissing-format-attribute -Wcast-align -Wstrict-prototypes -Wpointer-arith -Wunused |
| |
| override CFLAGS += -I$(INCLUDEDIR) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 |
| |
| all: $(SECILC) man |
| |
| $(SECILC): $(SECILC_OBJS) |
| $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS) |
| |
| test: $(SECILC) |
| ./$(SECILC) test/policy.cil |
| |
| man: $(MANPAGE).xml |
| $(XMLTO) man $(MANPAGE).xml |
| |
| install: all man |
| -mkdir -p $(BINDIR) |
| -mkdir -p $(MANDIR)/man8 |
| install -m 755 $(SECILC) $(BINDIR) |
| install -m 644 $(MANPAGE) $(MANDIR)/man8 |
| |
| doc: |
| $(MAKE) -C docs |
| |
| clean: |
| rm -f $(SECILC) |
| rm -f $(SECILC_OBJS) |
| rm -f policy.* |
| rm -f file_contexts |
| rm -f $(MANPAGE) |
| |
| relabel: |
| |
| .PHONY: all clean test install doc relabel man |