1# Installation directories.
2PREFIX ?= $(DESTDIR)/usr
3LIBDIR ?= $(PREFIX)/lib
4SBINDIR ?= $(DESTDIR)/sbin
5INITDIR ?= $(DESTDIR)/etc/rc.d/init.d
6SYSTEMDDIR ?= $(DESTDIR)/usr/lib/systemd
7LIBSEPOLA ?= $(LIBDIR)/libsepol.a
8
9PROG_SRC=mcstrans.c  mcscolor.c  mcstransd.c  mls_level.c
10PROG_OBJS= $(patsubst %.c,%.o,$(PROG_SRC))
11PROG=mcstransd
12INITSCRIPT=mcstrans
13CFLAGS ?= -Wall -W -Wundef -Wmissing-noreturn -Wmissing-format-attribute
14override CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
15
16all: $(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
24install: 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
32clean:
33	-rm -f $(OBJS) $(LOBJS) $(TARGET) $(PROG) $(PROG_OBJS) *~ \#*
34
35