VirtualBox

source: vbox/trunk/src/VBox/Main/cbinding/Makefile.kmk@ 25275

Last change on this file since 25275 was 21525, checked in by vboxsync, 15 years ago

cbinding: added support for VBox 3.0

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1# $Id: Makefile.kmk 21525 2009-07-13 10:07:01Z vboxsync $
2## @file
3# Sub-Makefile for the VBox C Binding.
4#
5
6#
7# Copyright (C) 2009 Sun Microsystems, Inc.
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18# Clara, CA 95054 USA or visit http://www.sun.com if you need
19# additional information or have any questions.
20#
21
22SUB_DEPTH = ../../../..
23include $(KBUILD_PATH)/subheader.kmk
24
25
26if defined(VBOX_WITH_XPCOM) || defined(VBOX_ONLY_SDK)
27#
28# The samples
29#
30INSTALLS += XpComCSamples
31XpComCSamples_MODE = a+r,u+rw
32XpComCSamples_INST = \
33 $(INST_SDK)bindings/xpcom/cbinding/samples/
34XpComCSamples_SOURCES = \
35 tstXPCOMCGlue.c \
36 tstXPCOMCCall.c \
37 makefile.tstXPCOMCGlue=>Makefile
38
39INSTALLS += XpComCGlue
40XpComCGlue_MODE = a+r,u+rw
41XpComCGlue_INST = \
42 $(INST_SDK)bindings/xpcom/cbinding/
43XpComCGlue_SOURCES = \
44 VBoxXPCOMCGlue.c \
45 VBoxXPCOMCGlue.h
46
47INSTALLS += XpComCHeaders
48XpComCHeaders_MODE = a+r,u+rw
49XpComCHeaders_INST = $(INST_SDK)bindings/xpcom/include/
50XpComCHeaders_SOURCES = \
51 VBoxCAPI_v2_2.h \
52 VBoxCAPI_v3_0.h \
53 $(XpComCHeaders_0_OUTDIR)/VBoxCAPI_v3_1.h
54
55$$(XpComCHeaders_0_OUTDIR)/VBoxCAPI_v3_1.h: \
56 $(PATH_SUB_CURRENT)/xpcidl.xsl \
57 $(VBOX_XIDL_FILE) \
58 | $$(dir $$@)
59 $(VBOX_XSLTPROC) -o $@ $^
60
61endif # VBOX_WITH_XPCOM || SDK
62if !defined(VBOX_ONLY_SDK) && defined(VBOX_WITH_XPCOM)
63
64 #
65 # The C utility DLL
66 #
67 ifdef VBOX_WITH_XPCOM
68 DLLS += VBoxXPCOMC
69 VBoxXPCOMC_TEMPLATE = VBOXMAINDLL
70 VBoxXPCOMC_DEFS = IN_VBOXXPCOMC
71 VBoxXPCOMC_SOURCES = \
72 VBoxXPCOMC.cpp
73 VBoxXPCOMC_INTERMEDIATES = \
74 $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v3_1.h
75 endif
76
77 #
78 # The C glue library.
79 #
80 LIBRARIES += VBoxXPCOMCGlue
81 VBoxXPCOMCGlue_TEMPLATE = VBOXMAINEXE
82 VBoxXPCOMCGlue_DEFS = IN_VBOXXPCOMC
83 VBoxXPCOMCGlue_SOURCES = \
84 VBoxXPCOMCGlue.c
85 VBoxXPCOMCGlue_INTERMEDIATES = \
86 $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v3_1.h
87
88 if defined(VBOX_WITH_TESTCASES) && "$(KBUILD_TARGET)" != "darwin"
89 #
90 # The testcase (also in samples).
91 # C testcase using the dynamic glue.
92 #
93 PROGRAMS += tstXPCOMCGlue
94 tstXPCOMCGlue_TEMPLATE = VBOXR3EXE
95 tstXPCOMCGlue_INCS = \
96 $(VBOX_PATH_SDK)/bindings/xpcom/include
97 tstXPCOMCGlue_INTERMEDIATES = \
98 $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v3_1.h
99 tstXPCOMCGlue_SOURCES = \
100 tstXPCOMCGlue.c
101 tstXPCOMCGlue_LIBS = \
102 $(VBoxXPCOMCGlue_1_TARGET)
103
104 ifeq (disabled,1)
105 #
106 # The callback testcase.
107 #
108 PROGRAMS += tstXPCOMCCall
109 tstXPCOMCCall_TEMPLATE = VBOXR3EXE
110 tstXPCOMCCall_INCS = \
111 $(VBOX_PATH_SDK)/bindings/xpcom/include
112 tstXPCOMCCall_INTERMEDIATES = \
113 $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v3_1.h
114 tstXPCOMCCall_SOURCES = \
115 tstXPCOMCCall.c
116 tstXPCOMCCall_LIBS = \
117 $(VBoxXPCOMCGlue_1_TARGET)
118 endif
119 endif
120
121endif # ! VBOX_ONLY_SDK
122
123# generate rules.
124include $(KBUILD_PATH)/subfooter.kmk
125
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use