1ARCH = $(shell uname -i) 2ifeq "$(ARCH)" "x86_64" 3 # In case of 64 bit system, use these lines 4 LIBDIR=/usr/lib64 5else 6ifeq "$(ARCH)" "i686" 7 # In case of 32 bit system, use these lines 8 LIBDIR=/usr/lib 9else 10ifeq "$(ARCH)" "i386" 11 # In case of 32 bit system, use these lines 12 LIBDIR=/usr/lib 13endif 14endif 15endif 16# Installation directories. 17PREFIX ?= $(DESTDIR)/usr 18SBINDIR ?= $(DESTDIR)/sbin 19INITDIR ?= $(DESTDIR)/etc/rc.d/init.d 20SYSTEMDDIR ?= $(DESTDIR)/usr/lib/systemd 21 22PROG_SRC=mcstrans.c mcscolor.c mcstransd.c mls_level.c 23PROG_OBJS= $(patsubst %.c,%.o,$(PROG_SRC)) 24PROG=mcstransd 25INITSCRIPT=mcstrans 26CFLAGS ?= -Wall -W -Wundef -Wmissing-noreturn -Wmissing-format-attribute 27override CFLAGS += -I../include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 28 29all: $(PROG) 30 31$(PROG): $(PROG_OBJS) 32 $(CC) $(LDFLAGS) -pie -o $@ $^ -lselinux -lcap -lpcre $(LIBDIR)/libsepol.a 33 34%.o: %.c 35 $(CC) $(CFLAGS) -fPIE -c -o $@ $< 36 37install: all 38 test -d $(SBINDIR) || install -m 755 -d $(SBINDIR) 39 install -m 755 $(PROG) $(SBINDIR) 40 test -d $(INITDIR) || install -m 755 -d $(INITDIR) 41 install -m 755 $(INITSCRIPT).init $(INITDIR)/$(INITSCRIPT) 42 test -d $(SYSTEMDDIR)/system || install -m 755 -d $(SYSTEMDDIR)/system 43 install -m 644 mcstrans.service $(SYSTEMDDIR)/system/ 44 45clean: 46 -rm -f $(OBJS) $(LOBJS) $(TARGET) $(PROG) $(PROG_OBJS) *~ \#* 47 48