Makefile.kmk revision 1a8be88b5b9a6353e5efdb82fddd5093dd78b3e3
# $Id$
## @file
# Sub-Makefile for the VBox Disassembler.
#
#
# Copyright (C) 2006-2007 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.
#
ifdef VBOX_KBUILD_HACKING
SUB_DEPTH = ../../..
else
SUB_DEPTH = .
DEPTH ?= ../../..
endif
include $(KBUILD_PATH)/subheader.kmk
ifndef VBOX_ONLY_SDK
# include the sub-makefile first.
ifdef VBOX_WITH_TESTCASES
include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
endif
LIBRARIES += DisasmR3
DisasmR3_TEMPLATE = VBOXR3
DisasmR3_DEFS = IN_DIS_R3
ifeq ($(KBUILD_TARGET),win)
DisasmR3_CXXFLAGS += -EHa
else ifneq ($(KBUILD_TARGET),l4)
DisasmR3_CXXFLAGS += -fexceptions
endif
DisasmR3_SOURCES = \
Disasm.cpp \
DisasmCore.cpp \
DisasmReg.cpp \
DisasmTables.cpp \
DisasmTablesX64.cpp \
DisasmFormatBytes.cpp \
DisasmFormatYasm.cpp
LIBRARIES += DisasmCoreR3
DisasmCoreR3_TEMPLATE = VBOXR3
DisasmCoreR3_DEFS = IN_DIS_R3 DIS_CORE_ONLY
DisasmCoreR3_SOURCES = \
DisasmCore.cpp \
DisasmReg.cpp \
DisasmTables.cpp \
DisasmTablesX64.cpp
LIBRARIES += DisasmGC
DisasmGC_TEMPLATE = VBOXGC
DisasmGC_DEFS = IN_DIS_GC IN_RT_GC DIS_CORE_ONLY
DisasmGC_SOURCES = \
DisasmCore.cpp \
DisasmReg.cpp \
DisasmTables.cpp \
DisasmTablesX64.cpp
LIBRARIES += DisasmR0
DisasmR0_TEMPLATE = VBOXR0
DisasmR0_DEFS = IN_DIS_R0 IN_RT_R0 DIS_CORE_ONLY
DisasmR0_SOURCES = \
DisasmCore.cpp \
DisasmReg.cpp \
DisasmTables.cpp \
DisasmTablesX64.cpp
ifdef VBOX_WITH_TESTCASES
# testcase that hasn't been moved yet.
PROGRAMS += tstDisasm
tstDisasm_TEMPLATE = VBOXR3TSTEXE
tstDisasm_DEFS = IN_DIS_R3
tstDisasm_SOURCES = DisasmTest.cpp DisasmTestA.asm
tstDisasm_LIBS = \
$(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB) \
$(LIB_RUNTIME)
PROGRAMS += tstDisasmCore
tstDisasmCore_TEMPLATE = VBOXR3TSTEXE
tstDisasmCore_DEFS = IN_DIS_R3 DIS_CORE_ONLY
tstDisasmCore_SOURCES = DisasmTestCore.cpp
tstDisasmCore_LIBS = \
$(PATH_LIB)/DisasmCoreR3$(VBOX_SUFF_LIB) \
$(LIB_RUNTIME)
endif # VBOX_WITH_TESTCASES
endif #!VBOX_ONLY_SDK
include $(KBUILD_PATH)/subfooter.kmk