Makefile revision 677833bc953b6cb418c701facbdcf4aa18d6c44e
0N/A# Copyright (C) 2006 InnoTek Systemberatung GmbH 2362N/A# This file is part of VirtualBox Open Source Edition (OSE), as 2362N/A# you can redistribute it and/or modify it under the terms of the GNU 0N/A# General Public License as published by the Free Software Foundation, 0N/A# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE 0N/A# distribution. VirtualBox OSE is distributed in the hope that it will 0N/A# be useful, but WITHOUT ANY WARRANTY of any kind. 0N/A# If you received this file as part of a commercial VirtualBox 0N/A# distribution, then only the terms of your commercial VirtualBox 0N/A# license agreement apply instead of the previous paragraph. 0N/A# Install external binaries (mostly redistributable parts of tools we use). 0N/A# This must be done *before* we build the manual. 0N/A# To avoid dragging in unnecessary tools and sdks here, we don't use the .win 0N/A# and .linux property suffixes. # The compiler runtime DLLs. ## @todo Move these defines to VCC70. # Generate documentation. # (This should be converted into a separate pass or merged with an existing one later.) # The core (VMM+Runtime+Devices) documentation. # Generate Visual SlickEdit tagging #defines. echo '// autogenerated' > $@.
tmp #echo '#define __BEGIN_DECLS ' >> $@.tmp #echo '#define __END_DECLS ' >> $@.tmp echo '#define ATL_NO_VTABLE ' >> $@.
tmp echo '#define BEGIN_COM_MAP(a) ' >> $@.
tmp echo '#define END_COM_MAP(a) ' >> $@.
tmp echo '#define CHECKREADY if(!isReady()) return E_UNEXPECTED; ' >> $@.
tmp echo '#define COM_DECL_READONLY_ENUM_AND_COLLECTION(a) ' >> $@.
tmp echo '#define COM_INTERFACE_ENTRY(a) ' >> $@.
tmp echo '#define COMGETTER(n) Get##n ' >> $@.
tmp echo '#define COMSETTER(n) Set##n ' >> $@.
tmp echo '#define DECLARE_NOT_AGGREGATABLE(a) ' >> $@.
tmp echo '#define DECLARE_PROTECT_FINAL_CONSTRUCT(a) ' >> $@.
tmp echo '#define NS_DECL_ISUPPORTS ' >> $@.
tmp echo '#define NS_IMETHOD NS_IMETHOD_(nsresult) ' >> $@.
tmp echo '#define NS_IMETHOD_(type) type ' >> $@.
tmp echo '#define PARSERS_EXPORT ' >> $@.
tmp echo '#define SAX_EXPORT ' >> $@.
tmp echo '#define STDMETHOD(a) NS_IMETHOD a ' >> $@.
tmp echo '#define XERCES_CPP_NAMESPACE_BEGIN ' >> $@.
tmp echo '#define XERCES_CPP_NAMESPACE_END ' >> $@.
tmp echo '#define CTXAllSUFF(var) var##R3 ' >> $@.
tmp echo '#define CTXSUFF(var) var##HC ' >> $@.
tmp echo '#define OTHERCTXSUFF(var) var##GC ' >> $@.
tmp echo '#define CTXALLMID(first, last) first##R3##last ' >> $@.
tmp echo '#define CTXMID(first, last) first##HC##last ' >> $@.
tmp echo '#define OTHERCTXMID(first, last) first##GC##last ' >> $@.
tmp echo '#define CTXTYPE(GCType, R3Type, R0Type) R3Type ' >> $@.
tmp echo '#define GCPTRTYPE(GCType) GCType ' >> $@.
tmp echo '#define GCTYPE(GCType, HCType) GCType ' >> $@.
tmp echo '#define HCPTRTYPE(HCType) HCType ' >> $@.
tmp echo '#define R0PTRTYPE(R3Type) R3Type ' >> $@.
tmp echo '#define R3PTRTYPE(R0Type) R0Type ' >> $@.
tmp echo '#define RT_SRC_POS __FILE__, __LINE__, __PRETTY_FUNCTION__ ' >> $@.
tmp echo '#define RT_SRC_POS_DECL const char *pszFile, unsigned iLine, const char *pszFunction ' >> $@.
tmp echo '#define RT_SRC_POS_ARGS pszFile, iLine, pszFunction ' >> $@.
tmp echo '#define RTCALL' >> $@.
tmp echo '#define DECLINLINE(type) inline type ' >> $@.
tmp echo '#define PDM_SRC_POS __FILE__, __LINE__, __PRETTY_FUNCTION__ ' >> $@.
tmp echo '#define PDM_SRC_POS_DECL const char *pszFile, unsigned iLine, const char *pszFunction ' >> $@.
tmp echo '#define PDM_SRC_POS_ARGS pszFile, iLine, pszFunction ' >> $@.
tmp echo '#define PDMDEVINSINT_DECLARED 1' >> $@.
tmp echo '#define VBOXCALL' >> $@.
tmp -e
'/^ *# *define.*DECL/!d' \
-e
'/(type) DECLEXPORT/d' \
-e
's/(type) DECLIMPORT(type)/(type) type/' \
-e
'/ DECLASM(type) type/d' \
-e
'/define *DECLINLINE(type)/d' \
## add tools fetching to the 'up' / 'update' target. # this doesn't work of course if kmk is updated: svn$(HOSTSUFF_EXE) up $(PATH_KBUILD)