Makefile.kmk revision 6eb6707c9fc46c66988caf4b4224b874985d9c2d
# $Id$
## @file
# Sub-Makefile for kStuff, for statically linking into VBoxRT.
#
#
# Copyright (C) 2007-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
SUB_DEPTH = ../../..
include $(KBUILD_PATH)/subheader.kmk
#
# The library for dynamic linking.
#
LIBRARIES += VBox-kStuff
VBox-kStuff_TEMPLATE = VBOXR3
VBox-kStuff_DEFS = IN_RT_R3
VBox-kStuff_DEFS.strict = K_STRICT KLDRMODMACHO_STRICT KLDRMODMACHO_STRICT2
VBox-kStuff_INCS = \
$(VBox-kStuff_0_OUTDIR)
VBox-kStuff_ORDERDEPS = \
$(VBox-kStuff_0_OUTDIR)/kErrNameConsts.h
VBox-kStuff_SOURCES = \
\
\
\
\
\
ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
LIBRARIES += VBox-kStuff-x86
VBox-kStuff-x86_TEMPLATE = VBoxR3Dll-x86
VBox-kStuff-x86_EXTENDS = VBox-kStuff
endif
#
# The library for static linking.
#
LIBRARIES += VBox-kStuffStatic
VBox-kStuffStatic_TEMPLATE = VBoxR3Static
VBox-kStuffStatic_EXTENDS = VBox-kStuff
LIBRARIES += VBox-kStuffStaticBldProg
VBox-kStuffStaticBldProg_TEMPLATE = VBOXBLDPROG
VBox-kStuffStaticBldProg_EXTENDS = VBox-kStuff
#
# Generate the error constants.
#
$$(VBox-kStuff_0_OUTDIR)/kErrNameConsts.h: \
$(PATH_SUB_CURRENT)/kStuff/include/k/kErrors.h \
$(MAKEFILE_CURRENT) \
| $$(dir $$@)
$(QUIET)$(RM) -f $@
$(QUIET)$(SED) \
-e '/^#define *\(K[A-Z_]*ERR_[^ ()]*\) .*$$/!d' \
-e 's/^#define *\(K[A-Z_]*ERR_[^ ()]*\) .*$$/ERR_CONST(\1)/' \
-e '/K[A-Z_]*ERR_[A-Z0-9_]*BASE/d' \
-e '/K[A-Z_]*ERR_[A-Z0-9_]*END/d' \
--output $@ \
$<
include $(FILE_KBUILD_SUB_FOOTER)