VirtualBox

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

Last change on this file since 98409 was 98374, checked in by vboxsync, 23 months ago

scm: Split the ~2000 lines of .kmk rewriting code out of scmrw.cpp and into a separate file. 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 98374 2023-02-01 09:48:59Z 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 = 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 scmrw-kmk.cpp \
59 scmparser.cpp \
60 scmstream.cpp \
61 scmsubversion.cpp
62 ifdef VBOX_PATH_SUBVERSION_INCS
63 scm_INCS += $(VBOX_PATH_SUBVERSION_INCS) $(VBOX_PATH_APACHE_RUNTIME_INCS)
64 scm_DEFS += SCM_WITH_SVN_HEADERS
65 endif
66
67 BLDPROGS += VBoxCPP
68 VBoxCPP_TEMPLATE = VBoxAdvBldProg
69 VBoxCPP_SOURCES = \
70 VBoxCPP.cpp \
71 scmstream.cpp
72endif
73
74if !defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_EXTPACKS)
75 BLDPROGS += VBoxTpG
76 VBoxTpG_TEMPLATE = VBoxAdvBldProg
77 VBoxTpG_SOURCES = \
78 VBoxTpG.cpp \
79 scmstream.cpp
80endif
81
82ifeq ($(KBUILD_TARGET),win)
83 BLDPROGS += VBoxPeSetVersion
84endif
85VBoxPeSetVersion_TEMPLATE = VBoxBldProg
86VBoxPeSetVersion_SOURCES = VBoxPeSetVersion.cpp
87
88BLDPROGS.win += VBoxCheckImports
89VBoxCheckImports_TEMPLATE = VBoxBldProg
90VBoxCheckImports_SOURCES = VBoxCheckImports.cpp
91
92ifneq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),solaris.sparc64)
93 BLDPROGS += VBoxDef2LazyLoad
94endif
95VBoxDef2LazyLoad_TEMPLATE = VBoxBldProg
96VBoxDef2LazyLoad_SOURCES = VBoxDef2LazyLoad.cpp
97
98ifeq ($(KBUILD_TARGET),win)
99 BLDPROGS += VBoxEditCoffLib
100endif
101VBoxEditCoffLib_TEMPLATE = VBoxBldProg
102VBoxEditCoffLib_SOURCES = VBoxEditCoffLib.cpp
103
104# temp hack.
105VBoxCompilerPlugInsGcc.o VBoxCompilerPlugInsCommon.o VBoxCompilerPlugIns.o gccplugin: gccplugin$(SUFF_DLL)
106gccplugin$(SUFF_DLL): VBoxCompilerPlugInsGcc.cpp VBoxCompilerPlugInsCommon.cpp VBoxCompilerPlugIns.h
107 $(TOOL_GXX3_CXX) -shared -fPIC -fno-rtti -g \
108 -DIN_RING3 \
109 $(if-expr "$(KBUILD_TYPE)" != "release",-DDEBUG,) \
110 -I$(shell $(TOOL_GXX3_CXX) -print-file-name=plugin)/include \
111 -I$(PATH_ROOT)/include \
112 $(if-expr "$(KBUILD_HOST)" == "solaris", -I/usr/include/gmp -I$(PATH_ROOT)/src/bldprogs/solgcc/,) \
113 -o $@ \
114 VBoxCompilerPlugInsGcc.cpp \
115 VBoxCompilerPlugInsCommon.cpp
116
117include $(FILE_KBUILD_SUB_FOOTER)
118
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