diff options
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | src/common.mk | 16 | ||||
-rw-r--r-- | src/fbuilder/Makefile | 18 | ||||
-rw-r--r-- | src/fcopy/Makefile | 19 | ||||
-rw-r--r-- | src/fids/Makefile | 19 | ||||
-rw-r--r-- | src/firecfg/Makefile | 23 | ||||
-rw-r--r-- | src/firejail/Makefile | 32 | ||||
-rw-r--r-- | src/firemon/Makefile | 19 | ||||
-rw-r--r-- | src/fldd/Makefile | 19 | ||||
-rw-r--r-- | src/fnet/Makefile | 19 | ||||
-rw-r--r-- | src/fnetfilter/Makefile | 19 | ||||
-rw-r--r-- | src/fnettrace-dns/Makefile | 18 | ||||
-rw-r--r-- | src/fnettrace-icmp/Makefile | 18 | ||||
-rw-r--r-- | src/fnettrace-sni/Makefile | 18 | ||||
-rw-r--r-- | src/fnettrace/Makefile | 18 | ||||
-rw-r--r-- | src/fsec-optimize/Makefile | 19 | ||||
-rw-r--r-- | src/fsec-print/Makefile | 19 | ||||
-rw-r--r-- | src/fseccomp/Makefile | 19 | ||||
-rw-r--r-- | src/ftee/Makefile | 18 | ||||
-rw-r--r-- | src/fzenity/Makefile | 18 | ||||
-rw-r--r-- | src/jailcheck/Makefile | 19 | ||||
-rw-r--r-- | src/lib/Makefile | 15 | ||||
-rw-r--r-- | src/libpostexecseccomp/Makefile | 23 | ||||
-rw-r--r-- | src/libtrace/Makefile | 23 | ||||
-rw-r--r-- | src/libtracelog/Makefile | 23 | ||||
-rw-r--r-- | src/profstats/Makefile | 18 | ||||
-rw-r--r-- | src/prog.mk | 36 | ||||
-rw-r--r-- | src/so.mk | 32 |
28 files changed, 213 insertions, 350 deletions
@@ -1,3 +1,4 @@ | |||
1 | ROOT = . | ||
1 | -include config.mk | 2 | -include config.mk |
2 | 3 | ||
3 | ifneq ($(HAVE_MAN),no) | 4 | ifneq ($(HAVE_MAN),no) |
@@ -7,8 +8,6 @@ endif | |||
7 | 8 | ||
8 | COMPLETIONDIRS = src/zsh_completion src/bash_completion | 9 | COMPLETIONDIRS = src/zsh_completion src/bash_completion |
9 | 10 | ||
10 | .PHONY: all | ||
11 | all: all_items mydirs $(MAN_TARGET) filters | ||
12 | APPS = src/firecfg/firecfg src/firejail/firejail src/firemon/firemon src/profstats/profstats src/jailcheck/jailcheck | 11 | APPS = src/firecfg/firecfg src/firejail/firejail src/firemon/firemon src/profstats/profstats src/jailcheck/jailcheck |
13 | SBOX_APPS = src/fbuilder/fbuilder src/ftee/ftee src/fids/fids | 12 | SBOX_APPS = src/fbuilder/fbuilder src/ftee/ftee src/fids/fids |
14 | SBOX_APPS_NON_DUMPABLE = src/fcopy/fcopy src/fldd/fldd src/fnet/fnet src/fnetfilter/fnetfilter src/fzenity/fzenity | 13 | SBOX_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 | |||
22 | SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32 | 21 | SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32 |
23 | ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS) | 22 | ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS) |
24 | 23 | ||
24 | .PHONY: all | ||
25 | all: all_items mydirs $(MAN_TARGET) filters | ||
26 | |||
25 | config.mk config.sh: | 27 | config.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 | |||
7 | H_FILE_LIST = $(sort $(wildcard *.h)) | ||
8 | C_FILE_LIST = $(sort $(wildcard *.c)) | ||
9 | OBJS = $(C_FILE_LIST:.c=.o) | ||
10 | BINOBJS = $(foreach file, $(OBJS), $file) | ||
11 | |||
12 | CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' $(HAVE_GCOV) | ||
13 | CFLAGS += -DPREFIX='"$(prefix)"' -DSYSCONFDIR='"$(sysconfdir)/firejail"' -DLIBDIR='"$(libdir)"' -DBINDIR='"$(bindir)"' -DVARDIR='"/var/lib/firejail"' | ||
14 | CFLAGS += $(MANFLAGS) | ||
15 | CFLAGS += -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -Wformat -Wformat-security | ||
16 | LDFLAGS += -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 | ||
2 | all: fbuilder | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | fbuilder: $(OBJS) $(ROOT)/config.mk | 4 | PROG = fbuilder |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/syscall.h |
14 | clean:; rm -fr *.o fbuilder *.gcov *.gcda *.gcno *.plist | ||
15 | 8 | ||
16 | .PHONY: distclean | 9 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fcopy | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | fcopy: $(OBJS) ../lib/common.o $(ROOT)/config.mk | 4 | PROG = fcopy |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/syscall.h |
14 | clean:; rm -fr *.o fcopy *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fids | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | 4 | PROG = fids |
11 | fids: $(OBJS) $(ROOT)/config.mk | 5 | TARGET = $(PROG) |
12 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | ||
13 | 6 | ||
14 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h |
15 | clean:; rm -fr *.o fids *.gcov *.gcda *.gcno *.plist | ||
16 | 8 | ||
17 | .PHONY: distclean | 9 | include $(ROOT)/src/prog.mk |
18 | distclean: 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 | ||
2 | all: firecfg | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | 4 | PROG = firecfg |
8 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ | 5 | TARGET = $(PROG) |
9 | 6 | ||
10 | firecfg: $(OBJS) ../lib/common.o ../lib/firejail_user.o $(ROOT)/config.mk | 7 | MOD_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 | 14 | MOD_OBJS = ../lib/common.o ../lib/firejail_user.o |
14 | clean:; rm -fr *.o firecfg *.gcov *.gcda *.gcno *.plist | ||
15 | 15 | ||
16 | .PHONY: distclean | 16 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: firejail | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | 4 | PROG = firejail |
8 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ | 5 | TARGET = $(PROG) |
9 | 6 | ||
10 | firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o $(ROOT)/config.mk | 7 | MOD_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 | 18 | MOD_OBJS = \ |
14 | clean:; 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 | 25 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: firemon | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | firemon: $(OBJS) ../lib/common.o ../lib/pid.o $(ROOT)/config.mk | 4 | PROG = firemon |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/pid.h |
14 | clean:; rm -fr *.o firemon *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o ../lib/pid.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fldd | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | fldd: $(OBJS) ../lib/common.o ../lib/ldd_utils.o $(ROOT)/config.mk | 4 | PROG = fldd |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/syscall.h ../include/ldd_utils.h |
14 | clean:; rm -fr *.o fldd *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o ../lib/ldd_utils.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fnet | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | fnet: $(OBJS) ../lib/common.o ../lib/libnetlink.o $(ROOT)/config.mk | 4 | PROG = fnet |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/libnetlink.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/libnetlink.h |
14 | clean:; rm -fr *.o fnet *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o ../lib/libnetlink.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fnetfilter | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | fnetfilter: $(OBJS) ../lib/common.o $(ROOT)/config.mk | 4 | PROG = fnetfilter |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/syscall.h |
14 | clean:; rm -fr *.o fnetfilter *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fnettrace-dns | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | |||
10 | fnettrace-dns: $(OBJS) $(ROOT)/config.mk | ||
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | ||
12 | 3 | ||
13 | .PHONY: clean | 4 | PROG = fnettrace-dns |
14 | clean:; rm -fr *.o fnettrace-dns *.gcov *.gcda *.gcno *.plist | 5 | TARGET = $(PROG) |
15 | 6 | ||
16 | .PHONY: distclean | 7 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fnettrace-icmp | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | |||
10 | fnettrace-icmp: $(OBJS) $(ROOT)/config.mk | ||
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | ||
12 | 3 | ||
13 | .PHONY: clean | 4 | PROG = fnettrace-icmp |
14 | clean:; rm -fr *.o fnettrace-icmp *.gcov *.gcda *.gcno *.plist | 5 | TARGET = $(PROG) |
15 | 6 | ||
16 | .PHONY: distclean | 7 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fnettrace-sni | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | |||
10 | fnettrace-sni: $(OBJS) $(ROOT)/config.mk | ||
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | ||
12 | 3 | ||
13 | .PHONY: clean | 4 | PROG = fnettrace-sni |
14 | clean:; rm -fr *.o fnettrace-sni *.gcov *.gcda *.gcno *.plist | 5 | TARGET = $(PROG) |
15 | 6 | ||
16 | .PHONY: distclean | 7 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fnettrace | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | |||
10 | fnettrace: $(OBJS) $(ROOT)/config.mk | ||
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | ||
12 | 3 | ||
13 | .PHONY: clean | 4 | PROG = fnettrace |
14 | clean:; rm -fr *.o fnettrace *.gcov *.gcda *.gcno *.plist | 5 | TARGET = $(PROG) |
15 | 6 | ||
16 | .PHONY: distclean | 7 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fsec-optimize | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | fsec-optimize: $(OBJS) ../lib/common.o ../lib/libnetlink.o $(ROOT)/config.mk | 4 | PROG = fsec-optimize |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/seccomp.h ../include/syscall.h |
14 | clean:; rm -fr *.o fsec-optimize *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o ../lib/errno.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fsec-print | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | fsec-print: $(OBJS) ../lib/common.o ../lib/libnetlink.o ../lib/errno.o ../lib/syscall.o $(ROOT)/config.mk | 4 | PROG = fsec-print |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/seccomp.h ../include/syscall.h |
14 | clean:; rm -fr *.o fsec-print *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o ../lib/errno.o ../lib/syscall.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fseccomp | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(ROOT)/config.mk | 4 | PROG = fseccomp |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/syscall.h |
14 | clean:; rm -fr *.o fseccomp *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o ../lib/errno.o ../lib/syscall.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: ftee | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | |||
10 | ftee: $(OBJS) $(ROOT)/config.mk | ||
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | ||
12 | 3 | ||
13 | .PHONY: clean | 4 | PROG = ftee |
14 | clean:; rm -fr *.o ftee *.gcov *.gcda *.gcno *.plist | 5 | TARGET = $(PROG) |
15 | 6 | ||
16 | .PHONY: distclean | 7 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: fzenity | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | fzenity: $(OBJS) $(ROOT)/config.mk | 4 | PROG = fzenity |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h |
14 | clean:; rm -fr *.o fzenity *.gcov *.gcda *.gcno *.plist | ||
15 | 8 | ||
16 | .PHONY: distclean | 9 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | ||
2 | all: jailcheck | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | ||
10 | jailcheck: $(OBJS) $(ROOT)/config.mk | 4 | PROG = jailcheck |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h ../include/pid.h |
14 | clean:; rm -fr *.o jailcheck *.gcov *.gcda *.gcno *.plist | 8 | MOD_OBJS = ../lib/common.o ../lib/pid.o |
15 | 9 | ||
16 | .PHONY: distclean | 10 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 @@ | |||
1 | ROOT = ../.. | 1 | ROOT = ../.. |
2 | include $(ROOT)/src/common.mk | 2 | -include $(ROOT)/config.mk |
3 | 3 | ||
4 | .PHONY: all | 4 | TARGET = lib |
5 | all: $(OBJS) | ||
6 | 5 | ||
7 | %.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk | 6 | include $(ROOT)/src/prog.mk |
8 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ | ||
9 | 7 | ||
10 | .PHONY: clean | 8 | .PHONY: lib |
11 | clean:; rm -fr $(OBJS) *.gcov *.gcda *.gcno *.plist | 9 | lib: $(OBJS) |
12 | |||
13 | .PHONY: distclean | ||
14 | distclean: 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 @@ | |||
1 | ROOT = ../.. | 1 | ROOT = ../.. |
2 | -include $(ROOT)/config.mk | 2 | -include $(ROOT)/config.mk |
3 | 3 | ||
4 | H_FILE_LIST = $(sort $(wildcard *.h)) | 4 | SO = libpostexecseccomp.so |
5 | C_FILE_LIST = $(sort $(wildcard *.c)) | 5 | TARGET = $(SO) |
6 | OBJS = $(C_FILE_LIST:.c=.o) | ||
7 | BINOBJS = $(foreach file, $(OBJS), $file) | ||
8 | CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security | ||
9 | LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now | ||
10 | 6 | ||
11 | .PHONY: all | 7 | MOD_HDRS = ../include/seccomp.h ../include/rundefs.h |
12 | all: libpostexecseccomp.so | ||
13 | 8 | ||
14 | %.o : %.c $(H_FILE_LIST) ../include/seccomp.h ../include/rundefs.h $(ROOT)/config.mk | 9 | include $(ROOT)/src/so.mk |
15 | $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ | ||
16 | |||
17 | libpostexecseccomp.so: $(OBJS) $(ROOT)/config.mk | ||
18 | $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl | ||
19 | |||
20 | .PHONY: clean | ||
21 | clean:; rm -fr $(OBJS) libpostexecseccomp.so *.plist | ||
22 | |||
23 | .PHONY: distclean | ||
24 | distclean: 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 @@ | |||
1 | ROOT = ../.. | 1 | ROOT = ../.. |
2 | -include $(ROOT)/config.mk | 2 | -include $(ROOT)/config.mk |
3 | 3 | ||
4 | H_FILE_LIST = $(sort $(wildcard *.h)) | 4 | SO = libtrace.so |
5 | C_FILE_LIST = $(sort $(wildcard *.c)) | 5 | TARGET = $(SO) |
6 | OBJS = $(C_FILE_LIST:.c=.o) | ||
7 | BINOBJS = $(foreach file, $(OBJS), $file) | ||
8 | CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security | ||
9 | LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now | ||
10 | 6 | ||
11 | .PHONY: all | 7 | include $(ROOT)/src/so.mk |
12 | all: libtrace.so | ||
13 | |||
14 | %.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk | ||
15 | $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ | ||
16 | |||
17 | libtrace.so: $(OBJS) $(ROOT)/config.mk | ||
18 | $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl | ||
19 | |||
20 | .PHONY: clean | ||
21 | clean:; rm -fr $(OBJS) libtrace.so *.plist | ||
22 | |||
23 | .PHONY: distclean | ||
24 | distclean: 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 @@ | |||
1 | ROOT = ../.. | 1 | ROOT = ../.. |
2 | -include $(ROOT)/config.mk | 2 | -include $(ROOT)/config.mk |
3 | 3 | ||
4 | H_FILE_LIST = $(sort $(wildcard *.h)) | 4 | SO = libtracelog.so |
5 | C_FILE_LIST = $(sort $(wildcard *.c)) | 5 | TARGET = $(SO) |
6 | OBJS = $(C_FILE_LIST:.c=.o) | ||
7 | BINOBJS = $(foreach file, $(OBJS), $file) | ||
8 | CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security | ||
9 | LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now | ||
10 | 6 | ||
11 | .PHONY: all | 7 | MOD_HDRS = ../include/rundefs.h |
12 | all: libtracelog.so | ||
13 | 8 | ||
14 | %.o : %.c $(H_FILE_LIST) ../include/rundefs.h $(ROOT)/config.mk | 9 | include $(ROOT)/src/so.mk |
15 | $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ | ||
16 | |||
17 | libtracelog.so: $(OBJS) $(ROOT)/config.mk | ||
18 | $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl | ||
19 | |||
20 | .PHONY: clean | ||
21 | clean:; rm -fr $(OBJS) libtracelog.so *.plist | ||
22 | |||
23 | .PHONY: distclean | ||
24 | distclean: 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 | ||
2 | all: profstats | ||
3 | |||
4 | ROOT = ../.. | 1 | ROOT = ../.. |
5 | include $(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 | profstats: $(OBJS) $(ROOT)/config.mk | 4 | PROG = profstats |
11 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | 5 | TARGET = $(PROG) |
12 | 6 | ||
13 | .PHONY: clean | 7 | MOD_HDRS = ../include/common.h |
14 | clean:; rm -fr *.o profstats *.gcov *.gcda *.gcno *.plist | ||
15 | 8 | ||
16 | .PHONY: distclean | 9 | include $(ROOT)/src/prog.mk |
17 | distclean: 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 | |||
8 | HDRS := $(sort $(wildcard *.h)) $(MOD_HDRS) | ||
9 | SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS) | ||
10 | OBJS := $(SRCS:.c=.o) $(MOD_OBJS) | ||
11 | |||
12 | CFLAGS += \ | ||
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 | |||
21 | LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now | ||
22 | |||
23 | .PHONY: all | ||
24 | all: $(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 | ||
33 | clean:; rm -fr *.o $(PROG) *.gcov *.gcda *.gcno *.plist $(TOCLEAN) | ||
34 | |||
35 | .PHONY: distclean | ||
36 | distclean: 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 | |||
8 | HDRS := $(sort $(wildcard *.h)) $(MOD_HDRS) | ||
9 | SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS) | ||
10 | OBJS := $(SRCS:.c=.o) $(MOD_OBJS) | ||
11 | |||
12 | CFLAGS += \ | ||
13 | -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' \ | ||
14 | -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \ | ||
15 | -fPIC | ||
16 | |||
17 | LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now | ||
18 | |||
19 | .PHONY: all | ||
20 | all: $(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 | ||
29 | clean:; rm -fr $(OBJS) $(SO) *.plist $(TOCLEAN) | ||
30 | |||
31 | .PHONY: distclean | ||
32 | distclean: clean; rm -fr $(TODISTCLEAN) | ||