Makefile.kmk revision f60ec22bd796760b850219cbfc447acd8231ab84
e35c08abac84f41e085b0363e18562911434eec2vboxsync# $Id$
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync## @file
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# Sub-Makefile for the VBox C Binding.
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync#
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync#
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# Copyright (C) 2009 Sun Microsystems, Inc.
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync#
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# available from http://www.virtualbox.org. This file is free software;
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# you can redistribute it and/or modify it under the terms of the GNU
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# General Public License (GPL) as published by the Free Software
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync#
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# additional information or have any questions.
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync#
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncSUB_DEPTH = ../../../..
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncif defined(VBOX_WITH_XPCOM) || defined(VBOX_ONLY_SDK)
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync#
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# The samples
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync#
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncINSTALLS += XpComCSamples
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCSamples_MODE = a+r,u+rw
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCSamples_INST = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(INST_SDK)bindings/xpcom/cbinding/samples/
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCSamples_SOURCES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync tstXPCOMCGlue.c \
03959e9e7a1c579c234a4923e576deb5e4886a3fvboxsync tstXPCOMCCall.c \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync makefile.tstXPCOMCGlue=>Makefile
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncINSTALLS += XpComCGlue
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCGlue_MODE = a+r,u+rw
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCGlue_INST = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(INST_SDK)bindings/xpcom/cbinding/
09ac8d4619f93468eb42354e1a1d43822a857fc0vboxsyncXpComCGlue_SOURCES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxXPCOMCGlue.c \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxXPCOMCGlue.h
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncINSTALLS += XpComCHeaders
33b5e655c06292a07370c8cf4207da691806a7e4vboxsyncXpComCHeaders_MODE = a+r,u+rw
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCHeaders_INST = $(INST_SDK)bindings/xpcom/include/
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCHeaders_SOURCES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxCAPI_v2_2.h \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(XpComCHeaders_0_OUTDIR)/VBoxCAPI_v2_5.h
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync$$(XpComCHeaders_0_OUTDIR)/VBoxCAPI_v2_5.h: \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(PATH_SUB_CURRENT)/xpcidl.xsl \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_XIDL_FILE) \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync | $$(dir $$@)
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_XSLTPROC) -o $@ $^
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncendif # VBOX_WITH_XPCOM || SDK
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncif !defined(VBOX_ONLY_SDK) && defined(VBOX_WITH_XPCOM)
96f3acffe761f0265957167a9d51fc6a7330b3f1vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync #
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync # The C utility DLL
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync #
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync ifdef VBOX_WITH_XPCOM
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync DLLS += VBoxXPCOMC
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxXPCOMC_TEMPLATE = VBOXMAINDLL
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxXPCOMC_DEFS = IN_VBOXXPCOMC
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxXPCOMC_SOURCES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxXPCOMC.cpp
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxXPCOMC_INTERMEDIATES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v2_5.h
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync endif
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync #
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync # The C glue library.
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync #
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync LIBRARIES += VBoxXPCOMCGlue
0a29840869615968f7abf77fb83908f9e660db31vboxsync VBoxXPCOMCGlue_TEMPLATE = VBOXMAINEXE
0a29840869615968f7abf77fb83908f9e660db31vboxsync VBoxXPCOMCGlue_DEFS = IN_VBOXXPCOMC
0a29840869615968f7abf77fb83908f9e660db31vboxsync VBoxXPCOMCGlue_SOURCES = \
0a29840869615968f7abf77fb83908f9e660db31vboxsync VBoxXPCOMCGlue.c
0a29840869615968f7abf77fb83908f9e660db31vboxsync VBoxXPCOMCGlue_INTERMEDIATES = \
0a29840869615968f7abf77fb83908f9e660db31vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v2_5.h
0a29840869615968f7abf77fb83908f9e660db31vboxsync
0a29840869615968f7abf77fb83908f9e660db31vboxsync if defined(VBOX_WITH_TESTCASES) && "$(KBUILD_TARGET)" != "darwin"
0a29840869615968f7abf77fb83908f9e660db31vboxsync #
0a29840869615968f7abf77fb83908f9e660db31vboxsync # The testcase (also in samples).
0a29840869615968f7abf77fb83908f9e660db31vboxsync # C testcase using the dynamic glue.
0a29840869615968f7abf77fb83908f9e660db31vboxsync #
0a29840869615968f7abf77fb83908f9e660db31vboxsync PROGRAMS += tstXPCOMCGlue
0a29840869615968f7abf77fb83908f9e660db31vboxsync tstXPCOMCGlue_TEMPLATE = VBOXR3EXE
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync tstXPCOMCGlue_INCS = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync tstXPCOMCGlue_INTERMEDIATES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v2_5.h
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync tstXPCOMCGlue_SOURCES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync tstXPCOMCGlue.c
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync tstXPCOMCGlue_LIBS = \
$(VBoxXPCOMCGlue_1_TARGET)
endif
endif # ! VBOX_ONLY_SDK
# generate rules.
include $(KBUILD_PATH)/subfooter.kmk