VirtualBox

Changeset 40976 in vbox


Ignore:
Timestamp:
Apr 18, 2012 3:44:43 PM (12 years ago)
Author:
vboxsync
Message:

Main/Makefile.kmk: correctly handle COM sdk binding files in INSTALL, avoids clumsy manual copying including the related dependency problems

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/Makefile.kmk

    r40965 r40976  
    55
    66#
    7 # Copyright (C) 2006-2011 Oracle Corporation
     7# Copyright (C) 2006-2012 Oracle Corporation
    88#
    99# This file is part of VirtualBox Open Source Edition (OSE), as
     
    8080if defined(VBOX_ONLY_SDK) || "$(KBUILD_TARGET)" == "win"
    8181 OTHERS         += \
    82         $(VBOX_IDL_FILE.MSCOM) \
    83         $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h \
    84         $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox.tlb \
    85         $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox_i.c
     82        $(VBOX_IDL_FILE.MSCOM)
    8683 OTHER_CLEAN    += \
    87         $(VBOX_IDL_FILE.MSCOM) \
    88         $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h \
    89         $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox.tlb \
    90         $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox_i.c \
    91         $(VBoxCOM_0_OUTDIR)/VirtualBox.h   \
    92         $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
     84        $(VBOX_IDL_FILE.MSCOM)
     85
     86 INSTALLS += VBox-mscom-bindings-include VBox-mscom-bindings-lib
     87 VBox-mscom-bindings-include_INST = $(INST_SDK)bindings/mscom/include/
     88 VBox-mscom-bindings-include_MODE = a+r,u+w
     89 VBox-mscom-bindings-include_SOURCES = $(VBoxCOM_0_OUTDIR)/VirtualBox.h
     90 VBox-mscom-bindings-include_CLEAN = $(VBoxCOM_0_OUTDIR)/VirtualBox.h
     91 VBox-mscom-bindings-lib_INST = $(INST_SDK)bindings/mscom/lib/
     92 VBox-mscom-bindings-lib_MODE = a+r,u+w
     93 VBox-mscom-bindings-lib_SOURCES = $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
    9394        $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
    94 
    95  VBOX_MAIN_PREREQS += $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c
     95 VBox-mscom-bindings-lib_CLEAN = $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
     96        $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
     97
    9698 BLDDIRS += $(VBOX_PATH_SDK)/bindings/mscom/idl
    9799endif
     
    813815
    814816
    815 ## @todo r=bird: last changes to this rule showed incorrect dependencies here as it broke testcase (see testboxwin2).
    816 # This is kind of obvious when looking at the rule, because it's (a) not specifying all it output
    817 # and (b) generating more stuff *after* the main target has been completed.
    818 #
    819 # What needs to be done is to not depend on _i.c in the object subdir, but on all the final outputs.
    820817$(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
    821 + $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox_i.c \
    822818+ $(VBoxCOM_0_OUTDIR)/VirtualBox.h \
    823 + $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h \
    824 + $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb \
    825 + $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox.tlb: $(VBOX_IDL_FILE.MSCOM) | $$(dir $$@)
     819+ $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb: $(VBOX_IDL_FILE.MSCOM) | $$(dir $$@)
    826820        $(VBOX_MAIN_IDL) $(IDL_DEFS) \
    827821                /out $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxCOM_0_OUTDIR)) \
     
    830824                /I idl \
    831825                $(call VBOX_FN_MAKE_WIN_PATH,$<)
    832         $(MKDIR) -p $(VBOX_PATH_SDK)/bindings/mscom/include
    833         $(CP) $(VBoxCOM_0_OUTDIR)/VirtualBox.h $(VBOX_PATH_SDK)/bindings/mscom/include
    834         $(MKDIR) -p $(VBOX_PATH_SDK)/bindings/mscom/lib
    835         $(CP) $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb $(VBOX_PATH_SDK)/bindings/mscom/lib
    836         $(CP) $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c $(VBOX_PATH_SDK)/bindings/mscom/lib
    837826
    838827#
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette