aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@protonmail.com>2022-11-25 11:26:42 -0500
committerLibravatar GitHub <noreply@github.com>2022-11-25 11:26:42 -0500
commit3e3a872a1458b8ca9f920b5fe5a7b27c14d2c93c (patch)
tree56000f9554b905b8895dd153ccad851e631dda6e
parentMerge pull request #5481 from kmk3/ci-sort-ignore-paths (diff)
parentmakefiles: organize CFLAGS (diff)
downloadfirejail-3e3a872a1458b8ca9f920b5fe5a7b27c14d2c93c.tar.gz
firejail-3e3a872a1458b8ca9f920b5fe5a7b27c14d2c93c.tar.zst
firejail-3e3a872a1458b8ca9f920b5fe5a7b27c14d2c93c.zip
Merge pull request #5478 from kmk3/build-dedup-makefiles
build: deduplicate makefiles
-rw-r--r--Makefile6
-rw-r--r--src/common.mk16
-rw-r--r--src/fbuilder/Makefile18
-rw-r--r--src/fcopy/Makefile19
-rw-r--r--src/fids/Makefile19
-rw-r--r--src/firecfg/Makefile23
-rw-r--r--src/firejail/Makefile32
-rw-r--r--src/firemon/Makefile19
-rw-r--r--src/fldd/Makefile19
-rw-r--r--src/fnet/Makefile19
-rw-r--r--src/fnetfilter/Makefile19
-rw-r--r--src/fnettrace-dns/Makefile18
-rw-r--r--src/fnettrace-icmp/Makefile18
-rw-r--r--src/fnettrace-sni/Makefile18
-rw-r--r--src/fnettrace/Makefile18
-rw-r--r--src/fsec-optimize/Makefile19
-rw-r--r--src/fsec-print/Makefile19
-rw-r--r--src/fseccomp/Makefile19
-rw-r--r--src/ftee/Makefile18
-rw-r--r--src/fzenity/Makefile18
-rw-r--r--src/jailcheck/Makefile19
-rw-r--r--src/lib/Makefile15
-rw-r--r--src/libpostexecseccomp/Makefile23
-rw-r--r--src/libtrace/Makefile23
-rw-r--r--src/libtracelog/Makefile23
-rw-r--r--src/profstats/Makefile18
-rw-r--r--src/prog.mk36
-rw-r--r--src/so.mk32
28 files changed, 213 insertions, 350 deletions
diff --git a/Makefile b/Makefile
index 0499ff170..843ccd5ae 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,4 @@
1ROOT = .
1-include config.mk 2-include config.mk
2 3
3ifneq ($(HAVE_MAN),no) 4ifneq ($(HAVE_MAN),no)
@@ -7,8 +8,6 @@ endif
7 8
8COMPLETIONDIRS = src/zsh_completion src/bash_completion 9COMPLETIONDIRS = src/zsh_completion src/bash_completion
9 10
10.PHONY: all
11all: all_items mydirs $(MAN_TARGET) filters
12APPS = src/firecfg/firecfg src/firejail/firejail src/firemon/firemon src/profstats/profstats src/jailcheck/jailcheck 11APPS = src/firecfg/firecfg src/firejail/firejail src/firemon/firemon src/profstats/profstats src/jailcheck/jailcheck
13SBOX_APPS = src/fbuilder/fbuilder src/ftee/ftee src/fids/fids 12SBOX_APPS = src/fbuilder/fbuilder src/ftee/ftee src/fids/fids
14SBOX_APPS_NON_DUMPABLE = src/fcopy/fcopy src/fldd/fldd src/fnet/fnet src/fnetfilter/fnetfilter src/fzenity/fzenity 13SBOX_APPS_NON_DUMPABLE = src/fcopy/fcopy src/fldd/fldd src/fnet/fnet src/fnetfilter/fnetfilter src/fzenity/fzenity
@@ -22,6 +21,9 @@ MANPAGES = firejail.1 firemon.1 firecfg.1 firejail-profile.5 firejail-login.5 fi
22SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32 21SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32
23ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS) 22ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS)
24 23
24.PHONY: all
25all: all_items mydirs $(MAN_TARGET) filters
26
25config.mk config.sh: 27config.mk config.sh:
26 printf 'run ./configure to generate %s\n' "$@" >&2 28 printf 'run ./configure to generate %s\n' "$@" >&2
27 false 29 false
diff --git a/src/common.mk b/src/common.mk
deleted file mode 100644
index 07b5e373d..000000000
--- a/src/common.mk
+++ /dev/null
@@ -1,16 +0,0 @@
1# Common definitions for building C programs and non-shared objects.
2#
3# Note: "ROOT" must be defined before including this file.
4
5-include $(ROOT)/config.mk
6
7H_FILE_LIST = $(sort $(wildcard *.h))
8C_FILE_LIST = $(sort $(wildcard *.c))
9OBJS = $(C_FILE_LIST:.c=.o)
10BINOBJS = $(foreach file, $(OBJS), $file)
11
12CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' $(HAVE_GCOV)
13CFLAGS += -DPREFIX='"$(prefix)"' -DSYSCONFDIR='"$(sysconfdir)/firejail"' -DLIBDIR='"$(libdir)"' -DBINDIR='"$(bindir)"' -DVARDIR='"/var/lib/firejail"'
14CFLAGS += $(MANFLAGS)
15CFLAGS += -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -Wformat -Wformat-security
16LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now
diff --git a/src/fbuilder/Makefile b/src/fbuilder/Makefile
index da0403c6e..ad73e8960 100644
--- a/src/fbuilder/Makefile
+++ b/src/fbuilder/Makefile
@@ -1,17 +1,9 @@
1.PHONY: all
2all: fbuilder
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fbuilder: $(OBJS) $(ROOT)/config.mk 4PROG = fbuilder
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/syscall.h
14clean:; rm -fr *.o fbuilder *.gcov *.gcda *.gcno *.plist
15 8
16.PHONY: distclean 9include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fcopy/Makefile b/src/fcopy/Makefile
index ae128df9b..27054627c 100644
--- a/src/fcopy/Makefile
+++ b/src/fcopy/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: fcopy
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fcopy: $(OBJS) ../lib/common.o $(ROOT)/config.mk 4PROG = fcopy
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/syscall.h
14clean:; rm -fr *.o fcopy *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fids/Makefile b/src/fids/Makefile
index e57c56b5b..44ea396d7 100644
--- a/src/fids/Makefile
+++ b/src/fids/Makefile
@@ -1,18 +1,9 @@
1.PHONY: all
2all: fids
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10#fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o 4PROG = fids
11fids: $(OBJS) $(ROOT)/config.mk 5TARGET = $(PROG)
12 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS)
13 6
14.PHONY: clean 7MOD_HDRS = ../include/common.h
15clean:; rm -fr *.o fids *.gcov *.gcda *.gcno *.plist
16 8
17.PHONY: distclean 9include $(ROOT)/src/prog.mk
18distclean: clean
diff --git a/src/firecfg/Makefile b/src/firecfg/Makefile
index 3b0daed71..05cc088f4 100644
--- a/src/firecfg/Makefile
+++ b/src/firecfg/Makefile
@@ -1,17 +1,16 @@
1.PHONY: all
2all: firecfg
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6 3
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/euid_common.h ../include/libnetlink.h ../include/firejail_user.h ../include/pid.h $(ROOT)/config.mk 4PROG = firecfg
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ 5TARGET = $(PROG)
9 6
10firecfg: $(OBJS) ../lib/common.o ../lib/firejail_user.o $(ROOT)/config.mk 7MOD_HDRS = \
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/firejail_user.o $(LIBS) $(EXTRA_LDFLAGS) 8../include/common.h \
9../include/euid_common.h \
10../include/libnetlink.h \
11../include/firejail_user.h \
12../include/pid.h
12 13
13.PHONY: clean 14MOD_OBJS = ../lib/common.o ../lib/firejail_user.o
14clean:; rm -fr *.o firecfg *.gcov *.gcda *.gcno *.plist
15 15
16.PHONY: distclean 16include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/firejail/Makefile b/src/firejail/Makefile
index 23444107f..4e241af7e 100644
--- a/src/firejail/Makefile
+++ b/src/firejail/Makefile
@@ -1,17 +1,25 @@
1.PHONY: all
2all: firejail
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6 3
7%.o : %.c $(H_FILE_LIST) ../include/rundefs.h ../include/common.h ../include/ldd_utils.h ../include/euid_common.h ../include/pid.h ../include/seccomp.h ../include/syscall_i386.h ../include/syscall_x86_64.h ../include/firejail_user.h $(ROOT)/config.mk 4PROG = firejail
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ 5TARGET = $(PROG)
9 6
10firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o $(ROOT)/config.mk 7MOD_HDRS = \
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) 8../include/rundefs.h \
9../include/common.h \
10../include/ldd_utils.h \
11../include/euid_common.h \
12../include/pid.h \
13../include/seccomp.h \
14../include/syscall_i386.h \
15../include/syscall_x86_64.h \
16../include/firejail_user.h
12 17
13.PHONY: clean 18MOD_OBJS = \
14clean:; rm -fr *.o firejail *.gcov *.gcda *.gcno *.plist 19../lib/common.o \
20../lib/ldd_utils.o \
21../lib/firejail_user.o \
22../lib/errno.o \
23../lib/syscall.o
15 24
16.PHONY: distclean 25include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/firemon/Makefile b/src/firemon/Makefile
index b2d2f4d14..433e4267d 100644
--- a/src/firemon/Makefile
+++ b/src/firemon/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: firemon
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10firemon: $(OBJS) ../lib/common.o ../lib/pid.o $(ROOT)/config.mk 4PROG = firemon
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/pid.h
14clean:; rm -fr *.o firemon *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o ../lib/pid.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fldd/Makefile b/src/fldd/Makefile
index d9a70529b..0c127af55 100644
--- a/src/fldd/Makefile
+++ b/src/fldd/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: fldd
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h ../include/ldd_utils.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fldd: $(OBJS) ../lib/common.o ../lib/ldd_utils.o $(ROOT)/config.mk 4PROG = fldd
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/syscall.h ../include/ldd_utils.h
14clean:; rm -fr *.o fldd *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o ../lib/ldd_utils.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fnet/Makefile b/src/fnet/Makefile
index 36e95522f..91de109fa 100644
--- a/src/fnet/Makefile
+++ b/src/fnet/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: fnet
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/libnetlink.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fnet: $(OBJS) ../lib/common.o ../lib/libnetlink.o $(ROOT)/config.mk 4PROG = fnet
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/libnetlink.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/libnetlink.h
14clean:; rm -fr *.o fnet *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o ../lib/libnetlink.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fnetfilter/Makefile b/src/fnetfilter/Makefile
index 758561b9e..506d287ab 100644
--- a/src/fnetfilter/Makefile
+++ b/src/fnetfilter/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: fnetfilter
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fnetfilter: $(OBJS) ../lib/common.o $(ROOT)/config.mk 4PROG = fnetfilter
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/syscall.h
14clean:; rm -fr *.o fnetfilter *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fnettrace-dns/Makefile b/src/fnettrace-dns/Makefile
index 101abd4d4..36542f567 100644
--- a/src/fnettrace-dns/Makefile
+++ b/src/fnettrace-dns/Makefile
@@ -1,17 +1,7 @@
1.PHONY: all
2all: fnettrace-dns
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9
10fnettrace-dns: $(OBJS) $(ROOT)/config.mk
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS)
12 3
13.PHONY: clean 4PROG = fnettrace-dns
14clean:; rm -fr *.o fnettrace-dns *.gcov *.gcda *.gcno *.plist 5TARGET = $(PROG)
15 6
16.PHONY: distclean 7include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fnettrace-icmp/Makefile b/src/fnettrace-icmp/Makefile
index 4dfdc891a..12ae42e9a 100644
--- a/src/fnettrace-icmp/Makefile
+++ b/src/fnettrace-icmp/Makefile
@@ -1,17 +1,7 @@
1.PHONY: all
2all: fnettrace-icmp
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9
10fnettrace-icmp: $(OBJS) $(ROOT)/config.mk
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS)
12 3
13.PHONY: clean 4PROG = fnettrace-icmp
14clean:; rm -fr *.o fnettrace-icmp *.gcov *.gcda *.gcno *.plist 5TARGET = $(PROG)
15 6
16.PHONY: distclean 7include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fnettrace-sni/Makefile b/src/fnettrace-sni/Makefile
index da7c1ca4e..8d9a437d5 100644
--- a/src/fnettrace-sni/Makefile
+++ b/src/fnettrace-sni/Makefile
@@ -1,17 +1,7 @@
1.PHONY: all
2all: fnettrace-sni
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9
10fnettrace-sni: $(OBJS) $(ROOT)/config.mk
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS)
12 3
13.PHONY: clean 4PROG = fnettrace-sni
14clean:; rm -fr *.o fnettrace-sni *.gcov *.gcda *.gcno *.plist 5TARGET = $(PROG)
15 6
16.PHONY: distclean 7include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fnettrace/Makefile b/src/fnettrace/Makefile
index f41a4d36d..952036ad3 100644
--- a/src/fnettrace/Makefile
+++ b/src/fnettrace/Makefile
@@ -1,17 +1,7 @@
1.PHONY: all
2all: fnettrace
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9
10fnettrace: $(OBJS) $(ROOT)/config.mk
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS)
12 3
13.PHONY: clean 4PROG = fnettrace
14clean:; rm -fr *.o fnettrace *.gcov *.gcda *.gcno *.plist 5TARGET = $(PROG)
15 6
16.PHONY: distclean 7include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fsec-optimize/Makefile b/src/fsec-optimize/Makefile
index 1aa49d34b..ce65f4719 100644
--- a/src/fsec-optimize/Makefile
+++ b/src/fsec-optimize/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: fsec-optimize
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fsec-optimize: $(OBJS) ../lib/common.o ../lib/libnetlink.o $(ROOT)/config.mk 4PROG = fsec-optimize
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/seccomp.h ../include/syscall.h
14clean:; rm -fr *.o fsec-optimize *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o ../lib/errno.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fsec-print/Makefile b/src/fsec-print/Makefile
index b076c0588..cbe061d45 100644
--- a/src/fsec-print/Makefile
+++ b/src/fsec-print/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: fsec-print
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fsec-print: $(OBJS) ../lib/common.o ../lib/libnetlink.o ../lib/errno.o ../lib/syscall.o $(ROOT)/config.mk 4PROG = fsec-print
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/seccomp.h ../include/syscall.h
14clean:; rm -fr *.o fsec-print *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o ../lib/errno.o ../lib/syscall.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fseccomp/Makefile b/src/fseccomp/Makefile
index 9bf4c050b..1b8d0bb48 100644
--- a/src/fseccomp/Makefile
+++ b/src/fseccomp/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: fseccomp
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(ROOT)/config.mk 4PROG = fseccomp
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/syscall.h
14clean:; rm -fr *.o fseccomp *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o ../lib/errno.o ../lib/syscall.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/ftee/Makefile b/src/ftee/Makefile
index 535d7ff63..2f26ab900 100644
--- a/src/ftee/Makefile
+++ b/src/ftee/Makefile
@@ -1,17 +1,7 @@
1.PHONY: all
2all: ftee
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9
10ftee: $(OBJS) $(ROOT)/config.mk
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS)
12 3
13.PHONY: clean 4PROG = ftee
14clean:; rm -fr *.o ftee *.gcov *.gcda *.gcno *.plist 5TARGET = $(PROG)
15 6
16.PHONY: distclean 7include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/fzenity/Makefile b/src/fzenity/Makefile
index 0358dd3e9..aeb862d9b 100644
--- a/src/fzenity/Makefile
+++ b/src/fzenity/Makefile
@@ -1,17 +1,9 @@
1.PHONY: all
2all: fzenity
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10fzenity: $(OBJS) $(ROOT)/config.mk 4PROG = fzenity
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h
14clean:; rm -fr *.o fzenity *.gcov *.gcda *.gcno *.plist
15 8
16.PHONY: distclean 9include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/jailcheck/Makefile b/src/jailcheck/Makefile
index 52feb86e6..e3b84fbf3 100644
--- a/src/jailcheck/Makefile
+++ b/src/jailcheck/Makefile
@@ -1,17 +1,10 @@
1.PHONY: all
2all: jailcheck
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10jailcheck: $(OBJS) $(ROOT)/config.mk 4PROG = jailcheck
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h ../include/pid.h
14clean:; rm -fr *.o jailcheck *.gcov *.gcda *.gcno *.plist 8MOD_OBJS = ../lib/common.o ../lib/pid.o
15 9
16.PHONY: distclean 10include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/lib/Makefile b/src/lib/Makefile
index d9bc63ef7..f5b92e389 100644
--- a/src/lib/Makefile
+++ b/src/lib/Makefile
@@ -1,14 +1,9 @@
1ROOT = ../.. 1ROOT = ../..
2include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
3 3
4.PHONY: all 4TARGET = lib
5all: $(OBJS)
6 5
7%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk 6include $(ROOT)/src/prog.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 7
10.PHONY: clean 8.PHONY: lib
11clean:; rm -fr $(OBJS) *.gcov *.gcda *.gcno *.plist 9lib: $(OBJS)
12
13.PHONY: distclean
14distclean: clean
diff --git a/src/libpostexecseccomp/Makefile b/src/libpostexecseccomp/Makefile
index 5386af58b..62e167b73 100644
--- a/src/libpostexecseccomp/Makefile
+++ b/src/libpostexecseccomp/Makefile
@@ -1,24 +1,9 @@
1ROOT = ../.. 1ROOT = ../..
2-include $(ROOT)/config.mk 2-include $(ROOT)/config.mk
3 3
4H_FILE_LIST = $(sort $(wildcard *.h)) 4SO = libpostexecseccomp.so
5C_FILE_LIST = $(sort $(wildcard *.c)) 5TARGET = $(SO)
6OBJS = $(C_FILE_LIST:.c=.o)
7BINOBJS = $(foreach file, $(OBJS), $file)
8CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security
9LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now
10 6
11.PHONY: all 7MOD_HDRS = ../include/seccomp.h ../include/rundefs.h
12all: libpostexecseccomp.so
13 8
14%.o : %.c $(H_FILE_LIST) ../include/seccomp.h ../include/rundefs.h $(ROOT)/config.mk 9include $(ROOT)/src/so.mk
15 $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
16
17libpostexecseccomp.so: $(OBJS) $(ROOT)/config.mk
18 $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl
19
20.PHONY: clean
21clean:; rm -fr $(OBJS) libpostexecseccomp.so *.plist
22
23.PHONY: distclean
24distclean: clean
diff --git a/src/libtrace/Makefile b/src/libtrace/Makefile
index 6f28b3442..d45b3e2f6 100644
--- a/src/libtrace/Makefile
+++ b/src/libtrace/Makefile
@@ -1,24 +1,7 @@
1ROOT = ../.. 1ROOT = ../..
2-include $(ROOT)/config.mk 2-include $(ROOT)/config.mk
3 3
4H_FILE_LIST = $(sort $(wildcard *.h)) 4SO = libtrace.so
5C_FILE_LIST = $(sort $(wildcard *.c)) 5TARGET = $(SO)
6OBJS = $(C_FILE_LIST:.c=.o)
7BINOBJS = $(foreach file, $(OBJS), $file)
8CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security
9LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now
10 6
11.PHONY: all 7include $(ROOT)/src/so.mk
12all: libtrace.so
13
14%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk
15 $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
16
17libtrace.so: $(OBJS) $(ROOT)/config.mk
18 $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl
19
20.PHONY: clean
21clean:; rm -fr $(OBJS) libtrace.so *.plist
22
23.PHONY: distclean
24distclean: clean
diff --git a/src/libtracelog/Makefile b/src/libtracelog/Makefile
index c5d9c131d..bfc5adddc 100644
--- a/src/libtracelog/Makefile
+++ b/src/libtracelog/Makefile
@@ -1,24 +1,9 @@
1ROOT = ../.. 1ROOT = ../..
2-include $(ROOT)/config.mk 2-include $(ROOT)/config.mk
3 3
4H_FILE_LIST = $(sort $(wildcard *.h)) 4SO = libtracelog.so
5C_FILE_LIST = $(sort $(wildcard *.c)) 5TARGET = $(SO)
6OBJS = $(C_FILE_LIST:.c=.o)
7BINOBJS = $(foreach file, $(OBJS), $file)
8CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security
9LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now
10 6
11.PHONY: all 7MOD_HDRS = ../include/rundefs.h
12all: libtracelog.so
13 8
14%.o : %.c $(H_FILE_LIST) ../include/rundefs.h $(ROOT)/config.mk 9include $(ROOT)/src/so.mk
15 $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
16
17libtracelog.so: $(OBJS) $(ROOT)/config.mk
18 $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl
19
20.PHONY: clean
21clean:; rm -fr $(OBJS) libtracelog.so *.plist
22
23.PHONY: distclean
24distclean: clean
diff --git a/src/profstats/Makefile b/src/profstats/Makefile
index 0274aead2..47b39e76c 100644
--- a/src/profstats/Makefile
+++ b/src/profstats/Makefile
@@ -1,17 +1,9 @@
1.PHONY: all
2all: profstats
3
4ROOT = ../.. 1ROOT = ../..
5include $(ROOT)/src/common.mk 2-include $(ROOT)/config.mk
6
7%.o : %.c $(H_FILE_LIST) ../include/common.h $(ROOT)/config.mk
8 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
9 3
10profstats: $(OBJS) $(ROOT)/config.mk 4PROG = profstats
11 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) 5TARGET = $(PROG)
12 6
13.PHONY: clean 7MOD_HDRS = ../include/common.h
14clean:; rm -fr *.o profstats *.gcov *.gcda *.gcno *.plist
15 8
16.PHONY: distclean 9include $(ROOT)/src/prog.mk
17distclean: clean
diff --git a/src/prog.mk b/src/prog.mk
new file mode 100644
index 000000000..84f43142d
--- /dev/null
+++ b/src/prog.mk
@@ -0,0 +1,36 @@
1# Common definitions for building C programs and non-shared objects.
2#
3# Note: $(ROOT)/config.mk must be included before this file.
4#
5# The includer should probably define PROG and TARGET and may also want to
6# define MOD_HDRS, MOD_SRCS, MOD_OBJS, TOCLEAN and TODISTCLEAN.
7
8HDRS := $(sort $(wildcard *.h)) $(MOD_HDRS)
9SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS)
10OBJS := $(SRCS:.c=.o) $(MOD_OBJS)
11
12CFLAGS += \
13 -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' \
14 -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \
15 -fPIE \
16 -DPREFIX='"$(prefix)"' -DSYSCONFDIR='"$(sysconfdir)/firejail"' \
17 -DLIBDIR='"$(libdir)"' -DBINDIR='"$(bindir)"' \
18 -DVARDIR='"/var/lib/firejail"' \
19 $(HAVE_GCOV) $(MANFLAGS)
20
21LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now
22
23.PHONY: all
24all: $(TARGET)
25
26%.o : %.c $(HDRS) $(ROOT)/config.mk
27 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@
28
29$(PROG): $(OBJS) $(ROOT)/config.mk
30 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS)
31
32.PHONY: clean
33clean:; rm -fr *.o $(PROG) *.gcov *.gcda *.gcno *.plist $(TOCLEAN)
34
35.PHONY: distclean
36distclean: clean; rm -fr $(TODISTCLEAN)
diff --git a/src/so.mk b/src/so.mk
new file mode 100644
index 000000000..10c43ad21
--- /dev/null
+++ b/src/so.mk
@@ -0,0 +1,32 @@
1# Common definitions for making shared objects.
2#
3# Note: $(ROOT)/config.mk must be included before this file.
4#
5# The includer should probably define SO and TARGET and may also want to define
6# MOD_HDRS, MOD_SRCS, MOD_OBJS, TOCLEAN and TODISTCLEAN.
7
8HDRS := $(sort $(wildcard *.h)) $(MOD_HDRS)
9SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS)
10OBJS := $(SRCS:.c=.o) $(MOD_OBJS)
11
12CFLAGS += \
13 -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' \
14 -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \
15 -fPIC
16
17LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now
18
19.PHONY: all
20all: $(TARGET)
21
22%.o : %.c $(HDRS) $(ROOT)/config.mk
23 $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
24
25$(SO): $(OBJS) $(ROOT)/config.mk
26 $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl
27
28.PHONY: clean
29clean:; rm -fr $(OBJS) $(SO) *.plist $(TOCLEAN)
30
31.PHONY: distclean
32distclean: clean; rm -fr $(TODISTCLEAN)