Makefile.kmk revision 84b92f94992703bd050899ec2457ad6dfc354245
0N/A# $Id$
0N/A## @file
0N/A# Sub-Makefile for the VBox C Binding.
0N/A#
0N/A
0N/A#
0N/A# Copyright (C) 2009 Sun Microsystems, Inc.
0N/A#
0N/A# This file is part of VirtualBox Open Source Edition (OSE), as
0N/A# available from http://www.virtualbox.org. This file is free software;
0N/A# you can redistribute it and/or modify it under the terms of the GNU
0N/A# General Public License (GPL) as published by the Free Software
0N/A# Foundation, in version 2 as it comes in the "COPYING" file of the
0N/A# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0N/A# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0N/A#
0N/A# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
0N/A# Clara, CA 95054 USA or visit http://www.sun.com if you need
0N/A# additional information or have any questions.
0N/A#
0N/A
0N/ASUB_DEPTH = ../../../..
0N/Ainclude $(KBUILD_PATH)/subheader.kmk
0N/A
0N/A
0N/Aif defined(VBOX_WITH_XPCOM) || defined(VBOX_ONLY_SDK)
0N/A#
0N/A# The samples
0N/A#
0N/AINSTALLS += XpComCSamples
0N/AXpComCSamples_MODE = a+r,u+rw
0N/AXpComCSamples_INST = \
0N/A $(INST_SDK)bindings/xpcom/cbinding/samples/
0N/AXpComCSamples_SOURCES = \
0N/A tstXPCOMCGlue.c \
0N/A makefile.tstXPCOMCGlue=>Makefile
0N/A
0N/AINSTALLS += XpComCGlue
0N/AXpComCGlue_MODE = a+r,u+rw
0N/AXpComCGlue_INST = \
0N/A $(INST_SDK)bindings/xpcom/cbinding/
0N/AXpComCGlue_SOURCES = \
0N/A VBoxXPCOMCGlue.c \
0N/A VBoxXPCOMCGlue.h
0N/A
0N/AINSTALLS += XpComCHeaders
0N/AXpComCHeaders_MODE = a+r,u+rw
0N/AXpComCHeaders_INST = $(INST_SDK)bindings/xpcom/include/
0N/AXpComCHeaders_SOURCES = \
0N/A $(XpComCHeaders_0_OUTDIR)/VBoxCAPI_v2_2.h
0N/A
0N/A$$(XpComCHeaders_0_OUTDIR)/VBoxCAPI_v2_2.h: \
0N/A $(PATH_SUB_CURRENT)/xpcidl.xsl \
0N/A $(VBOX_XIDL_FILE) \
0N/A | $$(dir $$@)
0N/A $(VBOX_XSLTPROC) -o $@ $^
0N/A
0N/Aendif # VBOX_WITH_XPCOM || SDK
0N/Aif !defined(VBOX_ONLY_SDK) && defined(VBOX_WITH_XPCOM)
0N/A
0N/A #
0N/A # The C utility DLL
0N/A #
0N/A ifdef VBOX_WITH_XPCOM
0N/A DLLS += VBoxXPCOMC
0N/A VBoxXPCOMC_TEMPLATE = VBOXMAINDLL
0N/A VBoxXPCOMC_DEFS = IN_VBOXXPCOMC
0N/A VBoxXPCOMC_SOURCES = \
0N/A VBoxXPCOMC.cpp
0N/A VBoxXPCOMC_INTERMEDIATES = \
0N/A $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v2_2.h
0N/A endif
0N/A
0N/A #
0N/A # The C glue library.
0N/A #
0N/A LIBRARIES += VBoxXPCOMCGlue
0N/A VBoxXPCOMCGlue_TEMPLATE = VBOXMAINEXE
0N/A VBoxXPCOMCGlue_DEFS = IN_VBOXXPCOMC
0N/A VBoxXPCOMCGlue_SOURCES = \
73N/A VBoxXPCOMCGlue.c
73N/A VBoxXPCOMCGlue_INTERMEDIATES = \
73N/A $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v2_2.h
73N/A
73N/A if defined(VBOX_WITH_TESTCASES) && "$(KBUILD_TARGET)" != "darwin"
73N/A #
73N/A # The testcase (also in samples).
73N/A # C testcase using the dynamic glue.
73N/A #
66N/A PROGRAMS += tstXPCOMCGlue
0N/A tstXPCOMCGlue_TEMPLATE = VBOXR3EXE
0N/A tstXPCOMCGlue_INCS = \
0N/A $(VBOX_PATH_SDK)/bindings/xpcom/include
0N/A tstXPCOMCGlue_INTERMEDIATES = \
0N/A $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v2_2.h
0N/A tstXPCOMCGlue_SOURCES = \
0N/A tstXPCOMCGlue.c
0N/A tstXPCOMCGlue_LIBS = \
0N/A $(VBoxXPCOMCGlue_1_TARGET)
0N/A
0N/A endif
0N/A
0N/Aendif # ! VBOX_ONLY_SDK
0N/A
0N/A# generate rules.
0N/Ainclude $(KBUILD_PATH)/subfooter.kmk
0N/A
0N/A