Makefile.kmk revision 0a29840869615968f7abf77fb83908f9e660db31
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# Sub-Makefile for the VBox C Binding.
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# Copyright (C) 2009 Sun Microsystems, Inc.
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# 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.
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncSUB_DEPTH = ../../../..
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
033efef0382cea80df31360b44deb8ecf0a32797vboxsyncif "$(KBUILD_TARGET)" == "linux" || defined(VBOX_ONLY_SDK)
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync# The samples
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncINSTALLS += XpComCSamples
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCSamples_MODE = a+r,u+rw
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCSamples_INST = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncXpComCSamples_SOURCES = \
1c7fb1d12c92bbfa073ed7dfd79b983850e15912vboxsyncINSTALLS += XpComCHeaders
1c7fb1d12c92bbfa073ed7dfd79b983850e15912vboxsyncXpComCHeaders_MODE = a+r,u+rw
1c7fb1d12c92bbfa073ed7dfd79b983850e15912vboxsyncXpComCHeaders_INST = $(INST_SDK)bindings/xpcom/include/
1c7fb1d12c92bbfa073ed7dfd79b983850e15912vboxsyncXpComCHeaders_SOURCES = \
1c7fb1d12c92bbfa073ed7dfd79b983850e15912vboxsync $(XpComCHeaders_0_OUTDIR)/VirtualBox_CXPCOM.h
1c7fb1d12c92bbfa073ed7dfd79b983850e15912vboxsync$$(XpComCHeaders_0_OUTDIR)/VirtualBox_CXPCOM.h: \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(PATH_SUB_CURRENT)/xpcidl.xsl \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_XIDL_FILE) \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync | $$(dir $$@)
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_XSLTPROC) -o $@ $^
182cfd02df76f20daa4f99d0d11b0540e909bf9avboxsyncendif # linux || SDK
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsyncifndef VBOX_ONLY_SDK
33b5e655c06292a07370c8cf4207da691806a7e4vboxsync # The C utility DLL
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync DLLS.linux += VBoxXPCOMC
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync VBoxXPCOMC_TEMPLATE = VBOXMAINDLL
033efef0382cea80df31360b44deb8ecf0a32797vboxsync VBoxXPCOMC_DEFS = MOZ_UNICODE IN_VBOXXPCOMC
033efef0382cea80df31360b44deb8ecf0a32797vboxsync VBoxXPCOMC_SOURCES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync ifdef VBOX_WITH_TESTCASES
3e8a029da170ccd46db1dedcba7034b38078a82avboxsync # The testcase (also in samples).
9446711dd04e377f0de8160e1a191ad33d2032f1vboxsync tstXPCOMC_TEMPLATE = VBOXR3
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync tstXPCOMC_DEFS = MOZ_UNICODE
96f3acffe761f0265957167a9d51fc6a7330b3f1vboxsync tstXPCOMC_INCS = \
033efef0382cea80df31360b44deb8ecf0a32797vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include \
3e8a029da170ccd46db1dedcba7034b38078a82avboxsync tstXPCOMC_INTERMEDIATES = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_CXPCOM.h
a251e09c45654264f660f69396b08b38e813efb9vboxsync tstXPCOMC_SOURCES = \
a251e09c45654264f660f69396b08b38e813efb9vboxsync tstXPCOMC_LIBS = \
033efef0382cea80df31360b44deb8ecf0a32797vboxsync $(VBoxXPCOMC_1_TARGET)
a251e09c45654264f660f69396b08b38e813efb9vboxsync # The testcase (also in samples).
69651be3de19a25c92bceeb0d7d947f46cdd7bbcvboxsync PROGRAMS.linux += tstXPCOMCDynLink
182cfd02df76f20daa4f99d0d11b0540e909bf9avboxsync tstXPCOMCDynLink_TEMPLATE = VBOXR3
a251e09c45654264f660f69396b08b38e813efb9vboxsync tstXPCOMCDynLink_DEFS = MOZ_UNICODE
033efef0382cea80df31360b44deb8ecf0a32797vboxsync tstXPCOMCDynLink_INCS = \
659ccabad889fa6a1851dd1e34a5acce0daff787vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include \
4c6a62982e10f932ad80cd99f45f244e1b349273vboxsync tstXPCOMCDynLink_INTERMEDIATES = \
4c6a62982e10f932ad80cd99f45f244e1b349273vboxsync $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_CXPCOM.h
033efef0382cea80df31360b44deb8ecf0a32797vboxsync tstXPCOMCDynLink_SOURCES = \
4c6a62982e10f932ad80cd99f45f244e1b349273vboxsyncendif # ! VBOX_ONLY_SDK
4c6a62982e10f932ad80cd99f45f244e1b349273vboxsync# generate rules.
4c6a62982e10f932ad80cd99f45f244e1b349273vboxsyncinclude $(KBUILD_PATH)/subfooter.kmk