From 011d84b462a78703b9b939cb5e48b4cc75ebe015 Mon Sep 17 00:00:00 2001 From: "Kelvin M. Klann" Date: Tue, 10 May 2022 15:47:44 -0300 Subject: build: reduce autoconf input files from 32 to 2 Configure summary: autoconf essentially only parses configure.ac and generates the configure script (that is, the "./configure" shell script). The latter is what actually checks what is available on the system and internally sets the value of the output variables. It then, for every filename foo in AC_CONFIG_FILES (and for every output variable name BAR in AC_SUBST), reads foo.in, replaces every occurrence of `@BAR@` with the value of the shell variable `$BAR` and generates the file foo from the result. After this, configure is finished and `make` could be executed to start the build. Now that (as of #5140) all output variables are only defined on config.mk.in and on config.sh.in, there is no need to generate any makefile nor any other mkfile or shell script at configure time. So rename every "Makefile.in" to "Makefile", mkdeb.sh.in to mkdeb.sh, src/common.mk.in to src/common.mk and leave just config.mk and config.sh as the files to be generated at configure time. This allows editing and committing all makefiles directly, without potentially having to run ./configure in between. Commands used to rename the makefiles: $ git ls-files -z -- '*Makefile.in' | xargs -0 -I '{}' sh -c \ "git mv '{}' \"\$(dirname '{}')/Makefile\"" Additionally, from my (rudimentary) testing, this commit reduces the time it takes to run ./configure by about 20~25% compared to commit 72ece92ea ("Transmission fixes: drop private-lib (#5213)", 2022-06-22). Environment: dash 0.5.11.5-1, gcc 12.1.0-2, Artix Linux, ext4 on an HDD. Commands used for benchmarking each commit: $ : >time_configure && ./configure && make distclean && for i in $(seq 1 10); do { time -p ./configure; } 2>>time_configure; done $ grep real time_configure | awk '{ total += $2 } END { print total/NR }' --- .gitignore | 3 - Makefile | 307 ++++++++++++++++++++++++++++++++++++ Makefile.in | 309 ------------------------------------- configure | 39 +---- configure.ac | 35 +---- contrib/fj-mkdeb.py | 8 +- mkdeb.sh | 61 ++++++++ mkdeb.sh.in | 61 -------- src/bash_completion/Makefile | 17 ++ src/bash_completion/Makefile.in | 18 --- src/common.mk | 16 ++ src/common.mk.in | 16 -- src/fbuilder/Makefile | 17 ++ src/fbuilder/Makefile.in | 18 --- src/fcopy/Makefile | 17 ++ src/fcopy/Makefile.in | 18 --- src/fids/Makefile | 18 +++ src/fids/Makefile.in | 19 --- src/firecfg/Makefile | 17 ++ src/firecfg/Makefile.in | 18 --- src/firejail/Makefile | 17 ++ src/firejail/Makefile.in | 18 --- src/firemon/Makefile | 17 ++ src/firemon/Makefile.in | 18 --- src/fldd/Makefile | 17 ++ src/fldd/Makefile.in | 18 --- src/fnet/Makefile | 17 ++ src/fnet/Makefile.in | 18 --- src/fnetfilter/Makefile | 17 ++ src/fnetfilter/Makefile.in | 18 --- src/fnettrace-dns/Makefile | 17 ++ src/fnettrace-dns/Makefile.in | 18 --- src/fnettrace-sni/Makefile | 17 ++ src/fnettrace-sni/Makefile.in | 18 --- src/fnettrace/Makefile | 17 ++ src/fnettrace/Makefile.in | 18 --- src/fsec-optimize/Makefile | 17 ++ src/fsec-optimize/Makefile.in | 18 --- src/fsec-print/Makefile | 17 ++ src/fsec-print/Makefile.in | 18 --- src/fseccomp/Makefile | 17 ++ src/fseccomp/Makefile.in | 18 --- src/ftee/Makefile | 17 ++ src/ftee/Makefile.in | 18 --- src/fzenity/Makefile | 17 ++ src/fzenity/Makefile.in | 18 --- src/jailcheck/Makefile | 17 ++ src/jailcheck/Makefile.in | 18 --- src/lib/Makefile | 14 ++ src/lib/Makefile.in | 15 -- src/libpostexecseccomp/Makefile | 24 +++ src/libpostexecseccomp/Makefile.in | 25 --- src/libtrace/Makefile | 24 +++ src/libtrace/Makefile.in | 25 --- src/libtracelog/Makefile | 24 +++ src/libtracelog/Makefile.in | 25 --- src/man/Makefile | 14 ++ src/man/Makefile.in | 15 -- src/profstats/Makefile | 17 ++ src/profstats/Makefile.in | 18 --- src/zsh_completion/Makefile | 17 ++ src/zsh_completion/Makefile.in | 18 --- test/Makefile | 13 ++ test/Makefile.in | 14 -- 64 files changed, 861 insertions(+), 963 deletions(-) create mode 100644 Makefile delete mode 100644 Makefile.in create mode 100755 mkdeb.sh delete mode 100755 mkdeb.sh.in create mode 100644 src/bash_completion/Makefile delete mode 100644 src/bash_completion/Makefile.in create mode 100644 src/common.mk delete mode 100644 src/common.mk.in create mode 100644 src/fbuilder/Makefile delete mode 100644 src/fbuilder/Makefile.in create mode 100644 src/fcopy/Makefile delete mode 100644 src/fcopy/Makefile.in create mode 100644 src/fids/Makefile delete mode 100644 src/fids/Makefile.in create mode 100644 src/firecfg/Makefile delete mode 100644 src/firecfg/Makefile.in create mode 100644 src/firejail/Makefile delete mode 100644 src/firejail/Makefile.in create mode 100644 src/firemon/Makefile delete mode 100644 src/firemon/Makefile.in create mode 100644 src/fldd/Makefile delete mode 100644 src/fldd/Makefile.in create mode 100644 src/fnet/Makefile delete mode 100644 src/fnet/Makefile.in create mode 100644 src/fnetfilter/Makefile delete mode 100644 src/fnetfilter/Makefile.in create mode 100644 src/fnettrace-dns/Makefile delete mode 100644 src/fnettrace-dns/Makefile.in create mode 100644 src/fnettrace-sni/Makefile delete mode 100644 src/fnettrace-sni/Makefile.in create mode 100644 src/fnettrace/Makefile delete mode 100644 src/fnettrace/Makefile.in create mode 100644 src/fsec-optimize/Makefile delete mode 100644 src/fsec-optimize/Makefile.in create mode 100644 src/fsec-print/Makefile delete mode 100644 src/fsec-print/Makefile.in create mode 100644 src/fseccomp/Makefile delete mode 100644 src/fseccomp/Makefile.in create mode 100644 src/ftee/Makefile delete mode 100644 src/ftee/Makefile.in create mode 100644 src/fzenity/Makefile delete mode 100644 src/fzenity/Makefile.in create mode 100644 src/jailcheck/Makefile delete mode 100644 src/jailcheck/Makefile.in create mode 100644 src/lib/Makefile delete mode 100644 src/lib/Makefile.in create mode 100644 src/libpostexecseccomp/Makefile delete mode 100644 src/libpostexecseccomp/Makefile.in create mode 100644 src/libtrace/Makefile delete mode 100644 src/libtrace/Makefile.in create mode 100644 src/libtracelog/Makefile delete mode 100644 src/libtracelog/Makefile.in create mode 100644 src/man/Makefile delete mode 100644 src/man/Makefile.in create mode 100644 src/profstats/Makefile delete mode 100644 src/profstats/Makefile.in create mode 100644 src/zsh_completion/Makefile delete mode 100644 src/zsh_completion/Makefile.in create mode 100644 test/Makefile delete mode 100644 test/Makefile.in diff --git a/.gitignore b/.gitignore index 70dba09b2..66daccf5d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,6 @@ .directory *.man .vscode -Makefile autom4te.cache/ config.log config.mk @@ -25,7 +24,6 @@ firejail.1 firemon.1 firecfg.1 jailcheck.1 -mkdeb.sh src/fnettrace-dns/fnettrace-dns src/fnettrace-sni/fnettrace-sni src/firejail/firejail @@ -57,7 +55,6 @@ seccomp.64 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32 -src/common.mk aclocal.m4 __pycache__ *.pyc diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..c235aff7c --- /dev/null +++ b/Makefile @@ -0,0 +1,307 @@ +include config.mk + +ifneq ($(HAVE_MAN),no) +MAN_TARGET = man +MAN_SRC = src/man +endif + +COMPLETIONDIRS = src/zsh_completion src/bash_completion + +.PHONY: all +all: all_items mydirs $(MAN_TARGET) filters +APPS = src/firecfg/firecfg src/firejail/firejail src/firemon/firemon src/profstats/profstats src/jailcheck/jailcheck +SBOX_APPS = src/fbuilder/fbuilder src/ftee/ftee src/fids/fids +SBOX_APPS_NON_DUMPABLE = src/fcopy/fcopy src/fldd/fldd src/fnet/fnet src/fnetfilter/fnetfilter src/fzenity/fzenity +SBOX_APPS_NON_DUMPABLE += src/fsec-optimize/fsec-optimize src/fsec-print/fsec-print src/fseccomp/fseccomp +SBOX_APPS_NON_DUMPABLE += src/fnettrace/fnettrace src/fnettrace-dns/fnettrace-dns src/fnettrace-sni/fnettrace-sni +MYDIRS = src/lib $(MAN_SRC) $(COMPLETIONDIRS) +MYLIBS = src/libpostexecseccomp/libpostexecseccomp.so src/libtrace/libtrace.so src/libtracelog/libtracelog.so +COMPLETIONS = src/zsh_completion/_firejail src/bash_completion/firejail.bash_completion +MANPAGES = firejail.1 firemon.1 firecfg.1 firejail-profile.5 firejail-login.5 firejail-users.5 jailcheck.1 +SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32 +ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS) + +.PHONY: all_items $(ALL_ITEMS) +all_items: $(ALL_ITEMS) +$(ALL_ITEMS): $(MYDIRS) + $(MAKE) -C $(dir $@) + +.PHONY: mydirs $(MYDIRS) +mydirs: $(MYDIRS) +$(MYDIRS): + $(MAKE) -C $@ + +$(MANPAGES): src/man + ./mkman.sh $(VERSION) src/man/$(basename $@).man $@ + +man: $(MANPAGES) + +filters: $(SECCOMP_FILTERS) $(SBOX_APPS_NON_DUMPABLE) +seccomp: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize + src/fseccomp/fseccomp default seccomp + src/fsec-optimize/fsec-optimize seccomp + +seccomp.debug: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize + src/fseccomp/fseccomp default seccomp.debug allow-debuggers + src/fsec-optimize/fsec-optimize seccomp.debug + +seccomp.32: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize + src/fseccomp/fseccomp secondary 32 seccomp.32 + src/fsec-optimize/fsec-optimize seccomp.32 + +seccomp.block_secondary: src/fseccomp/fseccomp + src/fseccomp/fseccomp secondary block seccomp.block_secondary + +seccomp.mdwx: src/fseccomp/fseccomp + src/fseccomp/fseccomp memory-deny-write-execute seccomp.mdwx + +seccomp.mdwx.32: src/fseccomp/fseccomp + src/fseccomp/fseccomp memory-deny-write-execute.32 seccomp.mdwx.32 + +.PHONY: clean +clean: + for dir in $$(dirname $(ALL_ITEMS)) $(MYDIRS); do \ + $(MAKE) -C $$dir clean; \ + done + $(MAKE) -C test clean + rm -f $(MANPAGES) $(MANPAGES:%=%.gz) firejail*.rpm + rm -f $(SECCOMP_FILTERS) + rm -f test/utils/index.html* + rm -f test/utils/wget-log + rm -f test/utils/firejail-test-file* + rm -f test/utils/lstesting + rm -f test/environment/index.html* + rm -f test/environment/wget-log* + rm -fr test/environment/-testdir + rm -f test/environment/logfile* + rm -f test/environment/index.html + rm -f test/environment/wget-log + rm -f test/sysutils/firejail_t* + cd test/compile; ./compile.sh --clean; cd ../.. + +.PHONY: distclean +distclean: clean + for dir in $$(dirname $(ALL_ITEMS)) $(MYDIRS); do \ + $(MAKE) -C $$dir distclean; \ + done + $(MAKE) -C test distclean + rm -fr autom4te.cache config.log config.mk config.sh config.status + +realinstall: + # firejail executable + install -m 0755 -d $(DESTDIR)$(bindir) + install -m 0755 src/firejail/firejail $(DESTDIR)$(bindir) +ifeq ($(HAVE_SUID),-DHAVE_SUID) + chmod u+s $(DESTDIR)$(bindir)/firejail +endif + # firemon executable + install -m 0755 src/firemon/firemon $(DESTDIR)$(bindir) + # firecfg executable + install -m 0755 src/firecfg/firecfg $(DESTDIR)$(bindir) + # jailcheck executable + install -m 0755 src/jailcheck/jailcheck $(DESTDIR)$(bindir) + # libraries and plugins + install -m 0755 -d $(DESTDIR)$(libdir)/firejail + install -m 0755 -t $(DESTDIR)$(libdir)/firejail src/firecfg/firejail-welcome.sh + install -m 0644 -t $(DESTDIR)$(libdir)/firejail $(MYLIBS) $(SECCOMP_FILTERS) + install -m 0755 -t $(DESTDIR)$(libdir)/firejail $(SBOX_APPS) + install -m 0755 -t $(DESTDIR)$(libdir)/firejail src/profstats/profstats + # plugins w/o read permission (non-dumpable) + install -m 0711 -t $(DESTDIR)$(libdir)/firejail $(SBOX_APPS_NON_DUMPABLE) + install -m 0711 -t $(DESTDIR)$(libdir)/firejail src/fshaper/fshaper.sh + install -m 0644 -t $(DESTDIR)$(libdir)/firejail src/fnettrace/static-ip-map +ifeq ($(HAVE_CONTRIB_INSTALL),yes) + # contrib scripts + install -m 0755 -t $(DESTDIR)$(libdir)/firejail contrib/*.py contrib/*.sh + # vim syntax + install -m 0755 -d $(DESTDIR)$(datarootdir)/vim/vimfiles/ftdetect + install -m 0755 -d $(DESTDIR)$(datarootdir)/vim/vimfiles/syntax + install -m 0644 contrib/vim/ftdetect/firejail.vim $(DESTDIR)$(datarootdir)/vim/vimfiles/ftdetect + install -m 0644 contrib/vim/syntax/firejail.vim $(DESTDIR)$(datarootdir)/vim/vimfiles/syntax +endif + # documents + install -m 0755 -d $(DESTDIR)$(DOCDIR) + install -m 0644 -t $(DESTDIR)$(DOCDIR) COPYING README RELNOTES etc/templates/* + # profiles and settings + install -m 0755 -d $(DESTDIR)$(sysconfdir)/firejail + install -m 0644 -t $(DESTDIR)$(sysconfdir)/firejail src/firecfg/firecfg.config + install -m 0644 -t $(DESTDIR)$(sysconfdir)/firejail etc/profile-a-l/*.profile etc/profile-m-z/*.profile etc/inc/*.inc etc/net/*.net etc/firejail.config etc/ids.config + sh -c "if [ ! -f $(DESTDIR)/$(sysconfdir)/firejail/login.users ]; then install -c -m 0644 etc/login.users $(DESTDIR)/$(sysconfdir)/firejail/.; fi;" +ifeq ($(BUSYBOX_WORKAROUND),yes) + ./mketc.sh $(DESTDIR)$(sysconfdir)/firejail/disable-common.inc +endif +ifeq ($(HAVE_APPARMOR),-DHAVE_APPARMOR) + # install apparmor profile + sh -c "if [ ! -d $(DESTDIR)/$(sysconfdir)/apparmor.d ]; then install -d -m 755 $(DESTDIR)/$(sysconfdir)/apparmor.d; fi;" + install -m 0644 etc/apparmor/firejail-default $(DESTDIR)$(sysconfdir)/apparmor.d + # install apparmor profile customization file + sh -c "if [ ! -d $(DESTDIR)/$(sysconfdir)/apparmor.d/local ]; then install -d -m 755 $(DESTDIR)/$(sysconfdir)/apparmor.d/local; fi;" + sh -c "if [ ! -f $(DESTDIR)/$(sysconfdir)/apparmor.d/local/firejail-default ]; then install -c -m 0644 etc/apparmor/firejail-local $(DESTDIR)/$(sysconfdir)/apparmor.d/local/firejail-default; fi;" + # install apparmor base abstraction drop-in + sh -c "if [ ! -d $(DESTDIR)/$(sysconfdir)/apparmor.d/abstractions ]; then install -d -m 755 $(DESTDIR)/$(sysconfdir)/apparmor.d/abstractions; fi;" + sh -c "if [ ! -d $(DESTDIR)/$(sysconfdir)/apparmor.d/abstractions/base.d ]; then install -d -m 755 $(DESTDIR)/$(sysconfdir)/apparmor.d/abstractions/base.d; fi;" + install -m 0644 etc/apparmor/firejail-base $(DESTDIR)$(sysconfdir)/apparmor.d/abstractions/base.d +endif +ifneq ($(HAVE_MAN),no) + # man pages + install -m 0755 -d $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 + for man in $(MANPAGES); do \ + rm -f $$man.gz; \ + gzip -9n $$man; \ + case "$$man" in \ + *.1) install -m 0644 $$man.gz $(DESTDIR)$(mandir)/man1/; ;; \ + *.5) install -m 0644 $$man.gz $(DESTDIR)$(mandir)/man5/; ;; \ + esac; \ + done + rm -f $(MANPAGES) $(MANPAGES:%=%.gz) +endif + # bash completion + install -m 0755 -d $(DESTDIR)$(datarootdir)/bash-completion/completions + install -m 0644 src/bash_completion/firejail.bash_completion $(DESTDIR)$(datarootdir)/bash-completion/completions/firejail + install -m 0644 src/bash_completion/firemon.bash_completion $(DESTDIR)$(datarootdir)/bash-completion/completions/firemon + install -m 0644 src/bash_completion/firecfg.bash_completion $(DESTDIR)$(datarootdir)/bash-completion/completions/firecfg + # zsh completion + install -m 0755 -d $(DESTDIR)$(datarootdir)/zsh/site-functions + install -m 0644 src/zsh_completion/_firejail $(DESTDIR)$(datarootdir)/zsh/site-functions/ + +install: all + $(MAKE) realinstall + +install-strip: all + strip $(ALL_ITEMS) + $(MAKE) realinstall + +uninstall: + rm -f $(DESTDIR)$(bindir)/firejail + rm -f $(DESTDIR)$(bindir)/firemon + rm -f $(DESTDIR)$(bindir)/firecfg + rm -fr $(DESTDIR)$(libdir)/firejail + rm -fr $(DESTDIR)$(libdir)/jailcheck + rm -fr $(DESTDIR)$(datarootdir)/doc/firejail + for man in $(MANPAGES); do \ + rm -f $(DESTDIR)$(mandir)/man5/$$man*; \ + rm -f $(DESTDIR)$(mandir)/man1/$$man*; \ + done + rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/firejail + rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/firemon + rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/firecfg + @echo "If you want to install a different version of firejail, you might also need to run 'rm -fr $(DESTDIR)$(sysconfdir)/firejail', see #2038." + +DISTFILES = \ +COPYING \ +Makefile \ +README \ +RELNOTES \ +config.mk.in \ +config.sh.in \ +configure \ +configure.ac \ +contrib \ +etc \ +install.sh \ +m4 \ +mkdeb.sh \ +mketc.sh \ +mkman.sh \ +platform \ +src + +DISTFILES_TEST = test/Makefile test/apps test/apps-x11 test/apps-x11-xorg test/root test/private-lib test/fnetfilter test/fcopy test/environment test/profiles test/utils test/compile test/filters test/network test/fs test/sysutils test/chroot + +dist: + mv config.sh config.sh.old + mv config.status config.status.old + make distclean + mv config.status.old config.status + mv config.sh.old config.sh + rm -fr $(NAME)-$(VERSION) $(NAME)-$(VERSION).tar.xz + mkdir -p $(NAME)-$(VERSION)/test + cp -a $(DISTFILES) $(NAME)-$(VERSION) + cp -a $(DISTFILES_TEST) $(NAME)-$(VERSION)/test + rm -rf $(NAME)-$(VERSION)/src/tools + find $(NAME)-$(VERSION) -name .svn -delete + tar -cJvf $(NAME)-$(VERSION).tar.xz $(NAME)-$(VERSION) + rm -fr $(NAME)-$(VERSION) + +asc:; ./mkasc.sh $(VERSION) + +deb: dist + ./mkdeb.sh + +deb-apparmor: dist + ./mkdeb.sh -apparmor --enable-apparmor + +test-compile: dist + cd test/compile; ./compile.sh $(NAME)-$(VERSION) + +.PHONY: rpms +rpms: src/man + ./platform/rpm/mkrpm.sh $(NAME) $(VERSION) + +extras: all + $(MAKE) -C extras/firetools + +cppcheck: clean + cppcheck --force --error-exitcode=1 --enable=warning,performance . + +scan-build: clean + NO_EXTRA_CFLAGS="yes" scan-build make + +# +# make test +# + +TESTS=profiles private-lib apps apps-x11 apps-x11-xorg sysutils utils environment filters fs fcopy fnetfilter +TEST_TARGETS=$(patsubst %,test-%,$(TESTS)) + +$(TEST_TARGETS): + $(MAKE) -C test $(subst test-,,$@) + +test: test-profiles test-private-lib test-fcopy test-fnetfilter test-fs test-utils test-sysutils test-environment test-apps test-apps-x11 test-apps-x11-xorg test-filters + echo "TEST COMPLETE" + +test-noprofiles: test-private-lib test-fcopy test-fnetfilter test-fs test-utils test-sysutils test-environment test-apps test-apps-x11 test-apps-x11-xorg test-filters + echo "TEST COMPLETE" + +test-github: test-profiles test-fcopy test-fnetfilter test-fs test-utils test-sysutils test-environment + echo "TEST COMPLETE" + +########################################## +# Individual tests, some of them require root access +# The tests are very intrusive, by the time you are done +# with them you will need to restart your computer. +########################################## + +# a firejail-test account is required, public/private key setup +test-ssh: + $(MAKE) -C test $(subst test-,,$@) + +# requires root access +test-chroot: + $(MAKE) -C test $(subst test-,,$@) + +# Huge appimage files, not included in "make dist" archive +test-appimage: + $(MAKE) -C test $(subst test-,,$@) + +# Root access, network devices are created before the test +# restart your computer to get rid of these devices +test-network: + $(MAKE) -C test $(subst test-,,$@) + +# requires the same setup as test-network +test-stress: + $(MAKE) -C test $(subst test-,,$@) + +# Tests running a root user +test-root: + $(MAKE) -C test $(subst test-,,$@) + +# OverlayFS is not available on all platforms +test-overlay: + $(MAKE) -C test $(subst test-,,$@) + +# For testing hidepid system, the command to set it up is "mount -o remount,rw,hidepid=2 /proc" + +test-all: test-root test-chroot test-network test-appimage test-overlay + echo "TEST COMPLETE" diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 4d9983672..000000000 --- a/Makefile.in +++ /dev/null @@ -1,309 +0,0 @@ -include config.mk - -ifneq ($(HAVE_MAN),no) -MAN_TARGET = man -MAN_SRC = src/man -endif - -COMPLETIONDIRS = src/zsh_completion src/bash_completion - -.PHONY: all -all: all_items mydirs $(MAN_TARGET) filters -APPS = src/firecfg/firecfg src/firejail/firejail src/firemon/firemon src/profstats/profstats src/jailcheck/jailcheck -SBOX_APPS = src/fbuilder/fbuilder src/ftee/ftee src/fids/fids -SBOX_APPS_NON_DUMPABLE = src/fcopy/fcopy src/fldd/fldd src/fnet/fnet src/fnetfilter/fnetfilter src/fzenity/fzenity -SBOX_APPS_NON_DUMPABLE += src/fsec-optimize/fsec-optimize src/fsec-print/fsec-print src/fseccomp/fseccomp -SBOX_APPS_NON_DUMPABLE += src/fnettrace/fnettrace src/fnettrace-dns/fnettrace-dns src/fnettrace-sni/fnettrace-sni -MYDIRS = src/lib $(MAN_SRC) $(COMPLETIONDIRS) -MYLIBS = src/libpostexecseccomp/libpostexecseccomp.so src/libtrace/libtrace.so src/libtracelog/libtracelog.so -COMPLETIONS = src/zsh_completion/_firejail src/bash_completion/firejail.bash_completion -MANPAGES = firejail.1 firemon.1 firecfg.1 firejail-profile.5 firejail-login.5 firejail-users.5 jailcheck.1 -SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32 -ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS) - -.PHONY: all_items $(ALL_ITEMS) -all_items: $(ALL_ITEMS) -$(ALL_ITEMS): $(MYDIRS) - $(MAKE) -C $(dir $@) - -.PHONY: mydirs $(MYDIRS) -mydirs: $(MYDIRS) -$(MYDIRS): - $(MAKE) -C $@ - -$(MANPAGES): src/man - ./mkman.sh $(VERSION) src/man/$(basename $@).man $@ - -man: $(MANPAGES) - -filters: $(SECCOMP_FILTERS) $(SBOX_APPS_NON_DUMPABLE) -seccomp: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize - src/fseccomp/fseccomp default seccomp - src/fsec-optimize/fsec-optimize seccomp - -seccomp.debug: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize - src/fseccomp/fseccomp default seccomp.debug allow-debuggers - src/fsec-optimize/fsec-optimize seccomp.debug - -seccomp.32: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize - src/fseccomp/fseccomp secondary 32 seccomp.32 - src/fsec-optimize/fsec-optimize seccomp.32 - -seccomp.block_secondary: src/fseccomp/fseccomp - src/fseccomp/fseccomp secondary block seccomp.block_secondary - -seccomp.mdwx: src/fseccomp/fseccomp - src/fseccomp/fseccomp memory-deny-write-execute seccomp.mdwx - -seccomp.mdwx.32: src/fseccomp/fseccomp - src/fseccomp/fseccomp memory-deny-write-execute.32 seccomp.mdwx.32 - -.PHONY: clean -clean: - for dir in $$(dirname $(ALL_ITEMS)) $(MYDIRS); do \ - $(MAKE) -C $$dir clean; \ - done - $(MAKE) -C test clean - rm -f $(MANPAGES) $(MANPAGES:%=%.gz) firejail*.rpm - rm -f $(SECCOMP_FILTERS) - rm -f test/utils/index.html* - rm -f test/utils/wget-log - rm -f test/utils/firejail-test-file* - rm -f test/utils/lstesting - rm -f test/environment/index.html* - rm -f test/environment/wget-log* - rm -fr test/environment/-testdir - rm -f test/environment/logfile* - rm -f test/environment/index.html - rm -f test/environment/wget-log - rm -f test/sysutils/firejail_t* - cd test/compile; ./compile.sh --clean; cd ../.. - -.PHONY: distclean -distclean: clean - for dir in $$(dirname $(ALL_ITEMS)) $(MYDIRS); do \ - $(MAKE) -C $$dir distclean; \ - done - $(MAKE) -C test distclean - rm -fr Makefile autom4te.cache config.log config.mk config.sh config.status src/common.mk mkdeb.sh - -realinstall: - # firejail executable - install -m 0755 -d $(DESTDIR)$(bindir) - install -m 0755 src/firejail/firejail $(DESTDIR)$(bindir) -ifeq ($(HAVE_SUID),-DHAVE_SUID) - chmod u+s $(DESTDIR)$(bindir)/firejail -endif - # firemon executable - install -m 0755 src/firemon/firemon $(DESTDIR)$(bindir) - # firecfg executable - install -m 0755 src/firecfg/firecfg $(DESTDIR)$(bindir) - # jailcheck executable - install -m 0755 src/jailcheck/jailcheck $(DESTDIR)$(bindir) - # libraries and plugins - install -m 0755 -d $(DESTDIR)$(libdir)/firejail - install -m 0755 -t $(DESTDIR)$(libdir)/firejail src/firecfg/firejail-welcome.sh - install -m 0644 -t $(DESTDIR)$(libdir)/firejail $(MYLIBS) $(SECCOMP_FILTERS) - install -m 0755 -t $(DESTDIR)$(libdir)/firejail $(SBOX_APPS) - install -m 0755 -t $(DESTDIR)$(libdir)/firejail src/profstats/profstats - # plugins w/o read permission (non-dumpable) - install -m 0711 -t $(DESTDIR)$(libdir)/firejail $(SBOX_APPS_NON_DUMPABLE) - install -m 0711 -t $(DESTDIR)$(libdir)/firejail src/fshaper/fshaper.sh - install -m 0644 -t $(DESTDIR)$(libdir)/firejail src/fnettrace/static-ip-map -ifeq ($(HAVE_CONTRIB_INSTALL),yes) - # contrib scripts - install -m 0755 -t $(DESTDIR)$(libdir)/firejail contrib/*.py contrib/*.sh - # vim syntax - install -m 0755 -d $(DESTDIR)$(datarootdir)/vim/vimfiles/ftdetect - install -m 0755 -d $(DESTDIR)$(datarootdir)/vim/vimfiles/syntax - install -m 0644 contrib/vim/ftdetect/firejail.vim $(DESTDIR)$(datarootdir)/vim/vimfiles/ftdetect - install -m 0644 contrib/vim/syntax/firejail.vim $(DESTDIR)$(datarootdir)/vim/vimfiles/syntax -endif - # documents - install -m 0755 -d $(DESTDIR)$(DOCDIR) - install -m 0644 -t $(DESTDIR)$(DOCDIR) COPYING README RELNOTES etc/templates/* - # profiles and settings - install -m 0755 -d $(DESTDIR)$(sysconfdir)/firejail - install -m 0644 -t $(DESTDIR)$(sysconfdir)/firejail src/firecfg/firecfg.config - install -m 0644 -t $(DESTDIR)$(sysconfdir)/firejail etc/profile-a-l/*.profile etc/profile-m-z/*.profile etc/inc/*.inc etc/net/*.net etc/firejail.config etc/ids.config - sh -c "if [ ! -f $(DESTDIR)/$(sysconfdir)/firejail/login.users ]; then install -c -m 0644 etc/login.users $(DESTDIR)/$(sysconfdir)/firejail/.; fi;" -ifeq ($(BUSYBOX_WORKAROUND),yes) - ./mketc.sh $(DESTDIR)$(sysconfdir)/firejail/disable-common.inc -endif -ifeq ($(HAVE_APPARMOR),-DHAVE_APPARMOR) - # install apparmor profile - sh -c "if [ ! -d $(DESTDIR)/$(sysconfdir)/apparmor.d ]; then install -d -m 755 $(DESTDIR)/$(sysconfdir)/apparmor.d; fi;" - install -m 0644 etc/apparmor/firejail-default $(DESTDIR)$(sysconfdir)/apparmor.d - # install apparmor profile customization file - sh -c "if [ ! -d $(DESTDIR)/$(sysconfdir)/apparmor.d/local ]; then install -d -m 755 $(DESTDIR)/$(sysconfdir)/apparmor.d/local; fi;" - sh -c "if [ ! -f $(DESTDIR)/$(sysconfdir)/apparmor.d/local/firejail-default ]; then install -c -m 0644 etc/apparmor/firejail-local $(DESTDIR)/$(sysconfdir)/apparmor.d/local/firejail-default; fi;" - # install apparmor base abstraction drop-in - sh -c "if [ ! -d $(DESTDIR)/$(sysconfdir)/apparmor.d/abstractions ]; then install -d -m 755 $(DESTDIR)/$(sysconfdir)/apparmor.d/abstractions; fi;" - sh -c "if [ ! -d $(DESTDIR)/$(sysconfdir)/apparmor.d/abstractions/base.d ]; then install -d -m 755 $(DESTDIR)/$(sysconfdir)/apparmor.d/abstractions/base.d; fi;" - install -m 0644 etc/apparmor/firejail-base $(DESTDIR)$(sysconfdir)/apparmor.d/abstractions/base.d -endif -ifneq ($(HAVE_MAN),no) - # man pages - install -m 0755 -d $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 - for man in $(MANPAGES); do \ - rm -f $$man.gz; \ - gzip -9n $$man; \ - case "$$man" in \ - *.1) install -m 0644 $$man.gz $(DESTDIR)$(mandir)/man1/; ;; \ - *.5) install -m 0644 $$man.gz $(DESTDIR)$(mandir)/man5/; ;; \ - esac; \ - done - rm -f $(MANPAGES) $(MANPAGES:%=%.gz) -endif - # bash completion - install -m 0755 -d $(DESTDIR)$(datarootdir)/bash-completion/completions - install -m 0644 src/bash_completion/firejail.bash_completion $(DESTDIR)$(datarootdir)/bash-completion/completions/firejail - install -m 0644 src/bash_completion/firemon.bash_completion $(DESTDIR)$(datarootdir)/bash-completion/completions/firemon - install -m 0644 src/bash_completion/firecfg.bash_completion $(DESTDIR)$(datarootdir)/bash-completion/completions/firecfg - # zsh completion - install -m 0755 -d $(DESTDIR)$(datarootdir)/zsh/site-functions - install -m 0644 src/zsh_completion/_firejail $(DESTDIR)$(datarootdir)/zsh/site-functions/ - -install: all - $(MAKE) realinstall - -install-strip: all - strip $(ALL_ITEMS) - $(MAKE) realinstall - -uninstall: - rm -f $(DESTDIR)$(bindir)/firejail - rm -f $(DESTDIR)$(bindir)/firemon - rm -f $(DESTDIR)$(bindir)/firecfg - rm -fr $(DESTDIR)$(libdir)/firejail - rm -fr $(DESTDIR)$(libdir)/jailcheck - rm -fr $(DESTDIR)$(datarootdir)/doc/firejail - for man in $(MANPAGES); do \ - rm -f $(DESTDIR)$(mandir)/man5/$$man*; \ - rm -f $(DESTDIR)$(mandir)/man1/$$man*; \ - done - rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/firejail - rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/firemon - rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/firecfg - @echo "If you want to install a different version of firejail, you might also need to run 'rm -fr $(DESTDIR)$(sysconfdir)/firejail', see #2038." - -DISTFILES = \ -COPYING \ -Makefile.in \ -README \ -RELNOTES \ -config.mk.in \ -config.sh.in \ -configure \ -configure.ac \ -contrib \ -etc \ -install.sh \ -m4 \ -mkdeb.sh.in \ -mketc.sh \ -mkman.sh \ -platform \ -src - -DISTFILES_TEST = test/Makefile.in test/apps test/apps-x11 test/apps-x11-xorg test/root test/private-lib test/fnetfilter test/fcopy test/environment test/profiles test/utils test/compile test/filters test/network test/fs test/sysutils test/chroot - -dist: - mv config.sh config.sh.old - mv config.status config.status.old - mv mkdeb.sh mkdeb.sh.old - make distclean - mv mkdeb.sh.old mkdeb.sh - mv config.status.old config.status - mv config.sh.old config.sh - rm -fr $(NAME)-$(VERSION) $(NAME)-$(VERSION).tar.xz - mkdir -p $(NAME)-$(VERSION)/test - cp -a $(DISTFILES) $(NAME)-$(VERSION) - cp -a $(DISTFILES_TEST) $(NAME)-$(VERSION)/test - rm -rf $(NAME)-$(VERSION)/src/tools - find $(NAME)-$(VERSION) -name .svn -delete - tar -cJvf $(NAME)-$(VERSION).tar.xz $(NAME)-$(VERSION) - rm -fr $(NAME)-$(VERSION) - -asc:; ./mkasc.sh $(VERSION) - -deb: dist - ./mkdeb.sh - -deb-apparmor: dist - ./mkdeb.sh -apparmor --enable-apparmor - -test-compile: dist - cd test/compile; ./compile.sh $(NAME)-$(VERSION) - -.PHONY: rpms -rpms: src/man - ./platform/rpm/mkrpm.sh $(NAME) $(VERSION) - -extras: all - $(MAKE) -C extras/firetools - -cppcheck: clean - cppcheck --force --error-exitcode=1 --enable=warning,performance . - -scan-build: clean - NO_EXTRA_CFLAGS="yes" scan-build make - -# -# make test -# - -TESTS=profiles private-lib apps apps-x11 apps-x11-xorg sysutils utils environment filters fs fcopy fnetfilter -TEST_TARGETS=$(patsubst %,test-%,$(TESTS)) - -$(TEST_TARGETS): - $(MAKE) -C test $(subst test-,,$@) - -test: test-profiles test-private-lib test-fcopy test-fnetfilter test-fs test-utils test-sysutils test-environment test-apps test-apps-x11 test-apps-x11-xorg test-filters - echo "TEST COMPLETE" - -test-noprofiles: test-private-lib test-fcopy test-fnetfilter test-fs test-utils test-sysutils test-environment test-apps test-apps-x11 test-apps-x11-xorg test-filters - echo "TEST COMPLETE" - -test-github: test-profiles test-fcopy test-fnetfilter test-fs test-utils test-sysutils test-environment - echo "TEST COMPLETE" - -########################################## -# Individual tests, some of them require root access -# The tests are very intrusive, by the time you are done -# with them you will need to restart your computer. -########################################## - -# a firejail-test account is required, public/private key setup -test-ssh: - $(MAKE) -C test $(subst test-,,$@) - -# requires root access -test-chroot: - $(MAKE) -C test $(subst test-,,$@) - -# Huge appimage files, not included in "make dist" archive -test-appimage: - $(MAKE) -C test $(subst test-,,$@) - -# Root access, network devices are created before the test -# restart your computer to get rid of these devices -test-network: - $(MAKE) -C test $(subst test-,,$@) - -# requires the same setup as test-network -test-stress: - $(MAKE) -C test $(subst test-,,$@) - -# Tests running a root user -test-root: - $(MAKE) -C test $(subst test-,,$@) - -# OverlayFS is not available on all platforms -test-overlay: - $(MAKE) -C test $(subst test-,,$@) - -# For testing hidepid system, the command to set it up is "mount -o remount,rw,hidepid=2 /proc" - -test-all: test-root test-chroot test-network test-appimage test-overlay - echo "TEST COMPLETE" diff --git a/configure b/configure index a2d2e7530..f3bd77169 100755 --- a/configure +++ b/configure @@ -4085,9 +4085,7 @@ if test "$prefix" = /usr; then test "$sysconfdir" = '${prefix}/etc' && sysconfdir="/etc" fi -ac_config_files="$ac_config_files mkdeb.sh" - -ac_config_files="$ac_config_files Makefile config.mk config.sh src/bash_completion/Makefile src/common.mk src/fbuilder/Makefile src/fcopy/Makefile src/fids/Makefile src/firecfg/Makefile src/firejail/Makefile src/firemon/Makefile src/fldd/Makefile src/fnet/Makefile src/fnetfilter/Makefile src/fnettrace-dns/Makefile src/fnettrace-sni/Makefile src/fnettrace/Makefile src/fsec-optimize/Makefile src/fsec-print/Makefile src/fseccomp/Makefile src/ftee/Makefile src/fzenity/Makefile src/jailcheck/Makefile src/lib/Makefile src/libpostexecseccomp/Makefile src/libtrace/Makefile src/libtracelog/Makefile src/man/Makefile src/profstats/Makefile src/zsh_completion/Makefile test/Makefile" +ac_config_files="$ac_config_files config.mk config.sh" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -4795,38 +4793,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 for ac_config_target in $ac_config_targets do case $ac_config_target in - "mkdeb.sh") CONFIG_FILES="$CONFIG_FILES mkdeb.sh" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; "config.sh") CONFIG_FILES="$CONFIG_FILES config.sh" ;; - "src/bash_completion/Makefile") CONFIG_FILES="$CONFIG_FILES src/bash_completion/Makefile" ;; - "src/common.mk") CONFIG_FILES="$CONFIG_FILES src/common.mk" ;; - "src/fbuilder/Makefile") CONFIG_FILES="$CONFIG_FILES src/fbuilder/Makefile" ;; - "src/fcopy/Makefile") CONFIG_FILES="$CONFIG_FILES src/fcopy/Makefile" ;; - "src/fids/Makefile") CONFIG_FILES="$CONFIG_FILES src/fids/Makefile" ;; - "src/firecfg/Makefile") CONFIG_FILES="$CONFIG_FILES src/firecfg/Makefile" ;; - "src/firejail/Makefile") CONFIG_FILES="$CONFIG_FILES src/firejail/Makefile" ;; - "src/firemon/Makefile") CONFIG_FILES="$CONFIG_FILES src/firemon/Makefile" ;; - "src/fldd/Makefile") CONFIG_FILES="$CONFIG_FILES src/fldd/Makefile" ;; - "src/fnet/Makefile") CONFIG_FILES="$CONFIG_FILES src/fnet/Makefile" ;; - "src/fnetfilter/Makefile") CONFIG_FILES="$CONFIG_FILES src/fnetfilter/Makefile" ;; - "src/fnettrace-dns/Makefile") CONFIG_FILES="$CONFIG_FILES src/fnettrace-dns/Makefile" ;; - "src/fnettrace-sni/Makefile") CONFIG_FILES="$CONFIG_FILES src/fnettrace-sni/Makefile" ;; - "src/fnettrace/Makefile") CONFIG_FILES="$CONFIG_FILES src/fnettrace/Makefile" ;; - "src/fsec-optimize/Makefile") CONFIG_FILES="$CONFIG_FILES src/fsec-optimize/Makefile" ;; - "src/fsec-print/Makefile") CONFIG_FILES="$CONFIG_FILES src/fsec-print/Makefile" ;; - "src/fseccomp/Makefile") CONFIG_FILES="$CONFIG_FILES src/fseccomp/Makefile" ;; - "src/ftee/Makefile") CONFIG_FILES="$CONFIG_FILES src/ftee/Makefile" ;; - "src/fzenity/Makefile") CONFIG_FILES="$CONFIG_FILES src/fzenity/Makefile" ;; - "src/jailcheck/Makefile") CONFIG_FILES="$CONFIG_FILES src/jailcheck/Makefile" ;; - "src/lib/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;; - "src/libpostexecseccomp/Makefile") CONFIG_FILES="$CONFIG_FILES src/libpostexecseccomp/Makefile" ;; - "src/libtrace/Makefile") CONFIG_FILES="$CONFIG_FILES src/libtrace/Makefile" ;; - "src/libtracelog/Makefile") CONFIG_FILES="$CONFIG_FILES src/libtracelog/Makefile" ;; - "src/man/Makefile") CONFIG_FILES="$CONFIG_FILES src/man/Makefile" ;; - "src/profstats/Makefile") CONFIG_FILES="$CONFIG_FILES src/profstats/Makefile" ;; - "src/zsh_completion/Makefile") CONFIG_FILES="$CONFIG_FILES src/zsh_completion/Makefile" ;; - "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac @@ -5240,11 +5208,6 @@ which seems to be undefined. Please make sure it is defined" >&2;} esac - - case $ac_file$ac_mode in - "mkdeb.sh":F) chmod +x mkdeb.sh ;; - - esac done # for ac_tag diff --git a/configure.ac b/configure.ac index 53de0eb1d..8a488ff43 100644 --- a/configure.ac +++ b/configure.ac @@ -282,40 +282,7 @@ if test "$prefix" = /usr; then test "$sysconfdir" = '${prefix}/etc' && sysconfdir="/etc" fi -AC_CONFIG_FILES([mkdeb.sh], [chmod +x mkdeb.sh]) -AC_CONFIG_FILES([ -Makefile -config.mk -config.sh -src/bash_completion/Makefile -src/common.mk -src/fbuilder/Makefile -src/fcopy/Makefile -src/fids/Makefile -src/firecfg/Makefile -src/firejail/Makefile -src/firemon/Makefile -src/fldd/Makefile -src/fnet/Makefile -src/fnetfilter/Makefile -src/fnettrace-dns/Makefile -src/fnettrace-sni/Makefile -src/fnettrace/Makefile -src/fsec-optimize/Makefile -src/fsec-print/Makefile -src/fseccomp/Makefile -src/ftee/Makefile -src/fzenity/Makefile -src/jailcheck/Makefile -src/lib/Makefile -src/libpostexecseccomp/Makefile -src/libtrace/Makefile -src/libtracelog/Makefile -src/man/Makefile -src/profstats/Makefile -src/zsh_completion/Makefile -test/Makefile -]) +AC_CONFIG_FILES([config.mk config.sh]) AC_OUTPUT cat < "$DEBIAN_CTRL_DIR/control" + +mkdir -p "$INSTALL_DIR/usr/share/lintian/overrides/" +install -m644 "$CODE_DIR/platform/debian/firejail.lintian-overrides" "$INSTALL_DIR/usr/share/lintian/overrides/firejail" + +find "$INSTALL_DIR/etc" -type f | sed "s,^$INSTALL_DIR,," | LC_ALL=C sort > "$DEBIAN_CTRL_DIR/conffiles" +chmod 644 "$DEBIAN_CTRL_DIR/conffiles" +find "$INSTALL_DIR" -type d -exec chmod 755 '{}' + +cd "$CODE_DIR" +fakeroot dpkg-deb --build debian +lintian --no-tag-display-limit debian.deb +mv debian.deb "../firejail_${VERSION}${EXTRA_VERSION}_1_$(dpkg-architecture -qDEB_HOST_ARCH).deb" +cd .. +rm -fr "$CODE_DIR" diff --git a/mkdeb.sh.in b/mkdeb.sh.in deleted file mode 100755 index a98261ba6..000000000 --- a/mkdeb.sh.in +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh -# This file is part of Firejail project -# Copyright (C) 2014-2022 Firejail Authors -# License GPL v2 - -# based on http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/ -# a code archive should already be available - -set -e - -. "$(dirname "$0")/config.sh" - -EXTRA_VERSION=$1 - -test "$#" -gt 0 && shift - -CODE_ARCHIVE="$NAME-$VERSION.tar.xz" -CODE_DIR="$NAME-$VERSION" -INSTALL_DIR="${INSTALL_DIR}${CODE_DIR}/debian" -DEBIAN_CTRL_DIR="${DEBIAN_CTRL_DIR}${CODE_DIR}/debian/DEBIAN" - -echo "*****************************************" -echo "code archive: $CODE_ARCHIVE" -echo "code directory: $CODE_DIR" -echo "install directory: $INSTALL_DIR" -echo "debian control directory: $DEBIAN_CTRL_DIR" -echo "*****************************************" - -tar -xJvf "$CODE_ARCHIVE" -#mkdir -p "$INSTALL_DIR" -cd "$CODE_DIR" -./configure --prefix=/usr "$@" -make -j2 -mkdir debian -DESTDIR=debian make install-strip - -cd .. -echo "*****************************************" -SIZE="$(du -s "$INSTALL_DIR")" -echo "install size $SIZE" -echo "*****************************************" - -mv "$INSTALL_DIR/usr/share/doc/firejail/RELNOTES" "$INSTALL_DIR/usr/share/doc/firejail/changelog.Debian" -gzip -9 -n "$INSTALL_DIR/usr/share/doc/firejail/changelog.Debian" -rm "$INSTALL_DIR/usr/share/doc/firejail/COPYING" -install -m644 "$CODE_DIR/platform/debian/copyright" "$INSTALL_DIR/usr/share/doc/firejail/." -mkdir -p "$DEBIAN_CTRL_DIR" -sed "s/FIREJAILVER/$VERSION/g" "$CODE_DIR/platform/debian/control.$(dpkg-architecture -qDEB_HOST_ARCH)" > "$DEBIAN_CTRL_DIR/control" - -mkdir -p "$INSTALL_DIR/usr/share/lintian/overrides/" -install -m644 "$CODE_DIR/platform/debian/firejail.lintian-overrides" "$INSTALL_DIR/usr/share/lintian/overrides/firejail" - -find "$INSTALL_DIR/etc" -type f | sed "s,^$INSTALL_DIR,," | LC_ALL=C sort > "$DEBIAN_CTRL_DIR/conffiles" -chmod 644 "$DEBIAN_CTRL_DIR/conffiles" -find "$INSTALL_DIR" -type d -exec chmod 755 '{}' + -cd "$CODE_DIR" -fakeroot dpkg-deb --build debian -lintian --no-tag-display-limit debian.deb -mv debian.deb "../firejail_${VERSION}${EXTRA_VERSION}_1_$(dpkg-architecture -qDEB_HOST_ARCH).deb" -cd .. -rm -fr "$CODE_DIR" diff --git a/src/bash_completion/Makefile b/src/bash_completion/Makefile new file mode 100644 index 000000000..9157c9225 --- /dev/null +++ b/src/bash_completion/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: firejail.bash_completion + +ROOT = ../.. +include $(ROOT)/config.mk + +firejail.bash_completion: firejail.bash_completion.in + gawk -f ../man/preproc.awk -- $(MANFLAGS) < $< > $@.tmp + sed "s|_SYSCONFDIR_|$(sysconfdir)|" < $@.tmp > $@ + rm $@.tmp + +.PHONY: clean +clean: + rm -fr firejail.bash_completion + +.PHONY: distclean +distclean: clean diff --git a/src/bash_completion/Makefile.in b/src/bash_completion/Makefile.in deleted file mode 100644 index 69f35e7ae..000000000 --- a/src/bash_completion/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: firejail.bash_completion - -ROOT = ../.. -include $(ROOT)/config.mk - -firejail.bash_completion: firejail.bash_completion.in - gawk -f ../man/preproc.awk -- $(MANFLAGS) < $< > $@.tmp - sed "s|_SYSCONFDIR_|$(sysconfdir)|" < $@.tmp > $@ - rm $@.tmp - -.PHONY: clean -clean: - rm -fr firejail.bash_completion - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/common.mk b/src/common.mk new file mode 100644 index 000000000..2b87c33f0 --- /dev/null +++ b/src/common.mk @@ -0,0 +1,16 @@ +# Common definitions for building C programs and non-shared objects. +# +# Note: "ROOT" must be defined before including this file. + +include $(ROOT)/config.mk + +H_FILE_LIST = $(sort $(wildcard *.h)) +C_FILE_LIST = $(sort $(wildcard *.c)) +OBJS = $(C_FILE_LIST:.c=.o) +BINOBJS = $(foreach file, $(OBJS), $file) + +CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' $(HAVE_GCOV) +CFLAGS += -DPREFIX='"$(prefix)"' -DSYSCONFDIR='"$(sysconfdir)/firejail"' -DLIBDIR='"$(libdir)"' -DBINDIR='"$(bindir)"' -DVARDIR='"/var/lib/firejail"' +CFLAGS += $(MANFLAGS) +CFLAGS += -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -Wformat -Wformat-security +LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now diff --git a/src/common.mk.in b/src/common.mk.in deleted file mode 100644 index 2b87c33f0..000000000 --- a/src/common.mk.in +++ /dev/null @@ -1,16 +0,0 @@ -# Common definitions for building C programs and non-shared objects. -# -# Note: "ROOT" must be defined before including this file. - -include $(ROOT)/config.mk - -H_FILE_LIST = $(sort $(wildcard *.h)) -C_FILE_LIST = $(sort $(wildcard *.c)) -OBJS = $(C_FILE_LIST:.c=.o) -BINOBJS = $(foreach file, $(OBJS), $file) - -CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' $(HAVE_GCOV) -CFLAGS += -DPREFIX='"$(prefix)"' -DSYSCONFDIR='"$(sysconfdir)/firejail"' -DLIBDIR='"$(libdir)"' -DBINDIR='"$(bindir)"' -DVARDIR='"/var/lib/firejail"' -CFLAGS += $(MANFLAGS) -CFLAGS += -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -Wformat -Wformat-security -LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now diff --git a/src/fbuilder/Makefile b/src/fbuilder/Makefile new file mode 100644 index 000000000..b769deac9 --- /dev/null +++ b/src/fbuilder/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fbuilder + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fbuilder: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fbuilder *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fbuilder/Makefile.in b/src/fbuilder/Makefile.in deleted file mode 100644 index 060f97493..000000000 --- a/src/fbuilder/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fbuilder - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fbuilder: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fbuilder *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fcopy/Makefile b/src/fcopy/Makefile new file mode 100644 index 000000000..801615878 --- /dev/null +++ b/src/fcopy/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fcopy + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fcopy: $(OBJS) ../lib/common.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fcopy *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fcopy/Makefile.in b/src/fcopy/Makefile.in deleted file mode 100644 index a2a4172a9..000000000 --- a/src/fcopy/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fcopy - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fcopy: $(OBJS) ../lib/common.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fcopy *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fids/Makefile b/src/fids/Makefile new file mode 100644 index 000000000..eed6e44ea --- /dev/null +++ b/src/fids/Makefile @@ -0,0 +1,18 @@ +.PHONY: all +all: fids + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +#fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o +fids: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fids *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fids/Makefile.in b/src/fids/Makefile.in deleted file mode 100644 index 8aac55419..000000000 --- a/src/fids/Makefile.in +++ /dev/null @@ -1,19 +0,0 @@ -.PHONY: all -all: fids - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -#fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o -fids: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fids *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/firecfg/Makefile b/src/firecfg/Makefile new file mode 100644 index 000000000..c06bb5338 --- /dev/null +++ b/src/firecfg/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: firecfg + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/euid_common.h ../include/libnetlink.h ../include/firejail_user.h ../include/pid.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +firecfg: $(OBJS) ../lib/common.o ../lib/firejail_user.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/firejail_user.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o firecfg *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/firecfg/Makefile.in b/src/firecfg/Makefile.in deleted file mode 100644 index d112cc40a..000000000 --- a/src/firecfg/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: firecfg - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/euid_common.h ../include/libnetlink.h ../include/firejail_user.h ../include/pid.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -firecfg: $(OBJS) ../lib/common.o ../lib/firejail_user.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/firejail_user.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o firecfg *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/firejail/Makefile b/src/firejail/Makefile new file mode 100644 index 000000000..ffe978957 --- /dev/null +++ b/src/firejail/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: firejail + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.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 + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o firejail *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/firejail/Makefile.in b/src/firejail/Makefile.in deleted file mode 100644 index 0dec3da98..000000000 --- a/src/firejail/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: firejail - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.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 - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o firejail *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/firemon/Makefile b/src/firemon/Makefile new file mode 100644 index 000000000..45203673b --- /dev/null +++ b/src/firemon/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: firemon + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +firemon: $(OBJS) ../lib/common.o ../lib/pid.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o firemon *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/firemon/Makefile.in b/src/firemon/Makefile.in deleted file mode 100644 index 6ac0cfff1..000000000 --- a/src/firemon/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: firemon - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -firemon: $(OBJS) ../lib/common.o ../lib/pid.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o firemon *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fldd/Makefile b/src/fldd/Makefile new file mode 100644 index 000000000..fdaa202fd --- /dev/null +++ b/src/fldd/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fldd + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h ../include/ldd_utils.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fldd: $(OBJS) ../lib/common.o ../lib/ldd_utils.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fldd *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fldd/Makefile.in b/src/fldd/Makefile.in deleted file mode 100644 index f3842cbee..000000000 --- a/src/fldd/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fldd - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h ../include/ldd_utils.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fldd: $(OBJS) ../lib/common.o ../lib/ldd_utils.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fldd *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fnet/Makefile b/src/fnet/Makefile new file mode 100644 index 000000000..2642fea38 --- /dev/null +++ b/src/fnet/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fnet + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/libnetlink.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fnet: $(OBJS) ../lib/common.o ../lib/libnetlink.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/libnetlink.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fnet *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fnet/Makefile.in b/src/fnet/Makefile.in deleted file mode 100644 index 3d70e50bf..000000000 --- a/src/fnet/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fnet - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/libnetlink.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fnet: $(OBJS) ../lib/common.o ../lib/libnetlink.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/libnetlink.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fnet *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fnetfilter/Makefile b/src/fnetfilter/Makefile new file mode 100644 index 000000000..e0738281a --- /dev/null +++ b/src/fnetfilter/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fnetfilter + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fnetfilter: $(OBJS) ../lib/common.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fnetfilter *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fnetfilter/Makefile.in b/src/fnetfilter/Makefile.in deleted file mode 100644 index 32b4bbada..000000000 --- a/src/fnetfilter/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fnetfilter - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fnetfilter: $(OBJS) ../lib/common.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fnetfilter *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fnettrace-dns/Makefile b/src/fnettrace-dns/Makefile new file mode 100644 index 000000000..9946f545d --- /dev/null +++ b/src/fnettrace-dns/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fnettrace-dns + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fnettrace-dns: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fnettrace-dns *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fnettrace-dns/Makefile.in b/src/fnettrace-dns/Makefile.in deleted file mode 100644 index 7cafe6907..000000000 --- a/src/fnettrace-dns/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fnettrace-dns - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fnettrace-dns: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fnettrace-dns *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fnettrace-sni/Makefile b/src/fnettrace-sni/Makefile new file mode 100644 index 000000000..556727831 --- /dev/null +++ b/src/fnettrace-sni/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fnettrace-sni + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fnettrace-sni: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fnettrace-sni *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fnettrace-sni/Makefile.in b/src/fnettrace-sni/Makefile.in deleted file mode 100644 index 9349d06f8..000000000 --- a/src/fnettrace-sni/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fnettrace-sni - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fnettrace-sni: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fnettrace-sni *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fnettrace/Makefile b/src/fnettrace/Makefile new file mode 100644 index 000000000..406d095ff --- /dev/null +++ b/src/fnettrace/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fnettrace + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fnettrace: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fnettrace *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fnettrace/Makefile.in b/src/fnettrace/Makefile.in deleted file mode 100644 index a7b93194a..000000000 --- a/src/fnettrace/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fnettrace - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fnettrace: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fnettrace *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fsec-optimize/Makefile b/src/fsec-optimize/Makefile new file mode 100644 index 000000000..1ccc2fa8f --- /dev/null +++ b/src/fsec-optimize/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fsec-optimize + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fsec-optimize: $(OBJS) ../lib/common.o ../lib/libnetlink.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fsec-optimize *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fsec-optimize/Makefile.in b/src/fsec-optimize/Makefile.in deleted file mode 100644 index cfd876953..000000000 --- a/src/fsec-optimize/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fsec-optimize - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fsec-optimize: $(OBJS) ../lib/common.o ../lib/libnetlink.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fsec-optimize *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fsec-print/Makefile b/src/fsec-print/Makefile new file mode 100644 index 000000000..b5ba6f160 --- /dev/null +++ b/src/fsec-print/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fsec-print + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fsec-print: $(OBJS) ../lib/common.o ../lib/libnetlink.o ../lib/errno.o ../lib/syscall.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fsec-print *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fsec-print/Makefile.in b/src/fsec-print/Makefile.in deleted file mode 100644 index d07c42405..000000000 --- a/src/fsec-print/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fsec-print - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fsec-print: $(OBJS) ../lib/common.o ../lib/libnetlink.o ../lib/errno.o ../lib/syscall.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fsec-print *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fseccomp/Makefile b/src/fseccomp/Makefile new file mode 100644 index 000000000..527ec0a68 --- /dev/null +++ b/src/fseccomp/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fseccomp + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fseccomp *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fseccomp/Makefile.in b/src/fseccomp/Makefile.in deleted file mode 100644 index 140a56ab0..000000000 --- a/src/fseccomp/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fseccomp - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fseccomp *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/ftee/Makefile b/src/ftee/Makefile new file mode 100644 index 000000000..00c1a2662 --- /dev/null +++ b/src/ftee/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: ftee + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +ftee: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o ftee *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/ftee/Makefile.in b/src/ftee/Makefile.in deleted file mode 100644 index f9ad78de2..000000000 --- a/src/ftee/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: ftee - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -ftee: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o ftee *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/fzenity/Makefile b/src/fzenity/Makefile new file mode 100644 index 000000000..169b78f09 --- /dev/null +++ b/src/fzenity/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fzenity + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +fzenity: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o fzenity *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/fzenity/Makefile.in b/src/fzenity/Makefile.in deleted file mode 100644 index 6b7ce0874..000000000 --- a/src/fzenity/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: fzenity - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -fzenity: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o fzenity *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/jailcheck/Makefile b/src/jailcheck/Makefile new file mode 100644 index 000000000..62e82c9b3 --- /dev/null +++ b/src/jailcheck/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: jailcheck + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +jailcheck: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o jailcheck *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/jailcheck/Makefile.in b/src/jailcheck/Makefile.in deleted file mode 100644 index cf619ad1e..000000000 --- a/src/jailcheck/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: jailcheck - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -jailcheck: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o jailcheck *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/lib/Makefile b/src/lib/Makefile new file mode 100644 index 000000000..bac2d4e93 --- /dev/null +++ b/src/lib/Makefile @@ -0,0 +1,14 @@ +ROOT = ../.. +include $(ROOT)/src/common.mk + +.PHONY: all +all: $(OBJS) + +%.o : %.c $(H_FILE_LIST) + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +.PHONY: clean +clean:; rm -fr $(OBJS) *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in deleted file mode 100644 index 330a47892..000000000 --- a/src/lib/Makefile.in +++ /dev/null @@ -1,15 +0,0 @@ -ROOT = ../.. -include $(ROOT)/src/common.mk - -.PHONY: all -all: $(OBJS) - -%.o : %.c $(H_FILE_LIST) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -.PHONY: clean -clean:; rm -fr $(OBJS) *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/libpostexecseccomp/Makefile b/src/libpostexecseccomp/Makefile new file mode 100644 index 000000000..2f108d8b9 --- /dev/null +++ b/src/libpostexecseccomp/Makefile @@ -0,0 +1,24 @@ +ROOT = ../.. +include $(ROOT)/config.mk + +H_FILE_LIST = $(sort $(wildcard *.h)) +C_FILE_LIST = $(sort $(wildcard *.c)) +OBJS = $(C_FILE_LIST:.c=.o) +BINOBJS = $(foreach file, $(OBJS), $file) +CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security +LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now + +.PHONY: all +all: libpostexecseccomp.so + +%.o : %.c $(H_FILE_LIST) ../include/seccomp.h ../include/rundefs.h + $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ + +libpostexecseccomp.so: $(OBJS) + $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl + +.PHONY: clean +clean:; rm -fr $(OBJS) libpostexecseccomp.so *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/libpostexecseccomp/Makefile.in b/src/libpostexecseccomp/Makefile.in deleted file mode 100644 index 6f354757c..000000000 --- a/src/libpostexecseccomp/Makefile.in +++ /dev/null @@ -1,25 +0,0 @@ -ROOT = ../.. -include $(ROOT)/config.mk - -H_FILE_LIST = $(sort $(wildcard *.h)) -C_FILE_LIST = $(sort $(wildcard *.c)) -OBJS = $(C_FILE_LIST:.c=.o) -BINOBJS = $(foreach file, $(OBJS), $file) -CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security -LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now - -.PHONY: all -all: libpostexecseccomp.so - -%.o : %.c $(H_FILE_LIST) ../include/seccomp.h ../include/rundefs.h - $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ - -libpostexecseccomp.so: $(OBJS) - $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl - -.PHONY: clean -clean:; rm -fr $(OBJS) libpostexecseccomp.so *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/libtrace/Makefile b/src/libtrace/Makefile new file mode 100644 index 000000000..11c75136d --- /dev/null +++ b/src/libtrace/Makefile @@ -0,0 +1,24 @@ +ROOT = ../.. +include $(ROOT)/config.mk + +H_FILE_LIST = $(sort $(wildcard *.h)) +C_FILE_LIST = $(sort $(wildcard *.c)) +OBJS = $(C_FILE_LIST:.c=.o) +BINOBJS = $(foreach file, $(OBJS), $file) +CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security +LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now + +.PHONY: all +all: libtrace.so + +%.o : %.c $(H_FILE_LIST) + $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ + +libtrace.so: $(OBJS) + $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl + +.PHONY: clean +clean:; rm -fr $(OBJS) libtrace.so *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/libtrace/Makefile.in b/src/libtrace/Makefile.in deleted file mode 100644 index ced036865..000000000 --- a/src/libtrace/Makefile.in +++ /dev/null @@ -1,25 +0,0 @@ -ROOT = ../.. -include $(ROOT)/config.mk - -H_FILE_LIST = $(sort $(wildcard *.h)) -C_FILE_LIST = $(sort $(wildcard *.c)) -OBJS = $(C_FILE_LIST:.c=.o) -BINOBJS = $(foreach file, $(OBJS), $file) -CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security -LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now - -.PHONY: all -all: libtrace.so - -%.o : %.c $(H_FILE_LIST) - $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ - -libtrace.so: $(OBJS) - $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl - -.PHONY: clean -clean:; rm -fr $(OBJS) libtrace.so *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/libtracelog/Makefile b/src/libtracelog/Makefile new file mode 100644 index 000000000..d09a8aa1c --- /dev/null +++ b/src/libtracelog/Makefile @@ -0,0 +1,24 @@ +ROOT = ../.. +include $(ROOT)/config.mk + +H_FILE_LIST = $(sort $(wildcard *.h)) +C_FILE_LIST = $(sort $(wildcard *.c)) +OBJS = $(C_FILE_LIST:.c=.o) +BINOBJS = $(foreach file, $(OBJS), $file) +CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security +LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now + +.PHONY: all +all: libtracelog.so + +%.o : %.c $(H_FILE_LIST) ../include/rundefs.h + $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ + +libtracelog.so: $(OBJS) + $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl + +.PHONY: clean +clean:; rm -fr $(OBJS) libtracelog.so *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/libtracelog/Makefile.in b/src/libtracelog/Makefile.in deleted file mode 100644 index 52d4bcb08..000000000 --- a/src/libtracelog/Makefile.in +++ /dev/null @@ -1,25 +0,0 @@ -ROOT = ../.. -include $(ROOT)/config.mk - -H_FILE_LIST = $(sort $(wildcard *.h)) -C_FILE_LIST = $(sort $(wildcard *.c)) -OBJS = $(C_FILE_LIST:.c=.o) -BINOBJS = $(foreach file, $(OBJS), $file) -CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security -LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now - -.PHONY: all -all: libtracelog.so - -%.o : %.c $(H_FILE_LIST) ../include/rundefs.h - $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ - -libtracelog.so: $(OBJS) - $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl - -.PHONY: clean -clean:; rm -fr $(OBJS) libtracelog.so *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/man/Makefile b/src/man/Makefile new file mode 100644 index 000000000..c83a4b7eb --- /dev/null +++ b/src/man/Makefile @@ -0,0 +1,14 @@ +.PHONY: all +all: firecfg.man firejail.man firejail-login.man firejail-users.man firejail-profile.man firemon.man jailcheck.man + +ROOT = ../.. +include $(ROOT)/config.mk + +%.man: %.txt + gawk -f ./preproc.awk -- $(MANFLAGS) < $< > $@ + +.PHONY: clean +clean:; rm -fr *.man + +.PHONY: distclean +distclean: clean diff --git a/src/man/Makefile.in b/src/man/Makefile.in deleted file mode 100644 index a63f9d28e..000000000 --- a/src/man/Makefile.in +++ /dev/null @@ -1,15 +0,0 @@ -.PHONY: all -all: firecfg.man firejail.man firejail-login.man firejail-users.man firejail-profile.man firemon.man jailcheck.man - -ROOT = ../.. -include $(ROOT)/config.mk - -%.man: %.txt - gawk -f ./preproc.awk -- $(MANFLAGS) < $< > $@ - -.PHONY: clean -clean:; rm -fr *.man - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/profstats/Makefile b/src/profstats/Makefile new file mode 100644 index 000000000..0e3b101ef --- /dev/null +++ b/src/profstats/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: profstats + +ROOT = ../.. +include $(ROOT)/src/common.mk + +%.o : %.c $(H_FILE_LIST) ../include/common.h + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ + +profstats: $(OBJS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) + +.PHONY: clean +clean:; rm -fr *.o profstats *.gcov *.gcda *.gcno *.plist + +.PHONY: distclean +distclean: clean diff --git a/src/profstats/Makefile.in b/src/profstats/Makefile.in deleted file mode 100644 index 394f30fda..000000000 --- a/src/profstats/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: profstats - -ROOT = ../.. -include $(ROOT)/src/common.mk - -%.o : %.c $(H_FILE_LIST) ../include/common.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ - -profstats: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) - -.PHONY: clean -clean:; rm -fr *.o profstats *.gcov *.gcda *.gcno *.plist - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/src/zsh_completion/Makefile b/src/zsh_completion/Makefile new file mode 100644 index 000000000..303057b0b --- /dev/null +++ b/src/zsh_completion/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: _firejail + +ROOT = ../.. +include $(ROOT)/config.mk + +_firejail: _firejail.in + gawk -f ../man/preproc.awk -- $(MANFLAGS) < $< > $@.tmp + sed "s|_SYSCONFDIR_|$(sysconfdir)|" < $@.tmp > $@ + rm $@.tmp + +.PHONY: clean +clean: + rm -fr _firejail + +.PHONY: distclean +distclean: clean diff --git a/src/zsh_completion/Makefile.in b/src/zsh_completion/Makefile.in deleted file mode 100644 index fceab1d00..000000000 --- a/src/zsh_completion/Makefile.in +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: _firejail - -ROOT = ../.. -include $(ROOT)/config.mk - -_firejail: _firejail.in - gawk -f ../man/preproc.awk -- $(MANFLAGS) < $< > $@.tmp - sed "s|_SYSCONFDIR_|$(sysconfdir)|" < $@.tmp > $@ - rm $@.tmp - -.PHONY: clean -clean: - rm -fr _firejail - -.PHONY: distclean -distclean: clean - rm -fr Makefile diff --git a/test/Makefile b/test/Makefile new file mode 100644 index 000000000..2f3a97d73 --- /dev/null +++ b/test/Makefile @@ -0,0 +1,13 @@ +TESTS=$(patsubst %/,%,$(wildcard */)) + +.PHONY: $(TESTS) +$(TESTS): + cd $@ && ./$@.sh 2>&1 | tee $@.log + cd $@ && grep -a TESTING $@.log && grep -a -L "TESTING ERROR" $@.log + +.PHONY: clean +clean: + for test in $(TESTS); do rm -f "$$test/$$test.log"; done + +.PHONY: distclean +distclean: clean diff --git a/test/Makefile.in b/test/Makefile.in deleted file mode 100644 index 264314a3b..000000000 --- a/test/Makefile.in +++ /dev/null @@ -1,14 +0,0 @@ -TESTS=$(patsubst %/,%,$(wildcard */)) - -.PHONY: $(TESTS) -$(TESTS): - cd $@ && ./$@.sh 2>&1 | tee $@.log - cd $@ && grep -a TESTING $@.log && grep -a -L "TESTING ERROR" $@.log - -.PHONY: clean -clean: - for test in $(TESTS); do rm -f "$$test/$$test.log"; done - -.PHONY: distclean -distclean: clean - rm -f Makefile -- cgit v1.2.3-54-g00ecf From 83ae0ed8379e2e00815cbe60e2e512665e48c1ed Mon Sep 17 00:00:00 2001 From: "Kelvin M. Klann" Date: Thu, 23 Jun 2022 02:51:52 -0300 Subject: makefiles: stop failing when config.mk does not exist This allows running `make clean` and `make distclean` (and possibly others) without having to run ./configure beforehand. Note that some packaging-related targets still depend on the existence of generated files. For example: * dist: config.mk * deb: config.sh Commands used to search and replace: $ git grep -Elz 'include *([^ ]*/)?config.mk' | xargs -0 -I '{}' \ sh -c "printf '%s\n' \ \"\$(sed -E 's|^include *(([^ ]*/)?config.mk)|-include \1|' '{}')\" >'{}'" Relates to #5140. --- Makefile | 2 +- src/bash_completion/Makefile | 2 +- src/common.mk | 2 +- src/libpostexecseccomp/Makefile | 2 +- src/libtrace/Makefile | 2 +- src/libtracelog/Makefile | 2 +- src/man/Makefile | 2 +- src/zsh_completion/Makefile | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index c235aff7c..5d14ce467 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -include config.mk +-include config.mk ifneq ($(HAVE_MAN),no) MAN_TARGET = man diff --git a/src/bash_completion/Makefile b/src/bash_completion/Makefile index 9157c9225..16c4a31ee 100644 --- a/src/bash_completion/Makefile +++ b/src/bash_completion/Makefile @@ -2,7 +2,7 @@ all: firejail.bash_completion ROOT = ../.. -include $(ROOT)/config.mk +-include $(ROOT)/config.mk firejail.bash_completion: firejail.bash_completion.in gawk -f ../man/preproc.awk -- $(MANFLAGS) < $< > $@.tmp diff --git a/src/common.mk b/src/common.mk index 2b87c33f0..07b5e373d 100644 --- a/src/common.mk +++ b/src/common.mk @@ -2,7 +2,7 @@ # # Note: "ROOT" must be defined before including this file. -include $(ROOT)/config.mk +-include $(ROOT)/config.mk H_FILE_LIST = $(sort $(wildcard *.h)) C_FILE_LIST = $(sort $(wildcard *.c)) diff --git a/src/libpostexecseccomp/Makefile b/src/libpostexecseccomp/Makefile index 2f108d8b9..14e0cdb1d 100644 --- a/src/libpostexecseccomp/Makefile +++ b/src/libpostexecseccomp/Makefile @@ -1,5 +1,5 @@ ROOT = ../.. -include $(ROOT)/config.mk +-include $(ROOT)/config.mk H_FILE_LIST = $(sort $(wildcard *.h)) C_FILE_LIST = $(sort $(wildcard *.c)) diff --git a/src/libtrace/Makefile b/src/libtrace/Makefile index 11c75136d..46a8f97c2 100644 --- a/src/libtrace/Makefile +++ b/src/libtrace/Makefile @@ -1,5 +1,5 @@ ROOT = ../.. -include $(ROOT)/config.mk +-include $(ROOT)/config.mk H_FILE_LIST = $(sort $(wildcard *.h)) C_FILE_LIST = $(sort $(wildcard *.c)) diff --git a/src/libtracelog/Makefile b/src/libtracelog/Makefile index d09a8aa1c..1a3ab1ba5 100644 --- a/src/libtracelog/Makefile +++ b/src/libtracelog/Makefile @@ -1,5 +1,5 @@ ROOT = ../.. -include $(ROOT)/config.mk +-include $(ROOT)/config.mk H_FILE_LIST = $(sort $(wildcard *.h)) C_FILE_LIST = $(sort $(wildcard *.c)) diff --git a/src/man/Makefile b/src/man/Makefile index c83a4b7eb..b786e1ca9 100644 --- a/src/man/Makefile +++ b/src/man/Makefile @@ -2,7 +2,7 @@ all: firecfg.man firejail.man firejail-login.man firejail-users.man firejail-profile.man firemon.man jailcheck.man ROOT = ../.. -include $(ROOT)/config.mk +-include $(ROOT)/config.mk %.man: %.txt gawk -f ./preproc.awk -- $(MANFLAGS) < $< > $@ diff --git a/src/zsh_completion/Makefile b/src/zsh_completion/Makefile index 303057b0b..bec015049 100644 --- a/src/zsh_completion/Makefile +++ b/src/zsh_completion/Makefile @@ -2,7 +2,7 @@ all: _firejail ROOT = ../.. -include $(ROOT)/config.mk +-include $(ROOT)/config.mk _firejail: _firejail.in gawk -f ../man/preproc.awk -- $(MANFLAGS) < $< > $@.tmp -- cgit v1.2.3-54-g00ecf From e21637ca82199d9b659f34d71674090e45fc89db Mon Sep 17 00:00:00 2001 From: "Kelvin M. Klann" Date: Thu, 23 Jun 2022 07:35:19 -0300 Subject: makefiles: add generated files as dependencies With the previous commit ("makefiles: stop failing when config.mk does not exist", 2022-06-23), make will not immediately fail when trying to build a target without having the proper compile-time flags (which are defined on common.mk). For example, when running the command below: make distclean && make It will throw an error only after (mis-)compiling multiple objects. So add a dependency on config.mk on every target that uses output variables (such as @NAME@ / $(NAME)) on its recipe. And add a dependency on config.sh on targets that call shell scripts that use output variables (such as @NAME@ / $NAME). Also, add a recipe for config.mk / config.sh telling to run ./configure, to make it a bit more obvious just in case. With this commit, make will abort earlier, by detecting that the config.mk / config.sh dependency does not exist. This happens before trying to execute the recipe. This also makes the dependencies more accurate, since if config.mk (which defines some CFLAGS) is changed, the CFLAGS may also have changed, so a target that uses CFLAGS should probably be considered out of date in this case anyway. Relates to #5140. --- Makefile | 23 ++++++++++++++--------- src/bash_completion/Makefile | 2 +- src/fbuilder/Makefile | 4 ++-- src/fcopy/Makefile | 4 ++-- src/fids/Makefile | 4 ++-- src/firecfg/Makefile | 4 ++-- src/firejail/Makefile | 4 ++-- src/firemon/Makefile | 4 ++-- src/fldd/Makefile | 4 ++-- src/fnet/Makefile | 4 ++-- src/fnetfilter/Makefile | 4 ++-- src/fnettrace-dns/Makefile | 4 ++-- src/fnettrace-sni/Makefile | 4 ++-- src/fnettrace/Makefile | 4 ++-- src/fsec-optimize/Makefile | 4 ++-- src/fsec-print/Makefile | 4 ++-- src/fseccomp/Makefile | 4 ++-- src/ftee/Makefile | 4 ++-- src/fzenity/Makefile | 4 ++-- src/jailcheck/Makefile | 4 ++-- src/lib/Makefile | 2 +- src/libpostexecseccomp/Makefile | 4 ++-- src/libtrace/Makefile | 4 ++-- src/libtracelog/Makefile | 4 ++-- src/man/Makefile | 2 +- src/profstats/Makefile | 4 ++-- src/zsh_completion/Makefile | 2 +- 27 files changed, 62 insertions(+), 57 deletions(-) diff --git a/Makefile b/Makefile index 5d14ce467..11e19ec37 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,10 @@ MANPAGES = firejail.1 firemon.1 firecfg.1 firejail-profile.5 firejail-login.5 fi SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32 ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS) +config.mk config.sh: + printf 'run ./configure to generate %s\n' "$@" >&2 + false + .PHONY: all_items $(ALL_ITEMS) all_items: $(ALL_ITEMS) $(ALL_ITEMS): $(MYDIRS) @@ -31,7 +35,7 @@ mydirs: $(MYDIRS) $(MYDIRS): $(MAKE) -C $@ -$(MANPAGES): src/man +$(MANPAGES): src/man config.mk ./mkman.sh $(VERSION) src/man/$(basename $@).man $@ man: $(MANPAGES) @@ -87,7 +91,7 @@ distclean: clean $(MAKE) -C test distclean rm -fr autom4te.cache config.log config.mk config.sh config.status -realinstall: +realinstall: config.mk # firejail executable install -m 0755 -d $(DESTDIR)$(bindir) install -m 0755 src/firejail/firejail $(DESTDIR)$(bindir) @@ -171,7 +175,7 @@ install-strip: all strip $(ALL_ITEMS) $(MAKE) realinstall -uninstall: +uninstall: config.mk rm -f $(DESTDIR)$(bindir)/firejail rm -f $(DESTDIR)$(bindir)/firemon rm -f $(DESTDIR)$(bindir)/firecfg @@ -208,7 +212,7 @@ src DISTFILES_TEST = test/Makefile test/apps test/apps-x11 test/apps-x11-xorg test/root test/private-lib test/fnetfilter test/fcopy test/environment test/profiles test/utils test/compile test/filters test/network test/fs test/sysutils test/chroot -dist: +dist: config.mk mv config.sh config.sh.old mv config.status config.status.old make distclean @@ -223,19 +227,20 @@ dist: tar -cJvf $(NAME)-$(VERSION).tar.xz $(NAME)-$(VERSION) rm -fr $(NAME)-$(VERSION) -asc:; ./mkasc.sh $(VERSION) +asc: config.mk + ./mkasc.sh $(VERSION) -deb: dist +deb: dist config.sh ./mkdeb.sh -deb-apparmor: dist +deb-apparmor: dist config.sh ./mkdeb.sh -apparmor --enable-apparmor -test-compile: dist +test-compile: dist config.mk cd test/compile; ./compile.sh $(NAME)-$(VERSION) .PHONY: rpms -rpms: src/man +rpms: src/man config.mk ./platform/rpm/mkrpm.sh $(NAME) $(VERSION) extras: all diff --git a/src/bash_completion/Makefile b/src/bash_completion/Makefile index 16c4a31ee..e787a7b92 100644 --- a/src/bash_completion/Makefile +++ b/src/bash_completion/Makefile @@ -4,7 +4,7 @@ all: firejail.bash_completion ROOT = ../.. -include $(ROOT)/config.mk -firejail.bash_completion: firejail.bash_completion.in +firejail.bash_completion: firejail.bash_completion.in $(ROOT)/config.mk gawk -f ../man/preproc.awk -- $(MANFLAGS) < $< > $@.tmp sed "s|_SYSCONFDIR_|$(sysconfdir)|" < $@.tmp > $@ rm $@.tmp diff --git a/src/fbuilder/Makefile b/src/fbuilder/Makefile index b769deac9..da0403c6e 100644 --- a/src/fbuilder/Makefile +++ b/src/fbuilder/Makefile @@ -4,10 +4,10 @@ all: fbuilder ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fbuilder: $(OBJS) +fbuilder: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fcopy/Makefile b/src/fcopy/Makefile index 801615878..ae128df9b 100644 --- a/src/fcopy/Makefile +++ b/src/fcopy/Makefile @@ -4,10 +4,10 @@ all: fcopy ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fcopy: $(OBJS) ../lib/common.o +fcopy: $(OBJS) ../lib/common.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fids/Makefile b/src/fids/Makefile index eed6e44ea..e57c56b5b 100644 --- a/src/fids/Makefile +++ b/src/fids/Makefile @@ -4,11 +4,11 @@ all: fids ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h +%.o : %.c $(H_FILE_LIST) ../include/common.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ #fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o -fids: $(OBJS) +fids: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/firecfg/Makefile b/src/firecfg/Makefile index c06bb5338..3b0daed71 100644 --- a/src/firecfg/Makefile +++ b/src/firecfg/Makefile @@ -4,10 +4,10 @@ all: firecfg ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/euid_common.h ../include/libnetlink.h ../include/firejail_user.h ../include/pid.h +%.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 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -firecfg: $(OBJS) ../lib/common.o ../lib/firejail_user.o +firecfg: $(OBJS) ../lib/common.o ../lib/firejail_user.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/firejail_user.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/firejail/Makefile b/src/firejail/Makefile index ffe978957..23444107f 100644 --- a/src/firejail/Makefile +++ b/src/firejail/Makefile @@ -4,10 +4,10 @@ all: firejail ROOT = ../.. include $(ROOT)/src/common.mk -%.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 +%.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 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o +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 $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/firemon/Makefile b/src/firemon/Makefile index 45203673b..b2d2f4d14 100644 --- a/src/firemon/Makefile +++ b/src/firemon/Makefile @@ -4,10 +4,10 @@ all: firemon ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -firemon: $(OBJS) ../lib/common.o ../lib/pid.o +firemon: $(OBJS) ../lib/common.o ../lib/pid.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fldd/Makefile b/src/fldd/Makefile index fdaa202fd..d9a70529b 100644 --- a/src/fldd/Makefile +++ b/src/fldd/Makefile @@ -4,10 +4,10 @@ all: fldd ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h ../include/ldd_utils.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h ../include/ldd_utils.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fldd: $(OBJS) ../lib/common.o ../lib/ldd_utils.o +fldd: $(OBJS) ../lib/common.o ../lib/ldd_utils.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fnet/Makefile b/src/fnet/Makefile index 2642fea38..36e95522f 100644 --- a/src/fnet/Makefile +++ b/src/fnet/Makefile @@ -4,10 +4,10 @@ all: fnet ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/libnetlink.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/libnetlink.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fnet: $(OBJS) ../lib/common.o ../lib/libnetlink.o +fnet: $(OBJS) ../lib/common.o ../lib/libnetlink.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/libnetlink.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fnetfilter/Makefile b/src/fnetfilter/Makefile index e0738281a..758561b9e 100644 --- a/src/fnetfilter/Makefile +++ b/src/fnetfilter/Makefile @@ -4,10 +4,10 @@ all: fnetfilter ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fnetfilter: $(OBJS) ../lib/common.o +fnetfilter: $(OBJS) ../lib/common.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fnettrace-dns/Makefile b/src/fnettrace-dns/Makefile index 9946f545d..101abd4d4 100644 --- a/src/fnettrace-dns/Makefile +++ b/src/fnettrace-dns/Makefile @@ -4,10 +4,10 @@ all: fnettrace-dns ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) +%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fnettrace-dns: $(OBJS) +fnettrace-dns: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fnettrace-sni/Makefile b/src/fnettrace-sni/Makefile index 556727831..da7c1ca4e 100644 --- a/src/fnettrace-sni/Makefile +++ b/src/fnettrace-sni/Makefile @@ -4,10 +4,10 @@ all: fnettrace-sni ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) +%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fnettrace-sni: $(OBJS) +fnettrace-sni: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fnettrace/Makefile b/src/fnettrace/Makefile index 406d095ff..f41a4d36d 100644 --- a/src/fnettrace/Makefile +++ b/src/fnettrace/Makefile @@ -4,10 +4,10 @@ all: fnettrace ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) +%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fnettrace: $(OBJS) +fnettrace: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fsec-optimize/Makefile b/src/fsec-optimize/Makefile index 1ccc2fa8f..1aa49d34b 100644 --- a/src/fsec-optimize/Makefile +++ b/src/fsec-optimize/Makefile @@ -4,10 +4,10 @@ all: fsec-optimize ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fsec-optimize: $(OBJS) ../lib/common.o ../lib/libnetlink.o +fsec-optimize: $(OBJS) ../lib/common.o ../lib/libnetlink.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fsec-print/Makefile b/src/fsec-print/Makefile index b5ba6f160..b076c0588 100644 --- a/src/fsec-print/Makefile +++ b/src/fsec-print/Makefile @@ -4,10 +4,10 @@ all: fsec-print ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fsec-print: $(OBJS) ../lib/common.o ../lib/libnetlink.o ../lib/errno.o ../lib/syscall.o +fsec-print: $(OBJS) ../lib/common.o ../lib/libnetlink.o ../lib/errno.o ../lib/syscall.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fseccomp/Makefile b/src/fseccomp/Makefile index 527ec0a68..9bf4c050b 100644 --- a/src/fseccomp/Makefile +++ b/src/fseccomp/Makefile @@ -4,10 +4,10 @@ all: fseccomp ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o +fseccomp: $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/ftee/Makefile b/src/ftee/Makefile index 00c1a2662..535d7ff63 100644 --- a/src/ftee/Makefile +++ b/src/ftee/Makefile @@ -4,10 +4,10 @@ all: ftee ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) +%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -ftee: $(OBJS) +ftee: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/fzenity/Makefile b/src/fzenity/Makefile index 169b78f09..0358dd3e9 100644 --- a/src/fzenity/Makefile +++ b/src/fzenity/Makefile @@ -4,10 +4,10 @@ all: fzenity ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h +%.o : %.c $(H_FILE_LIST) ../include/common.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -fzenity: $(OBJS) +fzenity: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/jailcheck/Makefile b/src/jailcheck/Makefile index 62e82c9b3..52feb86e6 100644 --- a/src/jailcheck/Makefile +++ b/src/jailcheck/Makefile @@ -4,10 +4,10 @@ all: jailcheck ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h +%.o : %.c $(H_FILE_LIST) ../include/common.h ../include/pid.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -jailcheck: $(OBJS) +jailcheck: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/pid.o $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/lib/Makefile b/src/lib/Makefile index bac2d4e93..d9bc63ef7 100644 --- a/src/lib/Makefile +++ b/src/lib/Makefile @@ -4,7 +4,7 @@ include $(ROOT)/src/common.mk .PHONY: all all: $(OBJS) -%.o : %.c $(H_FILE_LIST) +%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ .PHONY: clean diff --git a/src/libpostexecseccomp/Makefile b/src/libpostexecseccomp/Makefile index 14e0cdb1d..5386af58b 100644 --- a/src/libpostexecseccomp/Makefile +++ b/src/libpostexecseccomp/Makefile @@ -11,10 +11,10 @@ LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now .PHONY: all all: libpostexecseccomp.so -%.o : %.c $(H_FILE_LIST) ../include/seccomp.h ../include/rundefs.h +%.o : %.c $(H_FILE_LIST) ../include/seccomp.h ../include/rundefs.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ -libpostexecseccomp.so: $(OBJS) +libpostexecseccomp.so: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl .PHONY: clean diff --git a/src/libtrace/Makefile b/src/libtrace/Makefile index 46a8f97c2..6f28b3442 100644 --- a/src/libtrace/Makefile +++ b/src/libtrace/Makefile @@ -11,10 +11,10 @@ LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now .PHONY: all all: libtrace.so -%.o : %.c $(H_FILE_LIST) +%.o : %.c $(H_FILE_LIST) $(ROOT)/config.mk $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ -libtrace.so: $(OBJS) +libtrace.so: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl .PHONY: clean diff --git a/src/libtracelog/Makefile b/src/libtracelog/Makefile index 1a3ab1ba5..c5d9c131d 100644 --- a/src/libtracelog/Makefile +++ b/src/libtracelog/Makefile @@ -11,10 +11,10 @@ LDFLAGS += -pie -fPIE -Wl,-z,relro -Wl,-z,now .PHONY: all all: libtracelog.so -%.o : %.c $(H_FILE_LIST) ../include/rundefs.h +%.o : %.c $(H_FILE_LIST) ../include/rundefs.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ -libtracelog.so: $(OBJS) +libtracelog.so: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -shared -fPIC -z relro -o $@ $(OBJS) -ldl .PHONY: clean diff --git a/src/man/Makefile b/src/man/Makefile index b786e1ca9..283822d1f 100644 --- a/src/man/Makefile +++ b/src/man/Makefile @@ -4,7 +4,7 @@ all: firecfg.man firejail.man firejail-login.man firejail-users.man firejail-pro ROOT = ../.. -include $(ROOT)/config.mk -%.man: %.txt +%.man: %.txt $(ROOT)/config.mk gawk -f ./preproc.awk -- $(MANFLAGS) < $< > $@ .PHONY: clean diff --git a/src/profstats/Makefile b/src/profstats/Makefile index 0e3b101ef..0274aead2 100644 --- a/src/profstats/Makefile +++ b/src/profstats/Makefile @@ -4,10 +4,10 @@ all: profstats ROOT = ../.. include $(ROOT)/src/common.mk -%.o : %.c $(H_FILE_LIST) ../include/common.h +%.o : %.c $(H_FILE_LIST) ../include/common.h $(ROOT)/config.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ -profstats: $(OBJS) +profstats: $(OBJS) $(ROOT)/config.mk $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) .PHONY: clean diff --git a/src/zsh_completion/Makefile b/src/zsh_completion/Makefile index bec015049..d7bc1038a 100644 --- a/src/zsh_completion/Makefile +++ b/src/zsh_completion/Makefile @@ -4,7 +4,7 @@ all: _firejail ROOT = ../.. -include $(ROOT)/config.mk -_firejail: _firejail.in +_firejail: _firejail.in $(ROOT)/config.mk gawk -f ../man/preproc.awk -- $(MANFLAGS) < $< > $@.tmp sed "s|_SYSCONFDIR_|$(sysconfdir)|" < $@.tmp > $@ rm $@.tmp -- cgit v1.2.3-54-g00ecf