VirtualBox

source: vbox/trunk/src/bldprogs/Makefile.kmk@ 96586

Last change on this file since 96586 was 96530, checked in by vboxsync, 2 years ago

bldprogs: Need bin2c on sparc too. Think this is because of bugref:8691

  • 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 96530 2022-08-26 22:34:27Z vboxsync $
2## @file
3# Sub-Makefile for various generic build tools (there is currently only one of them).
4#
5
6#
7# Copyright (C) 2006-2022 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../..
29include $(KBUILD_PATH)/subheader.kmk
30
31BLDPROGS += bin2c
32ifn1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), solaris.sparc64)
33 BLDPROGS += biossums filesplitter genalias VBoxCmp
34endif
35
36bin2c_TEMPLATE = VBoxBldProg
37bin2c_SOURCES = bin2c.c
38
39biossums_TEMPLATE = VBoxBldProg
40biossums_SOURCES = biossums.c
41
42filesplitter_TEMPLATE = VBoxBldProg
43filesplitter_SOURCES = filesplitter.cpp
44
45genalias_TEMPLATE = VBoxBldProg
46genalias_SOURCES = genalias.cpp
47
48VBoxCmp_TEMPLATE = VBoxBldProg
49VBoxCmp_SOURCES = VBoxCmp.cpp
50
51ifndef VBOX_ONLY_BUILD
52 PROGRAMS += scm
53 scm_TEMPLATE = VBoxR3Tool
54 scm_SOURCES = \
55 scm.cpp \
56 scmdiff.cpp \
57 scmrw.cpp \
58 scmparser.cpp \
59 scmstream.cpp \
60 scmsubversion.cpp
61 ifdef VBOX_PATH_SUBVERSION_INCS
62 scm_INCS += $(VBOX_PATH_SUBVERSION_INCS) $(VBOX_PATH_APACHE_RUNTIME_INCS)
63 scm_DEFS += SCM_WITH_SVN_HEADERS
64 endif
65
66 BLDPROGS += VBoxCPP
67 VBoxCPP_TEMPLATE = VBoxAdvBldProg
68 VBoxCPP_SOURCES = \
69 VBoxCPP.cpp \
70 scmstream.cpp
71endif
72
73if !defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_EXTPACKS)
74 BLDPROGS += VBoxTpG
75 VBoxTpG_TEMPLATE = VBoxAdvBldProg
76 VBoxTpG_SOURCES = \
77 VBoxTpG.cpp \
78 scmstream.cpp
79endif
80
81ifeq ($(KBUILD_TARGET),win)
82 BLDPROGS += VBoxPeSetVersion
83endif
84VBoxPeSetVersion_TEMPLATE = VBoxBldProg
85VBoxPeSetVersion_SOURCES = VBoxPeSetVersion.cpp
86
87BLDPROGS.win += VBoxCheckImports
88VBoxCheckImports_TEMPLATE = VBoxBldProg
89VBoxCheckImports_SOURCES = VBoxCheckImports.cpp
90
91ifneq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),solaris.sparc64)
92 BLDPROGS += VBoxDef2LazyLoad
93endif
94VBoxDef2LazyLoad_TEMPLATE = VBoxBldProg
95VBoxDef2LazyLoad_SOURCES = VBoxDef2LazyLoad.cpp
96
97ifeq ($(KBUILD_TARGET),win)
98 BLDPROGS += VBoxEditCoffLib
99endif
100VBoxEditCoffLib_TEMPLATE = VBoxBldProg
101VBoxEditCoffLib_SOURCES = VBoxEditCoffLib.cpp
102
103# temp hack.
104VBoxCompilerPlugInsGcc.o VBoxCompilerPlugInsCommon.o VBoxCompilerPlugIns.o gccplugin: gccplugin$(SUFF_DLL)
105gccplugin$(SUFF_DLL): VBoxCompilerPlugInsGcc.cpp VBoxCompilerPlugInsCommon.cpp VBoxCompilerPlugIns.h
106 $(TOOL_GXX3_CXX) -shared -fPIC -fno-rtti -g \
107 -DIN_RING3 \
108 $(if-expr "$(KBUILD_TYPE)" != "release",-DDEBUG,) \
109 -I$(shell $(TOOL_GXX3_CXX) -print-file-name=plugin)/include \
110 -I$(PATH_ROOT)/include \
111 $(if-expr "$(KBUILD_HOST)" == "solaris", -I/usr/include/gmp -I$(PATH_ROOT)/src/bldprogs/solgcc/,) \
112 -o $@ \
113 VBoxCompilerPlugInsGcc.cpp \
114 VBoxCompilerPlugInsCommon.cpp
115
116include $(FILE_KBUILD_SUB_FOOTER)
117
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