1 # Installation directories. 2 PREFIX ?= $(DESTDIR)/usr 3 LIBDIR ?= $(PREFIX)/lib 4 SBINDIR ?= $(DESTDIR)/sbin 5 INITDIR ?= $(DESTDIR)/etc/rc.d/init.d 6 SYSTEMDDIR ?= $(DESTDIR)/usr/lib/systemd 7 LIBSEPOLA ?= $(LIBDIR)/libsepol.a 8 9 PROG_SRC=mcstrans.c mcscolor.c mcstransd.c mls_level.c 10 PROG_OBJS= $(patsubst %.c,%.o,$(PROG_SRC)) 11 PROG=mcstransd 12 INITSCRIPT=mcstrans 13 CFLAGS ?= -Wall -W -Wundef -Wmissing-noreturn -Wmissing-format-attribute 14 override CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 15 16 all: $(PROG) 17 18 $(PROG): $(PROG_OBJS) 19 $(CC) $(LDFLAGS) -pie -o $@ $^ -lselinux -lcap -lpcre $(LIBSEPOLA) 20 21 %.o: %.c 22 $(CC) $(CFLAGS) -fPIE -c -o $@ $< 23 24 install: all 25 test -d $(SBINDIR) || install -m 755 -d $(SBINDIR) 26 install -m 755 $(PROG) $(SBINDIR) 27 test -d $(INITDIR) || install -m 755 -d $(INITDIR) 28 install -m 755 $(INITSCRIPT).init $(INITDIR)/$(INITSCRIPT) 29 test -d $(SYSTEMDDIR)/system || install -m 755 -d $(SYSTEMDDIR)/system 30 install -m 644 mcstrans.service $(SYSTEMDDIR)/system/ 31 32 clean: 33 -rm -f $(OBJS) $(LOBJS) $(TARGET) $(PROG) $(PROG_OBJS) *~ \#* 34 35