summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2023-05-09 20:15:42 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2023-05-09 20:15:42 +0000
commit71da5a133471464dd431ff099ea7477eb8c96b4c (patch)
tree29936ffdbe183f4392c8648de7a3cf9e57032190
parent39bc5827330987d5c366cf94ea5571867e390ddd (diff)
downloadVirtualBox-svn-71da5a133471464dd431ff099ea7477eb8c96b4c.tar.gz
*.kmk: More SDK makefile cleanups. bugref:10442
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@99706 cfe28804-0f27-0410-a406-dd0f0b0b656f
-rw-r--r--Makefile.kmk232
-rw-r--r--src/VBox/Main/Makefile.kmk121
-rw-r--r--src/libs/xpcom18a4/Makefile.kmk2
3 files changed, 180 insertions, 175 deletions
diff --git a/Makefile.kmk b/Makefile.kmk
index eb56dc250ce..1e8f7e8d258 100644
--- a/Makefile.kmk
+++ b/Makefile.kmk
@@ -223,145 +223,141 @@ if !defined(VBOX_ONLY_ADDITIONS) \
# https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
# the Info.plist file goes into Resources.
#
- ifeq ($(KBUILD_TARGET),darwin)
- ifdef VBOX_WITH_QT6
- include $(KBUILD_PATH)/units/qt6.kmk
- VBOX_QT_FWRK_VER = A
- VBOX_QT_PATH = $(PATH_SDK_QT6)
- VBOX_QT_PATH_LIB = $(PATH_SDK_QT6_LIB)
- else
- include $(KBUILD_PATH)/units/qt5.kmk
- VBOX_QT_FWRK_VER = 5
- VBOX_QT_PATH = $(PATH_SDK_QT5)
- VBOX_QT_PATH_LIB = $(PATH_SDK_QT5_LIB)
- endif
- if defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
+ if defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
+ ifeq ($(KBUILD_TARGET),darwin)
+ ifdef VBOX_WITH_QT6
+ include $(KBUILD_PATH)/units/qt6.kmk
+ VBOX_QT_FWRK_VER = A
+ VBOX_QT_PATH = $(PATH_SDK_QT6)
+ VBOX_QT_PATH_LIB = $(PATH_SDK_QT6_LIB)
+ else
+ include $(KBUILD_PATH)/units/qt5.kmk
+ VBOX_QT_FWRK_VER = 5
+ VBOX_QT_PATH = $(PATH_SDK_QT5)
+ VBOX_QT_PATH_LIB = $(PATH_SDK_QT5_LIB)
+ endif
INSTALLS += qt5-bin
- endif
- qt5-bin_INST = $(INST_VIRTUALBOX)Contents/
- qt5-bin_EXEC_SOURCES = $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
- $(VBOX_QT_PATH_LIB)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)=>Frameworks/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod))
- qt5-bin_SOURCES = $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
- $(VBOX_QT_PATH_LIB)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/Resources/Info.plist=>Frameworks/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/Resources/Info.plist)
- ifdef VBOX_WITH_QT_DSYMS
- qt5-bin_SOURCES += $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
- $(VBOX_QT_PATH_LIB)/$(qtmod).framework.dSYM/Contents/Info.plist=>Frameworks/$(qtmod).framework.dSYM/Contents/Info.plist \
- $(VBOX_QT_PATH_LIB)/$(qtmod).framework.dSYM/Contents/Resources/DWARF/$(qtmod)=>Frameworks/$(qtmod).framework.dSYM/Contents/Resources/DWARF/$(qtmod))
- endif
- qt5-bin_EXEC_SOURCES += \
- $(VBOX_QT_PATH)/plugins/platforms/libqcocoa$(SUFF_DLL)=>plugins/platforms/libqcocoa$(SUFF_DLL) \
- $(VBOX_QT_PATH)/plugins/platforms/libqminimal$(SUFF_DLL)=>plugins/platforms/libqminimal$(SUFF_DLL) \
- $(VBOX_QT_PATH)/plugins/platforms/libqoffscreen$(SUFF_DLL)=>plugins/platforms/libqoffscreen$(SUFF_DLL) \
- $(VBOX_QT_PATH)/plugins/sqldrivers/libqsqlite$(SUFF_DLL)=>plugins/sqldrivers/libqsqlite$(SUFF_DLL) \
- $(VBOX_QT_PATH)/plugins/styles/libqmacstyle$(SUFF_DLL)=>plugins/styles/libqmacstyle$(SUFF_DLL)
- ifdef VBOX_WITH_QT_DSYMS
- qt5-bin_SOURCES += $(foreach qtplat, libqcocoa libqminimal libqoffscreen, \
- $(VBOX_QT_PATH)/plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Info.plist \
- $(VBOX_QT_PATH)/plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtplat)$(SUFF_DLL)=>plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtplat)$(SUFF_DLL))
- qt5-bin_SOURCES += $(foreach qtsqldrv, libqsqlite, \
- $(VBOX_QT_PATH)/plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Info.plist \
- $(VBOX_QT_PATH)/plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtsqldrv)$(SUFF_DLL)=>plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtsqldrv)$(SUFF_DLL))
- qt5-bin_SOURCES += $(foreach qtstyl, libqmacstyle, \
- $(VBOX_QT_PATH)/plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Info.plist \
- $(VBOX_QT_PATH)/plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtstyl)$(SUFF_DLL)=>plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtstyl)$(SUFF_DLL))
- endif
- qt5-bin_SYMLINKS = $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \
- Frameworks/$(qtmod).framework/Versions/Current=>$(VBOX_QT_FWRK_VER) \
- Frameworks/$(qtmod).framework/$(qtmod)=>Versions/$(VBOX_QT_FWRK_VER)/$(qtmod) \
- Frameworks/$(qtmod).framework/Resources=>Versions/$(VBOX_QT_FWRK_VER)/Resources)
- qt5-bin_INSTALLER = $(INSTALL) $(if $(uid),-o $(uid)) $(if $(gid),-g $(gid)) $(if $(mode),-m $(mode)) $(4) -- \
- "$(1)" "$(2)" $(if-expr "$(source_type_prefix)" == "EXEC_" \
- ,$(NLTAB)install_name_tool \
- $(if-expr "$(suffix $2)" == "", -id "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Framework,@rpath)/$(notdir $(2)).framework/Version/$(VBOX_QT_FWRK_VER)/$(notdir $(2))",) \
- $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \
- $(foreach prefix, @executable_path/../Frameworks/ $(VBOX_PATH_QT)/Frameworks/ $(VBOX_QT_PATH)/, \
- -change "$(prefix)$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" \
- "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Frameworks,@rpath)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" ) ) \
- "$(2)",) # HACK ALERT! Using $(source_type_prefix) to detect EXEC_SOURCES.
- else # win x11
- if1of ($(KBUILD_TARGET), linux solaris)
- if !defined(VBOX_ONLY_BUILD) && defined(VBOX_WITH_QTGUI)
- ifneq ($(VBOX_GCC_VERSION_CXX),)
- if $(VBOX_GCC_VERSION_CXX) < 40400
- $(error gcc >= 4.4 required when compiling against Qt5!)
+ qt5-bin_INST = $(INST_VIRTUALBOX)Contents/
+ qt5-bin_EXEC_SOURCES = $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
+ $(VBOX_QT_PATH_LIB)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)=>Frameworks/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod))
+ qt5-bin_SOURCES = $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
+ $(VBOX_QT_PATH_LIB)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/Resources/Info.plist=>Frameworks/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/Resources/Info.plist)
+ ifdef VBOX_WITH_QT_DSYMS
+ qt5-bin_SOURCES += $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
+ $(VBOX_QT_PATH_LIB)/$(qtmod).framework.dSYM/Contents/Info.plist=>Frameworks/$(qtmod).framework.dSYM/Contents/Info.plist \
+ $(VBOX_QT_PATH_LIB)/$(qtmod).framework.dSYM/Contents/Resources/DWARF/$(qtmod)=>Frameworks/$(qtmod).framework.dSYM/Contents/Resources/DWARF/$(qtmod))
+ endif
+ qt5-bin_EXEC_SOURCES += \
+ $(VBOX_QT_PATH)/plugins/platforms/libqcocoa$(SUFF_DLL)=>plugins/platforms/libqcocoa$(SUFF_DLL) \
+ $(VBOX_QT_PATH)/plugins/platforms/libqminimal$(SUFF_DLL)=>plugins/platforms/libqminimal$(SUFF_DLL) \
+ $(VBOX_QT_PATH)/plugins/platforms/libqoffscreen$(SUFF_DLL)=>plugins/platforms/libqoffscreen$(SUFF_DLL) \
+ $(VBOX_QT_PATH)/plugins/sqldrivers/libqsqlite$(SUFF_DLL)=>plugins/sqldrivers/libqsqlite$(SUFF_DLL) \
+ $(VBOX_QT_PATH)/plugins/styles/libqmacstyle$(SUFF_DLL)=>plugins/styles/libqmacstyle$(SUFF_DLL)
+ ifdef VBOX_WITH_QT_DSYMS
+ qt5-bin_SOURCES += $(foreach qtplat, libqcocoa libqminimal libqoffscreen, \
+ $(VBOX_QT_PATH)/plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Info.plist \
+ $(VBOX_QT_PATH)/plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtplat)$(SUFF_DLL)=>plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtplat)$(SUFF_DLL))
+ qt5-bin_SOURCES += $(foreach qtsqldrv, libqsqlite, \
+ $(VBOX_QT_PATH)/plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Info.plist \
+ $(VBOX_QT_PATH)/plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtsqldrv)$(SUFF_DLL)=>plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtsqldrv)$(SUFF_DLL))
+ qt5-bin_SOURCES += $(foreach qtstyl, libqmacstyle, \
+ $(VBOX_QT_PATH)/plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Info.plist \
+ $(VBOX_QT_PATH)/plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtstyl)$(SUFF_DLL)=>plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtstyl)$(SUFF_DLL))
+ endif
+ qt5-bin_SYMLINKS = $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \
+ Frameworks/$(qtmod).framework/Versions/Current=>$(VBOX_QT_FWRK_VER) \
+ Frameworks/$(qtmod).framework/$(qtmod)=>Versions/$(VBOX_QT_FWRK_VER)/$(qtmod) \
+ Frameworks/$(qtmod).framework/Resources=>Versions/$(VBOX_QT_FWRK_VER)/Resources)
+ qt5-bin_INSTALLER = $(INSTALL) $(if $(uid),-o $(uid)) $(if $(gid),-g $(gid)) $(if $(mode),-m $(mode)) $(4) -- \
+ "$(1)" "$(2)" $(if-expr "$(source_type_prefix)" == "EXEC_" \
+ ,$(NLTAB)install_name_tool \
+ $(if-expr "$(suffix $2)" == "", -id "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Framework,@rpath)/$(notdir $(2)).framework/Version/$(VBOX_QT_FWRK_VER)/$(notdir $(2))",) \
+ $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \
+ $(foreach prefix, @executable_path/../Frameworks/ $(VBOX_PATH_QT)/Frameworks/ $(VBOX_QT_PATH)/, \
+ -change "$(prefix)$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" \
+ "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Frameworks,@rpath)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" ) ) \
+ "$(2)",) # HACK ALERT! Using $(source_type_prefix) to detect EXEC_SOURCES.
+ else # win x11
+ if1of ($(KBUILD_TARGET), linux solaris)
+ if !defined(VBOX_ONLY_BUILD) && defined(VBOX_WITH_QTGUI)
+ ifneq ($(VBOX_GCC_VERSION_CXX),)
+ if $(VBOX_GCC_VERSION_CXX) < 40400
+ $(error gcc >= 4.4 required when compiling against Qt5!)
+ endif
endif
endif
endif
- endif
- if defined(VBOX_WITH_ORACLE_QT) || defined(VBOX_WITH_QT_PAYLOAD)
- include $(KBUILD_PATH)/units/qt5.kmk
- ifeq ($(KBUILD_TARGET),win)
- if defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
+ if defined(VBOX_WITH_ORACLE_QT) || defined(VBOX_WITH_QT_PAYLOAD)
+ include $(KBUILD_PATH)/units/qt5.kmk
+ ifeq ($(KBUILD_TARGET),win)
INSTALLS += qt5-bin
- endif
- qt5-bin_MODE = 755
- qt5-bin_INST = $(INST_BIN)
- qt5-bin_SOURCES = \
- $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/bin/$(qtmod)$(SUFF_DLL)))
- qt5-bin_SOURCES += \
- $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qwindows$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qwindows$(VBOX_QT_DBG)$(SUFF_DLL) \
- $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qminimal$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qminimal$(VBOX_QT_DBG)$(SUFF_DLL) \
- $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qoffscreen$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qoffscreen$(VBOX_QT_DBG)$(SUFF_DLL) \
- $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/sqldrivers/qsqlite$(VBOX_QT_DBG)$(SUFF_DLL))=>sqldrivers/qsqlite$(VBOX_QT_DBG)$(SUFF_DLL) \
- $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/styles/qwindowsvistastyle$(VBOX_QT_DBG)$(SUFF_DLL))=>styles/qwindowsvistastyle$(VBOX_QT_DBG)$(SUFF_DLL)
- ifdef VBOX_WITH_QT_PDBS
+ qt5-bin_MODE = 755
+ qt5-bin_INST = $(INST_BIN)
+ qt5-bin_SOURCES = \
+ $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/bin/$(qtmod)$(SUFF_DLL)))
qt5-bin_SOURCES += \
- $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(PATH_SDK_QT5)/qt*/$(VBOX_PATH_QT_LIB)/$(qtmod).pdb))
- endif # VBOX_WITH_QT_PDBS
- else # x11
- if defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
+ $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qwindows$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qwindows$(VBOX_QT_DBG)$(SUFF_DLL) \
+ $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qminimal$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qminimal$(VBOX_QT_DBG)$(SUFF_DLL) \
+ $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qoffscreen$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qoffscreen$(VBOX_QT_DBG)$(SUFF_DLL) \
+ $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/sqldrivers/qsqlite$(VBOX_QT_DBG)$(SUFF_DLL))=>sqldrivers/qsqlite$(VBOX_QT_DBG)$(SUFF_DLL) \
+ $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/styles/qwindowsvistastyle$(VBOX_QT_DBG)$(SUFF_DLL))=>styles/qwindowsvistastyle$(VBOX_QT_DBG)$(SUFF_DLL)
+ ifdef VBOX_WITH_QT_PDBS
+ qt5-bin_SOURCES += \
+ $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(PATH_SDK_QT5)/qt*/$(VBOX_PATH_QT_LIB)/$(qtmod).pdb))
+ endif # VBOX_WITH_QT_PDBS
+ else # x11
INSTALLS += qt5-bin
- endif
- qt5-bin_MODE = 755
- qt5-bin_INST = $(INST_BIN)
- ifdef VBOX_WITH_HARDENING
- # The wildcards are necessary to install the libs instead of the symlinks
- qt5-bin_SOURCES = \
- $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(VBOX_PATH_QT_LIB)/lib$(qtmod).so.*.*.*[0-9])=>lib$(qtmod).so.5) \
- $(foreach lib,$(VBOX_QT_PLUGINS),$(VBOX_PATH_QT)/$(lib)=>$(lib))
- else # !VBOX_WITH_HARDENING
- # For non-hardened builds we need to remove the RUNPATH. This stuff is
- # ugly but we need to prevent kBuild from hard-linking otherwise we
- # (indirectly) change the binaries in tools
- ifneq ($(KBUILD_TARGET),solaris)
- QT5_VERSION = 5.15.2
- else
- QT5_VERSION = 5.15.2
- endif
- qt5-bin_SOURCES = \
- $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)=>lib$(qtmod).so.5) \
- $(foreach lib,$(VBOX_QT_PLUGINS),$(qt5-bin_0_OUTDIR)/$(lib)=>$(lib))
-
- $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)): \
- $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT_LIB)/% | $$(qt5-bin_0_OUTDIR)/
+ qt5-bin_MODE = 755
+ qt5-bin_INST = $(INST_BIN)
+ ifdef VBOX_WITH_HARDENING
+ # The wildcards are necessary to install the libs instead of the symlinks
+ qt5-bin_SOURCES = \
+ $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(VBOX_PATH_QT_LIB)/lib$(qtmod).so.*.*.*[0-9])=>lib$(qtmod).so.5) \
+ $(foreach lib,$(VBOX_QT_PLUGINS),$(VBOX_PATH_QT)/$(lib)=>$(lib))
+ else # !VBOX_WITH_HARDENING
+ # For non-hardened builds we need to remove the RUNPATH. This stuff is
+ # ugly but we need to prevent kBuild from hard-linking otherwise we
+ # (indirectly) change the binaries in tools
+ ifneq ($(KBUILD_TARGET),solaris)
+ QT5_VERSION = 5.15.2
+ else
+ QT5_VERSION = 5.15.2
+ endif
+ qt5-bin_SOURCES = \
+ $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)=>lib$(qtmod).so.5) \
+ $(foreach lib,$(VBOX_QT_PLUGINS),$(qt5-bin_0_OUTDIR)/$(lib)=>$(lib))
+
+ $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)): \
+ $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT_LIB)/% | $$(qt5-bin_0_OUTDIR)/
$(call MSG_INST_FILE,$^,$@)
$(QUIET)$(CP) $^ $@
$(QUIET)chrpath --replace "\$$ORIGIN" $@
- ifn1of ($(KBUILD_TARGET), solaris linux)
- $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \
- $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/
+ ifn1of ($(KBUILD_TARGET), solaris linux)
+ $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \
+ $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/
$(call MSG_INST_FILE,$^,$@)
$(QUIET)$(MKDIR) -p $(@D)
$(QUIET)$(CP) $^ $@
$(QUIET)chrpath --delete $@
- endif # !solaris and !linux
+ endif # !solaris and !linux
- # @todo For solaris and some linuxes dlopen fails to navigate executable rpath to dependent libraries,
- # so add explicit rpath for libqxcb.so, find better solution later.
- if1of ($(KBUILD_TARGET), solaris linux)
- $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \
- $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/
+ # @todo For solaris and some linuxes dlopen fails to navigate executable rpath to dependent libraries,
+ # so add explicit rpath for libqxcb.so, find better solution later.
+ if1of ($(KBUILD_TARGET), solaris linux)
+ $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \
+ $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/
$(call MSG_INST_FILE,$^,$@)
$(QUIET)$(MKDIR) -p $(@D)
$(QUIET)$(CP) $^ $@
$(QUIET)chrpath --replace "\$$ORIGIN/../../" $@
- endif # solaris linux
+ endif # solaris linux
- endif # !VBOX_WITH_HARDENING
- endif # x11
- endif # VBOX_WITH_ORACLE_QT || VBOX_WITH_QT_PAYLOAD
- endif # win x11
+ endif # !VBOX_WITH_HARDENING
+ endif # x11
+ endif # VBOX_WITH_ORACLE_QT || VBOX_WITH_QT_PAYLOAD
+ endif # win x11
+ endif # defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
#
diff --git a/src/VBox/Main/Makefile.kmk b/src/VBox/Main/Makefile.kmk
index ce4e91bab73..542369103ae 100644
--- a/src/VBox/Main/Makefile.kmk
+++ b/src/VBox/Main/Makefile.kmk
@@ -62,7 +62,7 @@ endif
#
VBOX_PATH_MAIN_SRC := $(PATH_SUB_CURRENT)
-ifdef VBOX_ONLY_SDK
+if defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_SDK_ON_WINDOWS)
# HACK ALERT! VBoxCOM is skipped, but its output dir is referenced a lot. So, define it.
VBoxCOM_0_OUTDIR := $(call TARGET_PATH,VBoxCOM)
BLDDIRS += $(VBoxCOM_0_OUTDIR) $(PATH_STAGE_BIN)/components
@@ -1361,65 +1361,73 @@ if !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_EXTPACKS) # Note this goes on f
endif # !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_EXTPACKS) (the ifndef is far above)
-ifndef VBOX_ONLY_SDK
- #
- # VBoxCOM - COM Abstraction Layer library
- #
+#
+# VBoxCOM - COM Abstraction Layer library
+#
+ifndef VBOX_ONLY_SDK
LIBRARIES += VBoxCOM
- VBoxCOM_TEMPLATE = VBoxMainLib
- VBoxCOM_INTERMEDIATES = $(VBOX_MAIN_PREREQS) \
- $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
- VBoxCOM_SOURCES = \
- glue/com.cpp \
- glue/VBoxLogRelCreate.cpp \
- glue/GetVBoxUserHomeDirectory.cpp \
- glue/initterm.cpp \
- glue/string.cpp \
- glue/string-base64.cpp \
- glue/AutoLock.cpp \
- glue/EventQueue.cpp \
- glue/NativeEventQueue.cpp \
- glue/ErrorInfo.cpp \
- glue/errorprint.cpp
- VBoxCOM_INCS += $(VBOX_MAIN_APIWRAPPER_INCS) \
- include
- ifeq ($(KBUILD_TARGET),win)
- ifdef VBOX_WITH_MIDL_PROXY_STUB
- VBoxCOM_DEFS.win = VBOX_WITH_AUTO_COM_REG_UPDATE
- endif
- ifdef VBOX_WITH_SDS
- VBoxCOM_DEFS.win += VBOX_WITH_SDS
- endif
- VBoxCOM_DEFS.x86 = _WIN32_WINNT=0x0500
- VBoxCOM_DEFS.amd64 = _WIN32_WINNT=0x0510
- VBoxCOM_SOURCES += \
- $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c
- VBoxCOM_CLEAN = \
- $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
- $(VBoxCOM_0_OUTDIR)/VirtualBox_p.c \
- $(VBoxCOM_0_OUTDIR)/dlldata.c \
- $(VBoxCOM_0_OUTDIR)/VirtualBox.h \
- $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
- VBoxCOM_CLEAN += \
- $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \
- $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \
- $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \
- $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \
- $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb
- VBoxCOM_BLDDIRS = $(VBoxCOM_0_OUTDIR)/legacy/
- else # !win
- VBoxCOM_SOURCES += \
- $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c \
- glue/xpcom/helpers.cpp
- endif # !win
-
- ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
- glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE="$(KBUILD_TYPE)"
- else
- glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE=\"$(KBUILD_TYPE)\"
+endif
+VBoxCOM_TEMPLATE = VBoxMainLib
+VBoxCOM_INTERMEDIATES = $(VBOX_MAIN_PREREQS) \
+ $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
+VBoxCOM_SOURCES = \
+ glue/com.cpp \
+ glue/VBoxLogRelCreate.cpp \
+ glue/GetVBoxUserHomeDirectory.cpp \
+ glue/initterm.cpp \
+ glue/string.cpp \
+ glue/string-base64.cpp \
+ glue/AutoLock.cpp \
+ glue/EventQueue.cpp \
+ glue/NativeEventQueue.cpp \
+ glue/ErrorInfo.cpp \
+ glue/errorprint.cpp
+VBoxCOM_INCS += $(VBOX_MAIN_APIWRAPPER_INCS) \
+ include
+ifeq ($(KBUILD_TARGET),win)
+ ifdef VBOX_WITH_MIDL_PROXY_STUB
+ VBoxCOM_DEFS.win = VBOX_WITH_AUTO_COM_REG_UPDATE
+ endif
+ ifdef VBOX_WITH_SDS
+ VBoxCOM_DEFS.win += VBOX_WITH_SDS
endif
+ VBoxCOM_DEFS.x86 = _WIN32_WINNT=0x0500
+ VBoxCOM_DEFS.amd64 = _WIN32_WINNT=0x0510
+ VBoxCOM_SOURCES += \
+ $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c
+ VBoxCOM_CLEAN = \
+ $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
+ $(VBoxCOM_0_OUTDIR)/VirtualBox_p.c \
+ $(VBoxCOM_0_OUTDIR)/dlldata.c \
+ $(VBoxCOM_0_OUTDIR)/VirtualBox.h \
+ $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
+ VBoxCOM_CLEAN += \
+ $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \
+ $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \
+ $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \
+ $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \
+ $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb
+ VBoxCOM_BLDDIRS = $(VBoxCOM_0_OUTDIR)/legacy/
+else # !win
+ VBoxCOM_SOURCES += \
+ $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c \
+ glue/xpcom/helpers.cpp
+endif # !win
+
+ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
+ glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE="$(KBUILD_TYPE)"
+else
+ glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE=\"$(KBUILD_TYPE)\"
+endif
+
+# A couple of tricks to define VBoxCOM_0_OUTDIR for SDK builds and mkdir rule.
+$(call KB_FN_DO_PASS0_ON_TARGET,VBoxCOM)
+BLDDIRS += $(VBoxCOM_0_OUTDIR)
+
+
+ifndef VBOX_ONLY_SDK
# 32-bit version of VBoxCOM.
if defined(VBOX_WITH_32_ON_64_MAIN_API) && !defined(VBOX_ONLY_EXTPACKS)
@@ -1451,7 +1459,6 @@ ifndef VBOX_ONLY_SDK
USES += qt5
endif
-
endif # !VBOX_ONLY_SDK
diff --git a/src/libs/xpcom18a4/Makefile.kmk b/src/libs/xpcom18a4/Makefile.kmk
index 1ff1225075a..c41bfc9808a 100644
--- a/src/libs/xpcom18a4/Makefile.kmk
+++ b/src/libs/xpcom18a4/Makefile.kmk
@@ -689,6 +689,8 @@ VBox-xpcom-nspr_CLEAN += \
$(VBox-xpcom-nspr_0_OUTDIR)/_pr_bld.h \
$(VBox-xpcom-nspr_0_OUTDIR)/_pl_bld.h
+$(call KB_FN_DO_PASS0_ON_TARGET,VBox-xpcom-nspr)
+
$$(VBox-xpcom-nspr_0_OUTDIR)/_pr_bld.h: | $$(VBox-xpcom-nspr_0_OUTDIR)/
$(call MSG_GENERATE,,$@)
$(QUIET)$(APPEND) -t $@ '#define _BUILD_STRING "$(date +%Y-%m-%d %T)"'