summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/unix/separate_debug_info.prf22
1 files changed, 12 insertions, 10 deletions
diff --git a/mkspecs/features/unix/separate_debug_info.prf b/mkspecs/features/unix/separate_debug_info.prf
index 394d5f42bc..2a3033df94 100644
--- a/mkspecs/features/unix/separate_debug_info.prf
+++ b/mkspecs/features/unix/separate_debug_info.prf
@@ -9,19 +9,21 @@ have_target:!static:!isEmpty(QMAKE_OBJCOPY) {
debug_info_keep = --only-keep-debug
debug_info_strip = --strip-debug
}
- QMAKE_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; targ=`basename $(TARGET)`; $$QMAKE_OBJCOPY $$debug_info_keep \"\$\$targ\" \"\$\$targ.$$debug_info_suffix\" && $$QMAKE_OBJCOPY $$debug_info_strip \"\$\$targ\" && $$QMAKE_OBJCOPY --add-gnu-debuglink=\"\$\$targ.$$debug_info_suffix\" \"\$\$targ\" && chmod -x \"\$\$targ.$$debug_info_suffix\"
- QMAKE_INSTALL_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; $(INSTALL_FILE) `basename $(TARGET)`.$$debug_info_suffix $(INSTALL_ROOT)/\$\$target_path/
+ load(resolve_target)
+ QMAKE_TARGET_DEBUG_INFO = $${QMAKE_RESOLVED_TARGET}.$$debug_info_suffix
+
+ shell_target = $$shell_quote($$relative_path($$QMAKE_RESOLVED_TARGET, $$OUT_PWD))
+ shell_target_debug_info = $$shell_quote($$relative_path($$QMAKE_TARGET_DEBUG_INFO, $$OUT_PWD))
+ copy_debug_info = $$QMAKE_OBJCOPY $$debug_info_keep $$shell_target $$shell_target_debug_info
+ strip_debug_info = $$QMAKE_OBJCOPY $$debug_info_strip $$shell_target
+ link_debug_info = $$QMAKE_OBJCOPY --add-gnu-debuglink=$$shell_target_debug_info $$shell_target
+ chmod_debug_info = chmod -x $$shell_target_debug_info
!isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
- QMAKE_POST_LINK = $$QMAKE_SEPARATE_DEBUG_INFO $$QMAKE_POST_LINK
+ QMAKE_POST_LINK = $$copy_debug_info $$escape_expand(\\n\\t)$$strip_debug_info $$escape_expand(\\n\\t)$$link_debug_info $$escape_expand(\\n\\t)$$chmod_debug_info $$QMAKE_POST_LINK
silent:QMAKE_POST_LINK = @echo creating $@.$$debug_info_suffix && $$QMAKE_POST_LINK
- isEmpty(DESTDIR) {
- target.targets += "`basename $(TARGET)`.$$debug_info_suffix"
- QMAKE_DISTCLEAN += "`basename $(TARGET)`.$$debug_info_suffix"
- } else {
- target.targets += "$(DESTDIR)/`basename $(TARGET)`.$$debug_info_suffix"
- QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.$$debug_info_suffix"
- }
+ target.targets += $$QMAKE_TARGET_DEBUG_INFO
+ QMAKE_DISTCLEAN += $$QMAKE_TARGET_DEBUG_INFO
}