VirtualBox

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

Last change on this file since 104448 was 98442, checked in by vboxsync, 20 months ago

bldprogs/*.kmk: Automatic scm cleanups. bugref:10348

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.3 KB
Line 
1# $Id: Makefile.kmk 98442 2023-02-02 12:50:42Z 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-2023 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 = \
38 bin2c.c
39
40biossums_TEMPLATE = VBoxBldProg
41biossums_SOURCES = biossums.c
42
43filesplitter_TEMPLATE = VBoxBldProg
44filesplitter_SOURCES = filesplitter.cpp
45
46genalias_TEMPLATE = VBoxBldProg
47genalias_SOURCES = genalias.cpp
48
49VBoxCmp_TEMPLATE = VBoxBldProg
50VBoxCmp_SOURCES = VBoxCmp.cpp
51
52ifndef VBOX_ONLY_BUILD
53 PROGRAMS += scm
54 scm_TEMPLATE = VBoxR3Tool
55 scm_SOURCES = \
56 scm.cpp \
57 scmdiff.cpp \
58 scmrw.cpp \
59 scmrw-kmk.cpp \
60 scmparser.cpp \
61 scmstream.cpp \
62 scmsubversion.cpp
63 ifdef VBOX_PATH_SUBVERSION_INCS
64 scm_INCS += $(VBOX_PATH_SUBVERSION_INCS) $(VBOX_PATH_APACHE_RUNTIME_INCS)
65 scm_DEFS += SCM_WITH_SVN_HEADERS
66 endif
67
68 BLDPROGS += VBoxCPP
69 VBoxCPP_TEMPLATE = VBoxAdvBldProg
70 VBoxCPP_SOURCES = \
71 VBoxCPP.cpp \
72 scmstream.cpp
73endif
74
75if !defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_EXTPACKS)
76 BLDPROGS += VBoxTpG
77 VBoxTpG_TEMPLATE = VBoxAdvBldProg
78 VBoxTpG_SOURCES = \
79 VBoxTpG.cpp \
80 scmstream.cpp
81endif
82
83ifeq ($(KBUILD_TARGET),win)
84 BLDPROGS += VBoxPeSetVersion
85endif
86VBoxPeSetVersion_TEMPLATE = VBoxBldProg
87VBoxPeSetVersion_SOURCES = VBoxPeSetVersion.cpp
88
89BLDPROGS.win += VBoxCheckImports
90VBoxCheckImports_TEMPLATE = VBoxBldProg
91VBoxCheckImports_SOURCES = VBoxCheckImports.cpp
92
93ifneq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),solaris.sparc64)
94 BLDPROGS += VBoxDef2LazyLoad
95endif
96VBoxDef2LazyLoad_TEMPLATE = VBoxBldProg
97VBoxDef2LazyLoad_SOURCES = VBoxDef2LazyLoad.cpp
98
99ifeq ($(KBUILD_TARGET),win)
100 BLDPROGS += VBoxEditCoffLib
101endif
102VBoxEditCoffLib_TEMPLATE = VBoxBldProg
103VBoxEditCoffLib_SOURCES = VBoxEditCoffLib.cpp
104
105# temp hack.
106VBoxCompilerPlugInsGcc.o VBoxCompilerPlugInsCommon.o VBoxCompilerPlugIns.o gccplugin: gccplugin$(SUFF_DLL)
107gccplugin$(SUFF_DLL): VBoxCompilerPlugInsGcc.cpp VBoxCompilerPlugInsCommon.cpp VBoxCompilerPlugIns.h
108 $(TOOL_GXX3_CXX) -shared -fPIC -fno-rtti -g \
109 -DIN_RING3 \
110 $(if-expr "$(KBUILD_TYPE)" != "release",-DDEBUG,) \
111 -I$(shell $(TOOL_GXX3_CXX) -print-file-name=plugin)/include \
112 -I$(PATH_ROOT)/include \
113 $(if-expr "$(KBUILD_HOST)" == "solaris", -I/usr/include/gmp -I$(PATH_ROOT)/src/bldprogs/solgcc/,) \
114 -o $@ \
115 VBoxCompilerPlugInsGcc.cpp \
116 VBoxCompilerPlugInsCommon.cpp
117
118include $(FILE_KBUILD_SUB_FOOTER)
119
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