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