aboutsummaryrefslogtreecommitdiffstats
path: root/src/prog.mk
diff options
context:
space:
mode:
authorLibravatar Kelvin M. Klann <kmk3.code@protonmail.com>2023-07-02 22:19:48 -0300
committerLibravatar Kelvin M. Klann <kmk3.code@protonmail.com>2024-01-19 11:40:34 -0300
commit5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9 (patch)
tree9b9920abdf4c4881bf85ae2d08a44ed097f9209b /src/prog.mk
parentmodif: Change errExit msg format to match assert (diff)
downloadfirejail-5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9.tar.gz
firejail-5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9.tar.zst
firejail-5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9.zip
build: use full paths on compile/link targets
This makes the compile commands clearer when building in parallel (with `make -j`) and ensures that `__FILE__` includes the full build-time path (relative to the root of the repository) whenever it is referenced, such as in failed assert() messages (currently the full path is only shown in errExit() messages). Example: Before: firejail: main.c:100: main: Assertion `1 == 2' failed. Error src/firecfg/main.c:100: main: malloc: Cannot allocate memory After: firejail: ../../src/firejail/main.c:100: main: Assertion `1 == 2' failed. Error ../../src/firecfg/main.c:100: main: malloc: Cannot allocate memory Commands used to search and replace: $ git grep -Ilz '^MOD_DIR =' -- '*Makefile' | xargs -0 -I '{}' \ sh -c "printf '%s\n' \"\$(sed -E \ -e 's|^MOD_DIR = src/(.*)|MOD = \\1\\nMOD_DIR = \$(ROOT)/src/\$(MOD)|' \ -e 's:^(PROG|SO) = [^.]+(\.so)?$:\\1 = \$(MOD_DIR)/\$(MOD)\2:' \ '{}')\" >'{}'" $ git grep -Ilz '^HDRS :=' -- '*.mk' | xargs -0 -I '{}' \ sh -c "printf '%s\n' \"\$(sed -E \ -e 's|wildcard (\*\..)|wildcard \$(MOD_DIR)/\\1|' '{}')\" >'{}'" Note: config.mk.in, src/fnettrace/Makefile and src/include/common.h were edited manually. This is a follow-up to #5871.
Diffstat (limited to 'src/prog.mk')
-rw-r--r--src/prog.mk4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/prog.mk b/src/prog.mk
index b7ac59785..7797f56b6 100644
--- a/src/prog.mk
+++ b/src/prog.mk
@@ -5,8 +5,8 @@
5# The includer should probably define PROG and TARGET and may also want to 5# The includer should probably define PROG and TARGET and may also want to
6# define EXTRA_HDRS and EXTRA_OBJS and extend CLEANFILES. 6# define EXTRA_HDRS and EXTRA_OBJS and extend CLEANFILES.
7 7
8HDRS := $(sort $(wildcard *.h)) $(EXTRA_HDRS) 8HDRS := $(sort $(wildcard $(MOD_DIR)/*.h)) $(EXTRA_HDRS)
9SRCS := $(sort $(wildcard *.c)) 9SRCS := $(sort $(wildcard $(MOD_DIR)/*.c))
10OBJS := $(SRCS:.c=.o) $(EXTRA_OBJS) 10OBJS := $(SRCS:.c=.o) $(EXTRA_OBJS)
11 11
12.PHONY: all 12.PHONY: all