• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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