VirtualBox

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

Last change on this file since 59410 was 59404, checked in by vboxsync, 9 years ago

Forward-ported r104938, r104943, r104950, r104952, r104953, r104987, r104988, r104990 from 5.0:

  • VBoxStub: Lazy import DLLs not in the KnownDlls list (and then some) and check that we don't accidentally add new imports as time goes by.
  • VBoxStub: the dlls have export names, so use them instead of the ordinals.
  • VBoxDef2LazyLoad fixes and error reporting, fixed missing VBoxCheckImports dependency during use in VBoxStub.
  • iprt/initterm.h,vbox-img,VBoxStub: Introduced RTR3INIT_FLAGS_STANDALONE_APP for statically linked applications that are expected to run outside the normal VirtualBox installation directory and need to be on their toes wrt dynamic library search paths. (Only windows, really.) Also, _always_ initialize IPRT first, don't ever do anything before that unless it 104% must be done there.
  • RTR3INIT_FLAGS_STANDALONE_APP trumps concerns about Vista GUI
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1# $Id: Makefile.kmk 59404 2016-01-19 10:10:39Z 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-2015 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
21BLDPROGS += bin2c biossums filesplitter VBoxCmp
22
23bin2c_TEMPLATE = VBoxBldProg
24bin2c_SOURCES = bin2c.c
25
26biossums_TEMPLATE = VBoxBldProg
27biossums_SOURCES = biossums.c
28
29filesplitter_TEMPLATE = VBoxBldProg
30filesplitter_SOURCES = filesplitter.cpp
31
32VBoxCmp_TEMPLATE = VBoxBldProg
33VBoxCmp_SOURCES = VBoxCmp.cpp
34
35ifndef VBOX_ONLY_BUILD
36 PROGRAMS += scm
37 scm_TEMPLATE = VBoxR3Tool
38 scm_SOURCES = \
39 scm.cpp \
40 scmdiff.cpp \
41 scmrw.cpp \
42 scmstream.cpp \
43 scmsubversion.cpp
44 ifdef VBOX_PATH_SUBVERSION_INCS
45 scm_INCS += $(VBOX_PATH_SUBVERSION_INCS) $(VBOX_PATH_APACHE_RUNTIME_INCS)
46 scm_DEFS += SCM_WITH_SVN_HEADERS
47 endif
48
49 BLDPROGS += VBoxCPP
50 VBoxCPP_TEMPLATE = VBoxAdvBldProg
51 VBoxCPP_SOURCES = \
52 VBoxCPP.cpp \
53 scmstream.cpp
54endif
55
56if !defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_EXTPACKS)
57 BLDPROGS += VBoxTpG
58 VBoxTpG_TEMPLATE = VBoxAdvBldProg
59 VBoxTpG_SOURCES = \
60 VBoxTpG.cpp \
61 scmstream.cpp
62endif
63
64ifeq ($(KBUILD_TARGET),win)
65 BLDPROGS += VBoxPeSetVersion
66endif
67VBoxPeSetVersion_TEMPLATE = VBoxBldProg
68VBoxPeSetVersion_SOURCES = VBoxPeSetVersion.cpp
69
70BLDPROGS.win += VBoxCheckImports
71VBoxCheckImports_TEMPLATE = VBoxBldProg
72VBoxCheckImports_SOURCES = VBoxCheckImports.cpp
73
74BLDPROGS += VBoxDef2LazyLoad
75VBoxDef2LazyLoad_TEMPLATE = VBoxBldProg
76VBoxDef2LazyLoad_SOURCES = VBoxDef2LazyLoad.cpp
77
78# temp hack.
79VBoxCompilerPlugInsGcc.o VBoxCompilerPlugInsCommon.o VBoxCompilerPlugIns.o gccplugin: gccplugin$(SUFF_DLL)
80gccplugin$(SUFF_DLL): VBoxCompilerPlugInsGcc.cpp VBoxCompilerPlugInsCommon.cpp VBoxCompilerPlugIns.h
81 g++ -shared -fPIC -g \
82 -DIN_RING3 \
83 $(if-expr "$(KBUILD_TYPE)" != "release",-DDEBUG,) \
84 -I$(shell gcc -print-file-name=plugin)/include \
85 -I$(PATH_ROOT)/include \
86 $(if-expr "$(KBUILD_HOST)" == "solaris", -I/usr/include/gmp -I$(PATH_ROOT)/src/bldprogs/solgcc/,) \
87 -o $@ \
88 VBoxCompilerPlugInsGcc.cpp \
89 VBoxCompilerPlugInsCommon.cpp
90
91
92
93include $(FILE_KBUILD_SUB_FOOTER)
94
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