Changeset 12244 in vbox
- Timestamp:
- Sep 9, 2008 12:35:24 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 36242
- Location:
- trunk/src/VBox/Main
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/Makefile.kmk
r12170 r12244 20 20 # 21 21 22 ifdef VBOX_SINGLE_MAKEFILE23 22 SUB_DEPTH = ../../.. 24 else25 DEPTH = ../../..26 endif27 23 include $(KBUILD_PATH)/subheader.kmk 28 24 25 26 # 29 27 # Include sub-makefile(s). 28 # 30 29 ifdef VBOX_WITH_WEBSERVICES 31 30 include $(PATH_SUB_CURRENT)/webservice/Makefile.kmk … … 33 32 include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk 34 33 34 35 35 # 36 36 # Targets and globals (bit of a mess...) 37 37 # 38 VBOX_PATH_MAIN_SRC := $(PATH_SUB_CURRENT) 39 38 40 ifndef VBOX_ONLY_SDK 39 LIBRARIES += VBoxCOM40 DLLS += VBoxSettings VBoxC41 PROGRAMS += VBoxSVC42 41 VBOX_FN_MAKE_WIN_PATH = $(subst /,\\,$(1)) 43 42 else 44 43 # used by some rules 45 44 PATH_VBoxCOM = $(PATH_TARGET)/VBoxCOM 46 BLDDIRS += 45 BLDDIRS += $(PATH_VBoxCOM) $(PATH_BIN)/components 47 46 # I'm Evil! Dr. Evil. 48 47 include $(KBUILD_PATH)/tools/VCC70.kmk … … 52 51 endif #!VBOX_ONLY_SDK 53 52 54 OTHERS += $(VBOX_PATH_SDK)/bindings/VirtualBox.xidl 53 54 # Construct VBOX_MAIN_DEFS 55 ## @todo eliminate or expand VBOX_MAIN_DEFS. 55 56 VBOX_MAIN_DEFS = 56 57 ifneq ($(KBUILD_TARGET),win) 57 58 ifndef VBOX_WITH_XPCOM 58 59 $(error "VBox: VBOX_WITH_XPCOM isn't defined") 59 endif60 ifndef VBOX_ONLY_SDK61 DLLS += VBoxSVCM62 60 endif 63 61 ifneq ($(KBUILD_TARGET),os2) … … 82 80 endif 83 81 84 ## @todo eliminate or expand VBOX_MAIN_DEFS.85 86 #PROGRAMS += tstCFGLdr87 88 82 VBOX_IDL_FILE.MSCOM = $(VBOX_PATH_SDK)/bindings/mscom/idl/VirtualBox.idl 89 83 VBOX_IDL_FILE.XPCOM = $(VBOX_PATH_SDK)/bindings/xpcom/idl/VirtualBox_XPCOM.idl … … 92 86 VBOX_IDL_HEADER.XPCOM = $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h 93 87 94 ifdef VBOX_ONLY_SDK 95 VBOX_NEED_MSCOM = 1 96 VBOX_NEED_XPCOM = 1 97 endif 98 99 ifeq ($(KBUILD_TARGET),win) 100 INSTALLS += VBoxMain-com-inst 101 VBOX_NEED_MSCOM = 1 102 else 103 VBOX_NEED_XPCOM = 1 104 endif 105 106 ifdef VBOX_NEED_MSCOM 88 # The MS COM specific stuff. 89 if defined(VBOX_ONLY_SDK) || "$(KBUILD_TARGET)" == "win" 107 90 OTHERS += \ 108 91 $(VBOX_IDL_FILE.MSCOM) \ … … 122 105 endif 123 106 124 ifdef VBOX_NEED_XPCOM 107 # The XPCOM specific stuff. 108 if defined(VBOX_ONLY_SDK) || "$(KBUILD_TARGET)" != "win" 125 109 OTHERS += $(VBOX_IDL_FILE.XPCOM) $(VBOX_IDL_TYPELIB.XPCOM) $(VBOX_IDL_HEADER.XPCOM) 126 110 OTHER_CLEAN += \ … … 134 118 135 119 136 VBOX_PATH_MAIN_SRC := $(PATH_SUB_CURRENT)137 138 120 # 139 121 # The Main API documentation 140 122 # 123 VBOX_MAIN_DOC_DIR = $(VBOX_PATH_SDK)/docs 124 BLDDIRS += $(VBOX_MAIN_DOC_DIR) 125 141 126 docs: $(PATH_TARGET)/docs.Main 142 143 DOCDIR = $(VBOX_PATH_SDK)/docs/144 127 145 128 $(PATH_TARGET)/docs.Main: \ … … 147 130 $(VBOX_PATH_MAIN_SRC)/idl/doxygen.xsl \ 148 131 $(VBOX_PATH_MAIN_SRC)/idl/VirtualBox.xidl \ 149 | $( call DIRDEP, $(PATH_TARGET))\150 $(call DIRDEP, $(DOCDIR))151 $(RM) -f $(wildcard $( DOCDIR)/html/*)132 | $(PATH_TARGET)/ \ 133 $(VBOX_MAIN_DOC_DIR)/ 134 $(RM) -f $(wildcard $(VBOX_MAIN_DOC_DIR)/html/*) $(PATH_TARGET)/docs.Main 152 135 $(VBOX_XSLTPROC) -o $(PATH_TARGET)/VirtualBox.idl $(VBOX_PATH_MAIN_SRC)/idl/doxygen.xsl $(VBOX_PATH_MAIN_SRC)/idl/VirtualBox.xidl 153 $(REDIRECT) -E 'DOCDIR=$( DOCDIR)' -E 'PATH_TARGET=$(PATH_TARGET)' -E 'PATH_CHM=$(subst /,\,$(DOCDIR)/VirtualBoxAPI.chm)' \136 $(REDIRECT) -E 'DOCDIR=$(VBOX_MAIN_DOC_DIR)' -E 'PATH_TARGET=$(PATH_TARGET)' -E 'PATH_CHM=$(subst /,\,$(VBOX_MAIN_DOC_DIR)/VirtualBoxAPI.chm)' \ 154 137 -- doxygen $(VBOX_PATH_MAIN_SRC)/Doxyfile.Main 155 -$(EXEC_X86_WIN32) $(VBOX_PATH_HTML_HELP_WORKSHOP)/hhc.exe $(subst /,\\,$( DOCDIR)/html/index.hhp)138 -$(EXEC_X86_WIN32) $(VBOX_PATH_HTML_HELP_WORKSHOP)/hhc.exe $(subst /,\\,$(VBOX_MAIN_DOC_DIR)/html/index.hhp) 156 139 $(APPEND) $(PATH_TARGET)/docs.Main 157 140 158 $(call DIRDEP, $(DOCDIR)): 159 $(MKDIR) -p $@ 160 161 $(VBOX_PATH_SDK)/bindings/VirtualBox.xidl: $(VBOX_PATH_MAIN_SRC)/idl/VirtualBox.xidl 162 $(QUIET)$(MKDIR) -p $(VBOX_PATH_SDK)/bindings 163 $(QUIET)$(CP) $< $@ 141 142 # 143 # Some SDK bit. 144 # 145 INSTALLS += VBox-main-xidl 146 VBox-main-xidl_INST = $(INST_SDK)bindings/ 147 VBox-main-xidl_SOURCES = idl/VirtualBox.xidl 148 149 150 ifndef VBOX_ONLY_SDK # Note this goes on for *very* long 151 152 # 153 # Generate SchemaDefs.h and SchemaDefs.cpp from XML Schema 154 # These two files are used by both VBoxC and VBoxSVC. 155 # 156 BLDDIRS += $(PATH_TARGET)/Main 157 VBOX_XML_SCHEMADEFS_H = $(PATH_TARGET)/Main/SchemaDefs.h 158 VBOX_XML_SCHEMADEFS_CPP = $(PATH_TARGET)/Main/SchemaDefs.cpp 159 VBOX_XML_SCHEMADEFS_XSL = $(VBOX_PATH_MAIN_SRC)/xml/SchemaDefs.xsl 160 161 OTHER_CLEAN += $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP) 162 163 $(VBOX_XML_SCHEMADEFS_H): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA.$(KBUILD_TARGET)) $(VBOX_XML_SCHEMA_COMMON) | $$(dir $$@) 164 $(call MSG_GENERATE,SchemaDefs,$<,$@) 165 $(VBOX_XSLTPROC) --stringparam mode declare -o $@ $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA.$(KBUILD_TARGET)) 166 167 $(VBOX_XML_SCHEMADEFS_CPP): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA.$(KBUILD_TARGET)) $(VBOX_XML_SCHEMA_COMMON) | $$(dir $$@) 168 $(call MSG_GENERATE,SchemaDefs,$<,$@) 169 $(VBOX_XSLTPROC) --stringparam mode define -o $@ $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA.$(KBUILD_TARGET)) 170 171 testschemadefs: $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP) 172 164 173 165 174 # 166 175 # VBoxSVC executable 167 176 # 177 PROGRAMS += VBoxSVC 168 178 VBoxSVC_TEMPLATE = VBOXMAINEXE 169 179 VBoxSVC_DEFS = \ … … 186 196 187 197 ifdef VBOX_WITH_USB 188 VBoxSVC_DEFS += \189 VBOX_WITH_USB \190 $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI,) \191 $(if $(VBOX_WITH_NEW_USB_CODE_ON_DARWIN),VBOX_WITH_NEW_USB_CODE_ON_DARWIN,)198 VBoxSVC_DEFS += \ 199 VBOX_WITH_USB \ 200 $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI,) \ 201 $(if $(VBOX_WITH_NEW_USB_CODE_ON_DARWIN),VBOX_WITH_NEW_USB_CODE_ON_DARWIN,) 192 202 endif 193 203 … … 202 212 include \ 203 213 $(PATH_VBoxSVC) \ 214 $(dir $(VBOX_XML_SCHEMADEFS_H)) \ 204 215 . 205 216 VBoxSVC_INCS.win = \ … … 227 238 endif 228 239 229 VBoxSVC_INTERMEDIATES = $(VBOX_MAIN_PREREQS) 240 VBoxSVC_INTERMEDIATES = \ 241 $(VBOX_MAIN_PREREQS) \ 242 $(VBOX_XML_SCHEMADEFS_H) 230 243 231 244 VBoxSVC_SOURCES = \ … … 262 275 BIOSSettingsImpl.cpp \ 263 276 $(if $(VBOX_WITH_VRDP),VRDPServerImpl.cpp,) \ 264 $(if $(VBOX_WITH_XPCOM),xpcom/server.cpp,) 277 $(if $(VBOX_WITH_XPCOM),xpcom/server.cpp,) \ 278 $(VBOX_XML_SCHEMADEFS_CPP) 265 279 266 280 VBoxSVC_SOURCES.darwin = \ … … 279 293 280 294 ifdef VBOX_WITH_USB 281 VBoxSVC_SOURCES += \282 USBDeviceFilterImpl.cpp \283 USBProxyService.cpp \284 HostUSBDeviceImpl.cpp285 VBoxSVC_SOURCES.darwin += darwin/USBProxyServiceDarwin.cpp286 VBoxSVC_SOURCES.linux += linux/USBProxyServiceLinux.cpp287 VBoxSVC_SOURCES.os2 += os2/USBProxyServiceOs2.cpp288 VBoxSVC_SOURCES.solaris += solaris/USBProxyServiceSolaris.cpp289 VBoxSVC_SOURCES.win += win/USBProxyServiceWindows.cpp290 endif 291 292 VBoxSVC_LDFLAGS.darwin = -framework IOKit -framework SystemConfiguration295 VBoxSVC_SOURCES += \ 296 USBDeviceFilterImpl.cpp \ 297 USBProxyService.cpp \ 298 HostUSBDeviceImpl.cpp 299 VBoxSVC_SOURCES.darwin += darwin/USBProxyServiceDarwin.cpp 300 VBoxSVC_SOURCES.linux += linux/USBProxyServiceLinux.cpp 301 VBoxSVC_SOURCES.os2 += os2/USBProxyServiceOs2.cpp 302 VBoxSVC_SOURCES.solaris += solaris/USBProxyServiceSolaris.cpp 303 VBoxSVC_SOURCES.win += win/USBProxyServiceWindows.cpp 304 endif 305 306 VBoxSVC_LDFLAGS.darwin = -framework IOKit -framework SystemConfiguration 293 307 ifeq ($(KBUILD_TYPE),debug) 294 VBoxSVC_LDFLAGS.linux+= -rdynamic # for backtrace_symbols()308 VBoxSVC_LDFLAGS.linux += -rdynamic # for backtrace_symbols() 295 309 endif 296 310 297 311 ifdef VBOX_WITH_RESOURCE_USAGE_API 298 VBoxSVC_SOURCES += \ 299 PerformanceImpl.cpp \ 300 Performance.cpp 301 VBoxSVC_SOURCES.darwin += darwin/PerformanceDarwin.cpp 302 VBoxSVC_SOURCES.linux += linux/PerformanceLinux.cpp 303 VBoxSVC_SOURCES.os2 += os2/PerformanceOs2.cpp 304 VBoxSVC_SOURCES.solaris += solaris/PerformanceSolaris.cpp 305 VBoxSVC_SOURCES.win += win/PerformanceWin.cpp 306 VBoxSVC_LDFLAGS.darwin += -lproc 307 VBoxSVC_LDFLAGS.solaris += -lkstat 308 VBoxSVC_LDFLAGS.win += wbemuuid.lib powrprof.lib 309 endif 310 311 win/VBoxSVC.rc_INCS = $(PATH_TARGET) 312 win/VBoxSVC.rc_DEPS = $(PATH_TARGET)/VBoxSVC.rgs $(PATH_TARGET)/VBoxSVC-icon.rc 313 win/VBoxSVC.rc_CLEAN = $(PATH_TARGET)/VBoxSVC-icon.rc 314 315 $(PATH_TARGET)/VBoxSVC-icon.rc: $(MAKEFILE_CURRENT) $(VBOX_WINDOWS_ICON_FILE) | $$(call DIRDEP,$$(@D)) 316 $(RM) -f $@ 317 $(APPEND) $@ '1 ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"' 312 VBoxSVC_SOURCES += \ 313 PerformanceImpl.cpp \ 314 Performance.cpp 315 VBoxSVC_SOURCES.darwin += darwin/PerformanceDarwin.cpp 316 VBoxSVC_SOURCES.linux += linux/PerformanceLinux.cpp 317 VBoxSVC_SOURCES.os2 += os2/PerformanceOs2.cpp 318 VBoxSVC_SOURCES.solaris += solaris/PerformanceSolaris.cpp 319 VBoxSVC_SOURCES.win += win/PerformanceWin.cpp 320 VBoxSVC_LDFLAGS.darwin += -lproc 321 VBoxSVC_LDFLAGS.solaris += -lkstat 322 VBoxSVC_LDFLAGS.win += wbemuuid.lib powrprof.lib 323 endif 324 325 win/VBoxSVC.rc_INCS = $(PATH_VBoxSVC) 326 win/VBoxSVC.rc_DEPS = $(PATH_VBoxSVC)/VBoxSVC.rgs $(PATH_VBoxSVC)/VBoxSVC-icon.rc 327 win/VBoxSVC.rc_CLEAN = $(PATH_VBoxSVC)/VBoxSVC.rgs $(PATH_VBoxSVC)/VBoxSVC-icon.rc 328 329 $$(PATH_VBoxSVC)/VBoxSVC-icon.rc: $(MAKEFILE_CURRENT) $(VBOX_WINDOWS_ICON_FILE) | $$(dir $$(@D)) 330 $(APPEND) -t $@ '1 ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"' 331 332 $$(PATH_VBoxSVC)/VBoxSVC.rgs: $(VBOX_PATH_MAIN_SRC)/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$(@D)) 333 $(VBOX_XSLTPROC) --stringparam Module VBoxSVC -o $@ $< $(VBOX_XIDL_FILE) 334 335 # 336 # Embed XML Schema files to VBoxSVC 337 # 338 VBOX_XML_SCHEMA_COMMON = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-common.xsd 339 VBOX_XML_SCHEMA.darwin = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-macosx.xsd 340 VBOX_XML_SCHEMA.linux = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-linux.xsd 341 VBOX_XML_SCHEMA.freebsd = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-freebsd.xsd 342 VBOX_XML_SCHEMA.win = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-windows.xsd 343 VBOX_XML_SCHEMA.os2 = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-os2.xsd 344 VBOX_XML_SCHEMA.solaris = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-solaris.xsd 345 346 VBOX_XML_CONVERTER_TEMPLATE = $(VBOX_PATH_MAIN_SRC)/xml/SettingsConverter.xsl 347 348 $$(PATH_VBoxSVC)/xml_VirtualBox_settings_xsd.h: $(VBOX_XML_SCHEMA.$(KBUILD_TARGET)) $(VBOX_BIN2C) 349 $(call MSG_TOOL,bin2c,VBoxSVC,$<,$@) 350 $(QUIET)$(VBOX_BIN2C) _xml_VirtualBox_settings_xsd $< $@ 351 352 $$(PATH_VBoxSVC)/xml_VirtualBox_settings_common_xsd.h: $(VBOX_XML_SCHEMA_COMMON) $(VBOX_BIN2C) 353 $(call MSG_TOOL,bin2c,VBoxSVC,$<,$@) 354 $(QUIET)$(VBOX_BIN2C) _xml_VirtualBox_settings_common_xsd $< $@ 355 356 $$(PATH_VBoxSVC)/xml_SettingsConverter_xsl.h: $(VBOX_XML_CONVERTER_TEMPLATE) $(VBOX_BIN2C) 357 $(call MSG_TOOL,bin2c,VBoxSVC,$<,$@) 358 $(QUIET)$(VBOX_BIN2C) _xml_SettingsConverter_xsl $< $@ 359 360 VirtualBoxImplExtra.cpp_DEPS = \ 361 $(PATH_VBoxSVC)/xml_VirtualBox_settings_xsd.h \ 362 $(PATH_VBoxSVC)/xml_VirtualBox_settings_common_xsd.h \ 363 $(PATH_VBoxSVC)/xml_SettingsConverter_xsl.h 364 VBoxSVC_CLEAN += $(VirtualBoxImplExtra.cpp_DEPS) 365 318 366 319 367 320 368 ifdef VBOX_WITH_XPCOM 321 369 # 322 # VBoxSVC wrapper module 323 # 370 # VBoxSVCM - VBoxSVC wrapper module 371 # 372 DLLS += VBoxSVCM 324 373 VBoxSVCM_TEMPLATE = VBOXMAINCOMP 325 374 VBoxSVCM_DEFS = IN_RING3 $(VBOX_MAIN_DEFS) … … 333 382 VBoxSVCM_LDFLAGS.darwin = \ 334 383 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxSVCM.dylib \ 335 -exported_symbols_list $(PATH_ TARGET)/VBoxSVCM.def336 ifeq ($(KBUILD_TARGET),darwin)337 VBoxSVCM_ORDERDEPS += $(PATH_ TARGET)/VBoxSVCM.def338 VBoxSVCM_CLEAN += $(PATH_ TARGET)/VBoxSVCM.def339 $ (PATH_TARGET)/VBoxSVCM.def:384 -exported_symbols_list $(PATH_VBoxSVCM)/VBoxSVCM.def 385 ifeq ($(KBUILD_TARGET),darwin) 386 VBoxSVCM_ORDERDEPS += $(PATH_VBoxSVCM)/VBoxSVCM.def 387 VBoxSVCM_CLEAN += $(PATH_VBoxSVCM)/VBoxSVCM.def 388 $$(PATH_VBoxSVCM)/VBoxSVCM.def: 340 389 $(RM) -f $@ 341 390 $(APPEND) $@ _NSGetModule 342 endif391 endif 343 392 VBoxSVCM_INTERMEDIATES += $(VBOX_IDL_HEADER.XPCOM) 344 393 … … 349 398 # VBoxC module 350 399 # 400 DLLS += VBoxC 351 401 VBoxC_TEMPLATE = VBOXMAINCOMP 352 402 VBoxC_DEFS = \ … … 374 424 VBoxC_INCS = \ 375 425 include \ 376 $(PATH_VBoxC) 426 $(PATH_VBoxC) \ 427 $(dir $(VBOX_XML_SCHEMADEFS_H)) 377 428 VBoxC_INCS.win = \ 378 429 $(PATH_VBoxCOM) \ … … 381 432 VBoxC_LDFLAGS.darwin = \ 382 433 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxC.dylib \ 383 -exported_symbols_list $(PATH_ TARGET)/VBoxC.def434 -exported_symbols_list $(PATH_VBoxC)/VBoxC.def 384 435 ifdef VBOX_USE_VCC80 385 436 VBoxC_LDFLAGS.win = /MANIFEST … … 390 441 $(LIB_REM) 391 442 392 VBoxC_INTERMEDIATES = $(VBOX_MAIN_PREREQS) 443 VBoxC_INTERMEDIATES = \ 444 $(VBOX_MAIN_PREREQS) \ 445 $(VBOX_XML_SCHEMADEFS_H) 393 446 394 447 VBoxC_SOURCES = \ … … 416 469 VBoxDriversRegister.cpp \ 417 470 AudioSnifferInterface.cpp \ 418 VMMDevInterface.cpp 471 VMMDevInterface.cpp \ 472 $(VBOX_XML_SCHEMADEFS_CPP) 419 473 VBoxC_SOURCES.win = \ 420 474 win/dllmain.cpp \ 421 475 win/VBoxC.def \ 422 476 win/VBoxC.rc 477 423 478 ifdef VBOX_WITH_XPCOM 424 479 VBoxC_SOURCES += \ … … 439 494 440 495 ifeq ($(KBUILD_TARGET),darwin) 441 VBoxC_ORDERDEPS += $(PATH_ TARGET)/VBoxC.def442 VBoxC_CLEAN += $(PATH_TARGET)/VBoxC.def443 $ (PATH_TARGET)/VBoxC.def: $(MAKEFILE_CURRENT)496 VBoxC_ORDERDEPS += $(PATH_VBoxC)/VBoxC.def 497 VBoxC_CLEAN += $(PATH_VBoxC)/VBoxC.def 498 $$(PATH_VBoxC)/VBoxC.def: $(MAKEFILE_CURRENT) 444 499 $(RM) -f $@ 445 500 $(APPEND) $@ _NSGetModule … … 447 502 endif 448 503 449 # Version.cpp uses VBOX_SVN_REV.450 Version.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)451 Version.cpp_DEPS = $(VBOX_SVN_REV_KMK)452 453 504 ConsoleImpl.cpp_DEFS = VBOX_BUILD_TARGET=\"$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)\" 454 505 455 win/VBoxC.rc_DEPS = $(PATH_TARGET)/VBoxC.rgs $(PATH_VBoxCOM)/VirtualBox.tlb 506 Version.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV) 507 Version.cpp_DEPS = $(VBOX_SVN_REV_KMK) 508 509 win/VBoxC.rc_DEPS = $(PATH_VBoxC)/VBoxC.rgs $(PATH_VBoxCOM)/VirtualBox.tlb 510 VBoxC_CLEAN.win += $(PATH_VBoxC)/VBoxC.rgs 511 512 $$(PATH_VBoxC)/VBoxC.rgs: $(VBOX_PATH_MAIN_SRC)/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(PATH_VBoxC)/ 513 $(VBOX_XSLTPROC) --stringparam Module VBoxC -o $@ $< $(VBOX_XIDL_FILE) 456 514 457 515 … … 459 517 # VBoxSettings 460 518 # 519 DLLS += VBoxSettings 461 520 VBoxSettings_TEMPLATE = VBOXMAINDLL 462 521 VBoxSettings_NAME = $(basename $(notdir $(LIB_SETTINGS))) … … 464 523 VBoxSettings_DEFS = IN_VBOXSETTINGS_R3 465 524 VBoxSettings_INCS = \ 466 include \ 467 $(PATH_TARGET) 525 include 468 526 VBoxSettings_SOURCES = \ 469 527 xml/Settings.cpp … … 474 532 # VBoxCOM - COM Abstraction Layer library 475 533 # 534 LIBRARIES += VBoxCOM 476 535 VBoxCOM_TEMPLATE = VBOXMAINLIB 477 536 VBoxCOM_INTERMEDIATES = $(VBOX_MAIN_PREREQS) … … 487 546 VBoxCOM_SOURCES += \ 488 547 $(PATH_VBoxCOM)/VirtualBox_i.c 489 else 548 else # !win 490 549 VBoxCOM_INCS += \ 491 550 include 492 551 VBoxCOM_SOURCES += \ 493 552 xpcom/helpers.cpp 494 endif 495 496 497 # 498 # Embed XML Schema files to VBoxSVC 499 # 500 VBOX_XML_SCHEMA_H = $(PATH_TARGET)/xml_VirtualBox_settings_xsd.h 501 VBOX_XML_SCHEMA_COMMON_H = $(PATH_TARGET)/xml_VirtualBox_settings_common_xsd.h 502 VBOX_XML_CONVERTER_TEMPLATE_H = $(PATH_TARGET)/xml_SettingsConverter_xsl.h 503 504 VBOX_XML_SCHEMA_COMMON = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-common.xsd 505 VBOX_XML_SCHEMA.darwin = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-macosx.xsd 506 VBOX_XML_SCHEMA.linux = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-linux.xsd 507 VBOX_XML_SCHEMA.freebsd = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-freebsd.xsd 508 VBOX_XML_SCHEMA.win = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-windows.xsd 509 VBOX_XML_SCHEMA.os2 = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-os2.xsd 510 VBOX_XML_SCHEMA.solaris = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings-solaris.xsd 511 512 VBOX_XML_CONVERTER_TEMPLATE = $(VBOX_PATH_MAIN_SRC)/xml/SettingsConverter.xsl 513 514 VirtualBoxImplExtra.cpp_DEPS = \ 515 $(VBOX_XML_SCHEMA_H) $(VBOX_XML_SCHEMA_COMMON_H) $(VBOX_XML_CONVERTER_TEMPLATE_H) 516 517 $(VBOX_XML_SCHEMA_H): $(VBOX_XML_SCHEMA.$(KBUILD_TARGET)) $(VBOX_BIN2C) 518 $(call MSG_TOOL,bin2c,VBoxSVC,$<,$@) 519 $(QUIET)$(VBOX_BIN2C) _xml_VirtualBox_settings_xsd $< $@ 520 521 $(VBOX_XML_SCHEMA_COMMON_H): $(VBOX_XML_SCHEMA_COMMON) $(VBOX_BIN2C) 522 $(call MSG_TOOL,bin2c,VBoxSVC,$<,$@) 523 $(QUIET)$(VBOX_BIN2C) _xml_VirtualBox_settings_common_xsd $< $@ 524 525 $(VBOX_XML_CONVERTER_TEMPLATE_H): $(VBOX_XML_CONVERTER_TEMPLATE) $(VBOX_BIN2C) 526 $(call MSG_TOOL,bin2c,VBoxSVC,$<,$@) 527 $(QUIET)$(VBOX_BIN2C) _xml_SettingsConverter_xsl $< $@ 528 529 OTHER_CLEAN += \ 530 $(VBOX_XML_SCHEMA_H) $(VBOX_XML_SCHEMA_COMMON_H) $(VBOX_XML_CONVERTER_TEMPLATE_H) 531 532 533 # 534 # Generate SchemaDefs.h and SchemaDefs.cpp from XML Schema 535 # 536 VBOX_XML_SCHEMADEFS_H = $(PATH_TARGET)/SchemaDefs.h 537 VBOX_XML_SCHEMADEFS_CPP = $(PATH_TARGET)/SchemaDefs.cpp 538 VBOX_XML_SCHEMADEFS_XSL = $(VBOX_PATH_MAIN_SRC)/xml/SchemaDefs.xsl 539 540 VBoxC_INTERMEDIATES += $(VBOX_XML_SCHEMADEFS_H) 541 VBoxC_INCS += $(PATH_TARGET) 542 VBoxC_SOURCES += $(VBOX_XML_SCHEMADEFS_CPP) 543 544 VBoxSVC_INTERMEDIATES += $(VBOX_XML_SCHEMADEFS_H) 545 VBoxSVC_INCS += $(PATH_TARGET) 546 VBoxSVC_SOURCES += $(VBOX_XML_SCHEMADEFS_CPP) 547 548 OTHER_CLEAN += $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP) 549 550 $(VBOX_XML_SCHEMADEFS_H): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA.$(KBUILD_TARGET)) $(VBOX_XML_SCHEMA_COMMON) 551 $(call MSG_TOOL,xsltproc,SchemaDefs,$<,$@) 552 $(QUIET)$(VBOX_XSLTPROC) --stringparam mode declare -o $@ $(filter-out $(VBOX_XML_SCHEMA_COMMON),$^) 553 554 $(VBOX_XML_SCHEMADEFS_CPP): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA.$(KBUILD_TARGET)) $(VBOX_XML_SCHEMA_COMMON) 555 $(call MSG_TOOL,xsltproc,SchemaDefs,$<,$@) 556 $(QUIET)$(VBOX_XSLTPROC) --stringparam mode define -o $@ $(filter-out $(VBOX_XML_SCHEMA_COMMON),$^) 553 endif # !win 554 555 556 endif # !VBOX_ONLY_SDK (the ifndef is far above) 557 557 558 558 … … 560 560 # Installs com related thing(s) to bin. 561 561 # 562 INSTALLS.win += VBoxMain-com-inst 562 563 VBoxMain-com-inst_INST = $(INST_BIN) 563 564 VBoxMain-com-inst_SOURCES = \ … … 565 566 566 567 567 568 569 568 # generate rules 570 569 include $(KBUILD_PATH)/subfooter.kmk 570 571 571 572 572 573 # … … 609 610 $(QUIET)$(VBOX_XSLTPROC) -o $@ $^ 610 611 611 $(PATH_TARGET)/VBoxSVC.rgs: $(VBOX_PATH_MAIN_SRC)/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) 612 $(VBOX_XSLTPROC) --stringparam Module VBoxSVC -o $@ $^ 613 614 $(PATH_TARGET)/VBoxC.rgs: $(VBOX_PATH_MAIN_SRC)/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) 615 $(VBOX_XSLTPROC) --stringparam Module VBoxC -o $@ $^ 612 613 # Aliases for testing purposes. 614 ifdef VBOX_WITH_XPCOM 615 testidl: $(VBOX_IDL_FILE.XPCOM) $(VBOX_IDL_TYPELIB.XPCOM) 616 testidlhdr: $(VBOX_IDL_HEADER.XPCOM) 617 else 618 testidl: $(VBOX_IDL_FILE.MSCOM) $(PATH_VBoxCOM)/VirtualBox_i.c 619 endif 620 616 621 617 622 ## @todo r=bird: last changes to this rule showed incorrect dependencies here as it broke testcase (see testboxwin2). 618 623 # This is kind of obvious when looking at the rule, because it's (a) not specifing all it output 619 # and (b) generating more stuff *after* the main target has been completed.624 # and (b) generating more stuff *after* the main target has been completed. 620 625 # 621 626 # What needs to be done is to not depend on _i.c in the object subdir, but on all the final outputs. … … 646 651 include/HostDVDDriveImpl.h \ 647 652 include/HostFloppyDriveImpl.h 653 VBoxSVC_VBOX_TRANSLATIONS = \ 654 nls/VBoxSVC_de.ts 648 655 649 656 VBoxC_VBOX_HEADERS = \ 650 657 include/ConsoleImpl.h 651 652 VBoxSVC_VBOX_TRANSLATIONS = \653 nls/VBoxSVC_de.ts654 655 658 VBoxC_VBOX_TRANSLATIONS = \ 656 659 nls/VBoxC_de.ts … … 660 663 $(VBOX_LUPDATE) $(VBoxC_SOURCES) $(VBoxC_VBOX_HEADERS) -ts $(VBoxC_VBOX_TRANSLATIONS) 661 664 662 ifdef VBOX_WITH_XPCOM663 664 testidl: $(VBOX_IDL_FILE.XPCOM) $(VBOX_IDL_TYPELIB.XPCOM)665 testidlhdr: $(VBOX_IDL_HEADER.XPCOM)666 667 else668 669 testidl: $(VBOX_IDL_FILE.MSCOM) $(PATH_VBoxCOM)/VirtualBox_i.c670 671 endif672 673 testschemadefs: $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP)674 675 676 # Hot fix when dependencies goes bad again...677 #.NOTPARALLEL: $(TARGET_VBoxC) $(TARGET_VBoxSVC) $(TARGET_VBoxCOM) $(VBOX_IDL_HEADER) $(IDLFILE) $(PATH_VBoxCOM)/VirtualBox_i.c678 -
trunk/src/VBox/Main/testcase/Makefile.kmk
r12170 r12244 20 20 # 21 21 22 ifdef VBOX_SINGLE_MAKEFILE23 22 SUB_DEPTH = ../../../.. 24 else25 DEPTH ?= ../../../..26 SUB_DEPTH = ..27 endif28 23 include $(KBUILD_PATH)/subheader.kmk 29 24 30 ifdef VBOX_ONLY_SDK 31 VBOX_NEED_MSCOM_SAMPLE = 1 32 VBOX_NEED_XPCOM_SAMPLE = 1 33 else # !VBOX_ONLY_SDK 34 ifeq ($(KBUILD_TARGET),win) 35 VBOX_NEED_MSCOM_SAMPLE = 1 36 else 37 VBOX_NEED_XPCOM_SAMPLE = 1 38 endif 39 ifdef VBOX_WITH_TESTCASES 25 # 26 # Target and globals (small mess) 27 # 28 ifndef VBOX_ONLY_SDK 29 if defined(VBOX_WITH_TESTCASES) || "$(USERNAME)" == "dmik" 40 30 PROGRAMS += tstAPI 41 PROGRAMS.linux += tstVBoxAPILinux 42 # That testcase is actually not linux specific, it's generic XPCOM. 43 PROGRAMS.solaris += tstVBoxAPILinux 44 PROGRAMS.win += tstVBoxAPIWin 31 ifdef VBOX_WITH_XPCOM 32 PROGRAMS += tstVBoxAPILinux 33 else 34 PROGRAMS += tstVBoxAPIWin 35 endif 45 36 ifdef VBOX_WITH_RESOURCE_USAGE_API 46 37 PROGRAMS += tstCollector 47 38 endif 48 else ifeq ($(USERNAME),dmik)49 PROGRAMS += tstAPI50 PROGRAMS.linux += tstVBoxAPILinux51 # That testcase is actually not linux specific, it's generic XPCOM.52 PROGRAMS.solaris += tstVBoxAPILinux53 PROGRAMS.win += tstVBoxAPIWin54 39 endif # !VBOX_WITH_TESTCASES 55 40 endif # !VBOX_ONLY_SDK 56 57 ifdef VBOX_NEED_MSCOM_SAMPLE 41 if defined(VBOX_ONLY_SDK) || !defined(VBOX_WITH_XPCOM) 58 42 INSTALLS += samplesMSCOM 59 43 endif 60 61 ifdef VBOX_NEED_XPCOM_SAMPLE 44 if defined(VBOX_ONLY_SDK) || defined(VBOX_WITH_XPCOM) 62 45 INSTALLS += samplesXPCOM 63 46 endif 64 47 65 # maybe, if will ship glue COM headers with SDK66 #INSTALLS += tstAPI67 48 68 49 # … … 77 58 samplesXPCOM_SOURCES = tstVBoxAPILinux.cpp makefile.tstVBoxAPILinux=>Makefile 78 59 60 79 61 # 80 62 # tstAPI … … 84 66 tstAPI_SOURCES = tstAPI.cpp 85 67 ifeq ($(KBUILD_TARGET),win) ## @todo just add this to the template. 86 tstAPI_DEPS 68 tstAPI_DEPS = $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h 87 69 else 88 tstAPI_DEPS 70 tstAPI_DEPS = $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h 89 71 endif 90 72 ifdef VBOX_WITH_RESOURCE_USAGE_API … … 99 81 # It comes with a custom makefile which should be tested as well! 100 82 # 101 tstVBoxAPILinux_TEMPLATE = VBOXR3 83 tstVBoxAPILinux_TEMPLATE = VBOXR3EXE 102 84 tstVBoxAPILinux_SOURCES = tstVBoxAPILinux.cpp 103 85 tstVBoxAPILinux_CXXFLAGS = -Wno-non-virtual-dtor -fshort-wchar … … 110 92 $(VBOX_PATH_SDK)/bindings/xpcom/include 111 93 tstVBoxAPILinux_LIBPATH = $(LIBPATH_XPCOM) 112 tstVBoxAPILinux_LIBS = $(LIB_XPCOM) 94 tstVBoxAPILinux_LIBS = $(LIB_XPCOM) $(LIB_RUNTIME) 113 95 tstVBoxAPILinux_DEPS = \ 114 96 $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h 97 115 98 116 99 # … … 123 106 tstVBoxAPIWin_DEPS = \ 124 107 $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h 108 125 109 126 110 #
Note:
See TracChangeset
for help on using the changeset viewer.