diff options
author | 2023-07-02 22:19:48 -0300 | |
---|---|---|
committer | 2024-01-19 11:40:34 -0300 | |
commit | 5b1bd33c7dc1b96cc27e4e52e8bdfe63268887e9 (patch) | |
tree | 9b9920abdf4c4881bf85ae2d08a44ed097f9209b /src/fcopy | |
parent | modif: Change errExit msg format to match assert (diff) | |
download | firejail-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/fcopy')
-rw-r--r-- | src/fcopy/Makefile | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/fcopy/Makefile b/src/fcopy/Makefile index f82d3a073..a9f706eb8 100644 --- a/src/fcopy/Makefile +++ b/src/fcopy/Makefile | |||
@@ -2,8 +2,9 @@ | |||
2 | ROOT = ../.. | 2 | ROOT = ../.. |
3 | -include $(ROOT)/config.mk | 3 | -include $(ROOT)/config.mk |
4 | 4 | ||
5 | MOD_DIR = src/fcopy | 5 | MOD = fcopy |
6 | PROG = fcopy | 6 | MOD_DIR = $(ROOT)/src/$(MOD) |
7 | PROG = $(MOD_DIR)/$(MOD) | ||
7 | TARGET = $(PROG) | 8 | TARGET = $(PROG) |
8 | 9 | ||
9 | EXTRA_HDRS = ../include/common.h ../include/syscall.h | 10 | EXTRA_HDRS = ../include/common.h ../include/syscall.h |