VirtualBox

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

Last change on this file since 79052 was 78608, checked in by vboxsync, 6 years ago

winnt/vboxsf: Don't flush and purge the cache twice on newer systems, instead do a library trick to redirect relevant imports from write.obj and read.obj to our wrappers that uses CcCoherencyFlushAndPurgeCache when possible to get better coherency between mmap regions and file content when writing and reading normally. This comes at a cost when the file has been mmapped at some point previously (or currently) and we may need to purge stuff. bugref:9172

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