Makefile.kmk revision b14adf99ecd1c5a015bf38d3f84116b489db21d7
# $Id$
## @file
# Sub-Makefile for EFI thunking ROM image.
#
# The thunking ROM image is where the CPU starts in an EFI config. It is
# responsible for setting up and switching to protected or long mode and
# invoking the SEC CORE image in the Firmware Volume.
#
#
# Copyright (C) 2009 Sun Microsystems, Inc.
#
# 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.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
# Clara, CA 95054 USA or visit http://www.sun.com if you need
# additional information or have any questions.
#
SUB_DEPTH = ../../../../..
include $(KBUILD_PATH)/subheader.kmk
#
# The library containing the ROM binary.
#
LIBRARIES += EfiThunkBin
EfiThunkBin_TEMPLATE = VBOXR3
EfiThunkBin_DEFS = IN_VBOXDD2
EfiThunkBin_SOURCES = $(EfiThunkBin_0_OUTDIR)/EfiThunkBin.c
EfiThunkBin_CLEAN = \
$(EfiThunkBin_0_OUTDIR)/EfiThunkBin.c
$$(EfiThunkBin_0_OUTDIR)/EfiThunkBin.c: $$(EfiThunk_1_TARGET) $(VBOX_BIN2C) | $$(dir $$@)
$(call MSG_TOOL,bin2c,EfiThunkBin,$<,$@)
$(QUIET)$(VBOX_BIN2C) -min 4 -max 4 -ascii -export EfiThunkBinary $< $@
#
# The ROM binary that gets turned into a library.
#
MISCBINS += EfiThunk
EfiThunk_TEMPLATE = DUMMY
EfiThunk_LDTOOL = VBoxDummyObjLdTool
EfiThunk_ASTOOL = YASM
EfiThunk_ASFLAGS = -f bin -a x86 --force-strict
EfiThunk_INCS = ../Firmware2/VBoxPkg/Include
EfiThunk_SOURCES = EfiThunk.asm
#
# Used by EfiThunk. Promote to Config.kmk if needed else where.
#
TOOL_VBoxDummyObjLdTool = Dummy Obj LD tool that just copies the object without linking.
define TOOL_VBoxDummyObjLdTool_LINK_MISCBIN_CMDS
$(CP) -vf $(objs) $(out)
endef
include $(KBUILD_PATH)/subfooter.kmk