VirtualBox

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

Last change on this file since 48225 was 48225, checked in by vboxsync, 11 years ago

testcase/*: move the installation path for the remaining API/XPCOM testcases to the tescase subdirectory
Main/cbinding: repair event listener testcase, various cleanups

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.8 KB
Line 
1# $Id: Makefile.kmk 48225 2013-09-02 11:14:11Z vboxsync $
2## @file
3# Sub-Makefile for the VBox C Binding.
4#
5
6#
7# Copyright (C) 2009-2013 Oracle Corporation
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
18SUB_DEPTH = ../../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21
22if defined(VBOX_WITH_XPCOM) || defined(VBOX_ONLY_SDK)
23#
24# The samples
25#
26INSTALLS += XpComCSamples
27XpComCSamples_MODE = a+r,u+rw
28XpComCSamples_INST = \
29 $(INST_SDK)bindings/xpcom/cbinding/samples/
30XpComCSamples_SOURCES = \
31 tstXPCOMCGlue.c \
32 tstXPCOMCEvent.c \
33 makefile.tstXPCOMCGlue=>Makefile
34
35INSTALLS += XpComCGlue
36XpComCGlue_MODE = a+r,u+rw
37XpComCGlue_INST = \
38 $(INST_SDK)bindings/xpcom/cbinding/
39XpComCGlue_SOURCES = \
40 VBoxXPCOMCGlue.c \
41 $(XpComCHeaders_0_OUTDIR)/VBoxXPCOMCGlue.h
42
43INSTALLS += XpComCHeaders
44XpComCHeaders_MODE = a+r,u+rw
45XpComCHeaders_INST = $(INST_SDK)bindings/xpcom/include/
46XpComCHeaders_SOURCES = \
47 VBoxCAPI_v2_2.h \
48 VBoxCAPI_v3_0.h \
49 VBoxCAPI_v3_1.h \
50 VBoxCAPI_v3_2.h \
51 VBoxCAPI_v4_0.h \
52 VBoxCAPI_v4_1.h \
53 VBoxCAPI_v4_2.h \
54 $(XpComCHeaders_0_OUTDIR)/VBoxCAPI.h=>VBoxCAPI_v$(VBOX_API_VERSION).h
55
56$$(XpComCHeaders_0_OUTDIR)/VBoxXPCOMCGlue.h: \
57 $(PATH_SUB_CURRENT)/VBoxXPCOMCGlue.h.in \
58 $(MAKEFILE_CURRENT) \
59 | $$(dir $$@)
60 $(call MSG_GENERATE,,$@)
61 $(QUIET)$(SED) \
62 -e 's/@VBOX_API_VERSION@/$(VBOX_API_VERSION)/' \
63 < $< > $@
64
65$$(XpComCHeaders_0_OUTDIR)/VBoxCAPI.h: \
66 $(PATH_SUB_CURRENT)/xpcidl.xsl \
67 $(VBOX_XIDL_FILE) \
68 | $$(dir $$@)
69 $(call MSG_TOOL,xsltproc,XpComCHeaders,$<,$@)
70 $(QUIET)$(VBOX_XSLTPROC) -o $@ $^
71
72endif # VBOX_WITH_XPCOM || SDK
73if !defined(VBOX_ONLY_SDK) && defined(VBOX_WITH_XPCOM)
74
75 #
76 # The C utility DLL
77 #
78 ifdef VBOX_WITH_XPCOM
79 DLLS += VBoxXPCOMC
80 VBoxXPCOMC_TEMPLATE = VBOXMAINDLL
81 VBoxXPCOMC_DEFS = IN_VBOXXPCOMC
82 VBoxXPCOMC_SOURCES = \
83 VBoxXPCOMC.cpp
84 VBoxXPCOMC_INCS = \
85 $(XpComCHeaders_0_OUTDIR)
86 VBoxXPCOMC_INTERMEDIATES = \
87 $(XpComCHeaders_0_OUTDIR)/VBoxCAPI.h
88 endif
89
90 #
91 # The C glue library.
92 #
93 LIBRARIES += VBoxXPCOMCGlue
94 VBoxXPCOMCGlue_TEMPLATE = VBOXMAINEXE
95 VBoxXPCOMCGlue_DEFS = IN_VBOXXPCOMC
96 VBoxXPCOMCGlue_SOURCES = \
97 VBoxXPCOMCGlue.c
98 VBoxXPCOMCGlue_INCS = \
99 $(VBOX_PATH_SDK)/bindings/xpcom/cbinding
100 VBoxXPCOMCGlue_INTERMEDIATES = \
101 $(VBOX_PATH_SDK)/bindings/xpcom/cbinding/VBoxXPCOMCGlue.h \
102 $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v$(VBOX_API_VERSION).h
103
104 if defined(VBOX_WITH_TESTCASES) && "$(KBUILD_TARGET)" != "darwin"
105 #
106 # The testcase (also in samples).
107 # C testcase using the dynamic glue.
108 #
109 PROGRAMS += tstXPCOMCGlue
110 tstXPCOMCGlue_TEMPLATE = VBOXR3TSTEXE
111 tstXPCOMCGlue_INCS = \
112 $(VBOX_PATH_SDK)/bindings/xpcom/include \
113 $(VBOX_PATH_SDK)/bindings/xpcom/cbinding
114 tstXPCOMCGlue_INTERMEDIATES = \
115 $(VBOX_PATH_SDK)/bindings/xpcom/cbinding/VBoxXPCOMCGlue.h \
116 $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v$(VBOX_API_VERSION).h
117 tstXPCOMCGlue_SOURCES = \
118 tstXPCOMCGlue.c
119 tstXPCOMCGlue_LIBS = \
120 $(VBoxXPCOMCGlue_1_TARGET)
121
122 #
123 # The event listener testcase.
124 #
125 PROGRAMS += tstXPCOMCEvent
126 tstXPCOMCEvent_TEMPLATE = VBOXR3TSTEXE
127 tstXPCOMCEvent_INCS = \
128 $(VBOX_PATH_SDK)/bindings/xpcom/include \
129 $(VBOX_PATH_SDK)/bindings/xpcom/cbinding
130 tstXPCOMCEvent_INTERMEDIATES = \
131 $(VBOX_PATH_SDK)/bindings/xpcom/cbinding/VBoxXPCOMCGlue.h \
132 $(VBOX_PATH_SDK)/bindings/xpcom/include/VBoxCAPI_v$(VBOX_API_VERSION).h
133 tstXPCOMCEvent_SOURCES = \
134 tstXPCOMCEvent.c
135 tstXPCOMCEvent_LIBS = \
136 $(VBoxXPCOMCGlue_1_TARGET)
137 endif
138
139endif # ! VBOX_ONLY_SDK
140
141# generate rules.
142include $(FILE_KBUILD_SUB_FOOTER)
143
Note: See TracBrowser for help on using the repository browser.

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