aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config.mk.in5
-rw-r--r--src/prog.mk11
-rw-r--r--src/so.mk8
3 files changed, 15 insertions, 9 deletions
diff --git a/config.mk.in b/config.mk.in
index 45269afab..cfef6b8d3 100644
--- a/config.mk.in
+++ b/config.mk.in
@@ -51,9 +51,14 @@ HAVE_ONLY_SYSCFG_PROFILES=@HAVE_ONLY_SYSCFG_PROFILES@
51 51
52MANFLAGS = $(HAVE_LTS) $(HAVE_OUTPUT) $(HAVE_X11) $(HAVE_PRIVATE_HOME) $(HAVE_APPARMOR) $(HAVE_IDS) $(HAVE_OVERLAYFS) $(HAVE_USERTMPFS) $(HAVE_DBUSPROXY) $(HAVE_FIRETUNNEL) $(HAVE_GLOBALCFG) $(HAVE_CHROOT) $(HAVE_NETWORK) $(HAVE_USERNS) $(HAVE_FILE_TRANSFER) $(HAVE_SELINUX) $(HAVE_SUID) $(HAVE_FORCE_NONEWPRIVS) $(HAVE_ONLY_SYSCFG_PROFILES) 52MANFLAGS = $(HAVE_LTS) $(HAVE_OUTPUT) $(HAVE_X11) $(HAVE_PRIVATE_HOME) $(HAVE_APPARMOR) $(HAVE_IDS) $(HAVE_OVERLAYFS) $(HAVE_USERTMPFS) $(HAVE_DBUSPROXY) $(HAVE_FIRETUNNEL) $(HAVE_GLOBALCFG) $(HAVE_CHROOT) $(HAVE_NETWORK) $(HAVE_USERNS) $(HAVE_FILE_TRANSFER) $(HAVE_SELINUX) $(HAVE_SUID) $(HAVE_FORCE_NONEWPRIVS) $(HAVE_ONLY_SYSCFG_PROFILES)
53 53
54# User variables - should not be modified in the code (as they are reserved for
55# the user building the package); see the following for details:
56# https://www.gnu.org/software/automake/manual/1.16.5/html_node/User-Variables.html
54CC=@CC@ 57CC=@CC@
55CFLAGS=@CFLAGS@ 58CFLAGS=@CFLAGS@
56LDFLAGS=@LDFLAGS@ 59LDFLAGS=@LDFLAGS@
60
61# Project variables
57LIBS=@LIBS@ 62LIBS=@LIBS@
58 63
59ifdef NO_EXTRA_CFLAGS 64ifdef NO_EXTRA_CFLAGS
diff --git a/src/prog.mk b/src/prog.mk
index 84f43142d..b2ccf6147 100644
--- a/src/prog.mk
+++ b/src/prog.mk
@@ -9,25 +9,26 @@ HDRS := $(sort $(wildcard *.h)) $(MOD_HDRS)
9SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS) 9SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS)
10OBJS := $(SRCS:.c=.o) $(MOD_OBJS) 10OBJS := $(SRCS:.c=.o) $(MOD_OBJS)
11 11
12CFLAGS += \ 12PROG_CFLAGS = \
13 -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' \ 13 -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' \
14 -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \ 14 -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \
15 -fPIE \ 15 -fPIE \
16 -DPREFIX='"$(prefix)"' -DSYSCONFDIR='"$(sysconfdir)/firejail"' \ 16 -DPREFIX='"$(prefix)"' -DSYSCONFDIR='"$(sysconfdir)/firejail"' \
17 -DLIBDIR='"$(libdir)"' -DBINDIR='"$(bindir)"' \ 17 -DLIBDIR='"$(libdir)"' -DBINDIR='"$(bindir)"' \
18 -DVARDIR='"/var/lib/firejail"' \ 18 -DVARDIR='"/var/lib/firejail"' \
19 $(HAVE_GCOV) $(MANFLAGS) 19 $(HAVE_GCOV) $(MANFLAGS) \
20 $(EXTRA_CFLAGS)
20 21
21LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now 22PROG_LDFLAGS = -pie -fPIE -Wl,-z,relro -Wl,-z,now $(EXTRA_LDFLAGS)
22 23
23.PHONY: all 24.PHONY: all
24all: $(TARGET) 25all: $(TARGET)
25 26
26%.o : %.c $(HDRS) $(ROOT)/config.mk 27%.o : %.c $(HDRS) $(ROOT)/config.mk
27 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ 28 $(CC) $(PROG_CFLAGS) $(CFLAGS) $(INCLUDE) -c $< -o $@
28 29
29$(PROG): $(OBJS) $(ROOT)/config.mk 30$(PROG): $(OBJS) $(ROOT)/config.mk
30 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) 31 $(CC) $(PROG_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
31 32
32.PHONY: clean 33.PHONY: clean
33clean:; rm -fr *.o $(PROG) *.gcov *.gcda *.gcno *.plist $(TOCLEAN) 34clean:; rm -fr *.o $(PROG) *.gcov *.gcda *.gcno *.plist $(TOCLEAN)
diff --git a/src/so.mk b/src/so.mk
index 10c43ad21..28bd229e5 100644
--- a/src/so.mk
+++ b/src/so.mk
@@ -9,21 +9,21 @@ HDRS := $(sort $(wildcard *.h)) $(MOD_HDRS)
9SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS) 9SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS)
10OBJS := $(SRCS:.c=.o) $(MOD_OBJS) 10OBJS := $(SRCS:.c=.o) $(MOD_OBJS)
11 11
12CFLAGS += \ 12SO_CFLAGS = \
13 -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' \ 13 -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' \
14 -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \ 14 -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \
15 -fPIC 15 -fPIC
16 16
17LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now 17SO_LDFLAGS = -pie -fPIE -Wl,-z,relro -Wl,-z,now
18 18
19.PHONY: all 19.PHONY: all
20all: $(TARGET) 20all: $(TARGET)
21 21
22%.o : %.c $(HDRS) $(ROOT)/config.mk 22%.o : %.c $(HDRS) $(ROOT)/config.mk
23 $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ 23 $(CC) $(SO_CFLAGS) $(CFLAGS) $(INCLUDE) -c $< -o $@
24 24
25$(SO): $(OBJS) $(ROOT)/config.mk 25$(SO): $(OBJS) $(ROOT)/config.mk
26 $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl 26 $(CC) $(SO_LDFLAGS) -shared -fPIC -z relro $(LDFLAGS) -o $@ $(OBJS) -ldl
27 27
28.PHONY: clean 28.PHONY: clean
29clean:; rm -fr $(OBJS) $(SO) *.plist $(TOCLEAN) 29clean:; rm -fr $(OBJS) $(SO) *.plist $(TOCLEAN)