Makefile.kmk revision 37647b9be45a93f807007736b70716c0bec753bc
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync# Top-level makefile for the devices, drivers and services.
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync# Copyright (C) 2006-2007 innotek GmbH
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# available from http://www.virtualbox.org. This file is free software;
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# you can redistribute it and/or modify it under the terms of the GNU
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# General Public License as published by the Free Software Foundation,
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# distribution. VirtualBox OSE is distributed in the hope that it will
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# be useful, but WITHOUT ANY WARRANTY of any kind.
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDEPTH = ../../..
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncinclude $(PATH_KBUILD)/subheader.kmk
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# Include sub-makefiles.
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncinclude $(PATH_SUB_CURRENT)/PC/BIOS/Makefile.kmk
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncinclude $(PATH_SUB_CURRENT)/Graphics/BIOS/Makefile.kmk
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncinclude $(PATH_SUB_CURRENT)/Storage/testcase/Makefile.kmk
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# Subdirs with complex makefiles.
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_INTEL_PXE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncSUBDIRS_LIBRARIES = PC/PXE
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncSUBDIRS_CLEAN = PC/PXE
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncSUBDIRS_LIBRARIES = PC/Etherboot-src
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncSUBDIRS_CLEAN = PC/Etherboot-src
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncifndef VBOX_OSE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncSUBDIRS_LIBRARIES += Storage/VBoxHDDFormats
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# Main targets.
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncLIBRARIES += DevicesR3 Drivers ServicesR0
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncDLLS += VBoxDDU VBoxDD VBoxDD2
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncSYSMODS += VBoxDDGC VBoxDD2GC VBoxDDR0 VBoxDD2R0
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync## Enable the pdm lock (experimental).
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync#DEFS += VBOX_WITH_PDM_LOCK
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# VBoxDDU (shared object)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDU_TEMPLATE = VBOXR3
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDU_DEFS = IN_VBOXDDU
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_USB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync VBoxDDU_DEFS += VBOX_WITH_USB IN_USBLIB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync VBoxDDU_SDKS.win = WINPSDK W2K3DDK
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync ifdef VBOX_WITH_EHCI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync VBoxDDU_DEFS += VBOX_WITH_EHCI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDU_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_USB
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncVBoxDDU_LIBS = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(LIB_RUNTIME)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_USB
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDDU_LIBS += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/USBLib$(VBOX_SUFF_LIB)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifeq ($(BUILD_TARGET),l4)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDDU_LIBS += \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDU_LDFLAGS.darwin = -install_name @executable_path/VBoxDDU.dylib
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDU_LDFLAGS.linux = -Wl,--no-undefined
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDU_LDFLAGS.l4 = -Wl,--no-undefined
0c4004948fca34f2db87e7b38013137e9472c306vboxsync# VBoxDD (shared object)
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncVBoxDD_TEMPLATE = VBOXR3
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD_SDKS.win = WINPSDK DXSDK W2K3DDK VBOX_NTDLL
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD_DEFS = VBOX_ACPI
44a2ecaf2d0fc196ab76cab13b3f909299e386d1vboxsyncifdef VBOX_WITH_USB
44a2ecaf2d0fc196ab76cab13b3f909299e386d1vboxsync VBoxDD_DEFS += VBOX_WITH_USB IN_USB_R3
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync ifdef VBOX_WITH_PDMUSB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync VBoxDD_DEFS += VBOX_WITH_PDMUSB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync ifdef VBOX_WITH_EHCI
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_DEFS += VBOX_WITH_EHCI
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifdef VBOX_WITH_AHCI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync VBoxDD_DEFS += VBOX_WITH_AHCI
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifdef VBOX_WITH_ISCSI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync VBoxDD_DEFS += VBOX_WITH_ISCSI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD_LIBS = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/DevicesR3$(VBOX_SUFF_LIB) \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(PATH_LIB)/Drivers$(VBOX_SUFF_LIB) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/PcDefBiosLogo$(VBOX_SUFF_LIB) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(LIB_VMM) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(LIB_RUNTIME)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(BUILD_TARGET),win)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/VBoxDDU.lib \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/VBoxDD2.lib \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_SDK_DXSDK_LIB)/dxguid.lib
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsync VBoxDD_LIBS += \
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsync $(INSTARGET_VBoxDDU) \
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsync $(INSTARGET_VBoxDD2)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(BUILD_TARGET),l4)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(BUILD_TARGET),solaris)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += adm
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync ifdef VBOX_WITH_CROSSBOW
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += dladm # or maybe try libdladm.so.1 ?
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync ifdef VBOX_WITH_SUID_WRAPPER
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync VBoxDD_LIBS += secdb
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD_LDFLAGS.darwin = -install_name @executable_path/VBoxDD.dylib \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync -framework CoreAudio \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync -framework IOKit \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync -framework Carbon \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync -framework DiskArbitration
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD_LDFLAGS.linux = -Wl,--no-undefined
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD_LDFLAGS.l4 = -Wl,--no-undefined
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync# damn, fix this.
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifeq ($(BUILD_TARGET),win)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync# VBoxDD2 (shared object)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_TEMPLATE = VBOXR3
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_DEFS = IN_VBOXDD2
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_INCS := \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_SUB_CURRENT)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2_SOURCES = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_LIBS = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/PcBiosBin$(VBOX_SUFF_LIB) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/VgaBiosBin$(VBOX_SUFF_LIB) \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(PATH_LIB)/NetBiosBin$(VBOX_SUFF_LIB) \
44a2ecaf2d0fc196ab76cab13b3f909299e386d1vboxsync $(LIB_VMM) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(LIB_RUNTIME)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(BUILD_TARGET),l4)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_LIBS += \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2_LDFLAGS.darwin = -install_name @executable_path/VBoxDD2.dylib
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_LDFLAGS.linux = -Wl,--no-undefined
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2_LDFLAGS.l4 = -Wl,--no-undefined
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# DevicesR3 (library)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncDevicesR3_TEMPLATE = VBOXR3
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDevicesR3_SDKS.win = WINPSDK W2K3DDK
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncDevicesR3_INCS := \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_SUB_CURRENT)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncDevicesR3_SOURCES = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifdef VBOX_WITH_AHCI
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncDevicesR3_DEFS += VBOX_WITH_AHCI IN_AHCI_R3
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDevicesR3_SOURCES += \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_USB
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncDevicesR3_DEFS += VBOX_WITH_USB IN_USB_R3
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync ifdef VBOX_WITH_PDMUSB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync DevicesR3_DEFS += VBOX_WITH_PDMUSB
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncDevicesR3_SOURCES += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync ifdef VBOX_WITH_EHCI
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync DevicesR3_DEFS += VBOX_WITH_EHCI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync DevicesR3_SOURCES += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncDevicesR3_DEFS += VBOX_HGCM
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsync# DevACPI.cpp needs vboxaml.hex which we generate from PC/vbox.dsl.
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsyncDevicesR3_CLEAN += $(PATH_TARGET)/vboxaml.hex $(PATH_TARGET)/vboxaml.aml
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsyncPC/DevACPI.cpp_INCS = $(PATH_TARGET)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# VBoxDDGC (sysmod)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDGC_TEMPLATE = VBOXGC
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDGC_DEFS =
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDGC_SYSSUFF = .gc
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsyncVBoxDDGC_INCS := \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_SUB_CURRENT)
d5ea45cc92d7f1d3ade8189944531f665bfe8ed5vboxsyncVBoxDDGC_SOURCES = \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncifdef VBOX_WITH_USB
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDGC_DEFS += VBOX_WITH_USB IN_USB_GC
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDGC_SOURCES += \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsync ifdef VBOX_WITH_EHCI
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsync VBoxDDGC_DEFS += VBOX_WITH_EHCI
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsync VBoxDDGC_SOURCES += \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncifdef VBOX_WITH_AHCI
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDGC_DEFS += VBOX_WITH_AHCI IN_AHCI_GC
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDGC_SOURCES += \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncifeq ($(VBOX_LDR_FMT32),pe)
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDGC_LDFLAGS = -Entry:vgaMMIOWrite
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDGC_LIBS = \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsync $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync# VBoxDDR0 (sysmod)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_TEMPLATE = VBOXR0
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_SYSSUFF = .r0
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_DEFS = IN_RT_R0
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_INCS := \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_SUB_CURRENT)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDR0_SOURCES = \
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncifdef VBOX_WITH_USB
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncVBoxDDR0_DEFS += VBOX_WITH_USB IN_USB_R0
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncVBoxDDR0_SOURCES += \
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsync ifdef VBOX_WITH_EHCI
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsync VBoxDDR0_DEFS += VBOX_WITH_EHCI
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsync VBoxDDR0_SOURCES += \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_AHCI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_DEFS += VBOX_WITH_AHCI IN_AHCI_R0
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncVBoxDDR0_SOURCES += \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(VBOX_LDR_FMT32),pe)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_LDFLAGS = -Entry:vgaMMIOWrite
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_LIBS += $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncifeq ($(VBOX_LDR_FMT32),elf) # this is template stuff!
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_LIBS += $(VBOX_GCC_LIBGCC)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# VBoxDD2GC (LGPL sysmod)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_TEMPLATE = VBOXGC
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_DEFS =
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_SYSSUFF = .gc
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_INCS := \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(PATH_SUB_CURRENT)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(VBOX_LDR_FMT32),pe)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_LDFLAGS = -Entry:apicMMIOWrite
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_LIBS = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync# VBoxDD2R0 (LGPL sysmod)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_TEMPLATE = VBOXR0
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_DEFS = IN_RT_R0
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_SYSSUFF = .r0
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_INCS := \
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync $(PATH_SUB_CURRENT)
8a339f91959bb7a3315b51a23461b68c7b0cb50evboxsyncVBoxDD2R0_SOURCES = \
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncifeq ($(VBOX_LDR_FMT),pe)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_LDFLAGS = -Entry:apicMMIOWrite
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT)),)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_LIBS += $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(VBOX_LDR_FMT),elf)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2R0_LIBS += $(VBOX_GCC_LIBGCC)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# Drivers (library)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncifeq ($(BUILD_TARGET),l4) # We are using real Linux headers, not the cleaned up user space ones
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_TEMPLATE = VBOXR3NP
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_TEMPLATE = VBOXR3
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_SDKS.win = WINPSDK W2K3DDK
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncDrivers_DEFS = IN_IDE_R3
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncDrivers_DEFS.win.x86 += _WIN32_WINNT=0x0500
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_DEFS.win.amd64 += _WIN32_WINNT=0x0510
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_INCS := \
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync $(PATH_SUB_CURRENT) \
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_SOURCES = \
a39ea3668b7019c23a68936259545f9b71bce1aavboxsync# -- OS specific --
da3503c04ce76e653401396fe2795a9bc2427a1dvboxsyncifeq ($(BUILD_TARGET),darwin)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncDrivers_SOURCES := $(filter-out \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync , $(Drivers_SOURCES)) \
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsyncendif # darwin
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncifeq ($(BUILD_TARGET),freebsd)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_SOURCES := $(filter-out \
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync , $(Drivers_SOURCES))
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncendif # freebsd
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncifeq ($(BUILD_TARGET),l4)
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncDrivers_SOURCES = \
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncifeq ($(BUILD_TARGET),os2)
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncDrivers_SOURCES := $(filter-out \
0c4004948fca34f2db87e7b38013137e9472c306vboxsync , $(Drivers_SOURCES))
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncifeq ($(BUILD_TARGET),solaris)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_SOURCES := $(filter-out \
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync , $(Drivers_SOURCES))
0c4004948fca34f2db87e7b38013137e9472c306vboxsync ifdef VBOX_WITH_CROSSBOW
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync Drivers_DEFS += VBOX_WITH_CROSSBOW
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync Drivers_INCS += \
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync ifdef VBOX_WITH_SUID_WRAPPER
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
0c4004948fca34f2db87e7b38013137e9472c306vboxsync# -- features --
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsyncifdef VBOX_WITH_ISCSI
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync Drivers_SOURCES += \
0c4004948fca34f2db87e7b38013137e9472c306vboxsync Drivers_DEFS += VBOX_WITH_ISCSI
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncendif # VBOX_WITH_ISCSI
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsyncifdef VBOX_WITH_ALSA
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync Drivers_DEFS.linux += VBOX_WITH_ALSA
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsyncifdef VBOX_WITH_USB
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync Drivers_DEFS += VBOX_WITH_USB IN_USB_R3
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync ifdef VBOX_WITH_PDMUSB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_DEFS += VBOX_WITH_PDMUSB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_SOURCES += \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync ifdef VBOX_WITH_VRDP
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_DEFS += VBOX_VRDP
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_SOURCES += \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync #Drivers_DEFS.darwin += VBOX_WITH_USBFILTER
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_DEFS.linux += VUSB_HAVE_USBPROXY_DEVICE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync ifdef VBOX_WITHOUT_LINUX_COMPILER_H
26947320577c481b4afefdb0afbb855181e5b2e8vboxsync Drivers_DEFS.linux += VBOX_WITHOUT_LINUX_COMPILER_H
26947320577c481b4afefdb0afbb855181e5b2e8vboxsync Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
c28fa006ba669ad8f26ae31d00a338379c04ea1bvboxsyncendif # VBOX_WITH_USB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# Ring-0 Services (library, linked into VMMR0.r0)
a8139954a84d6e9090dd3a8371aa788351d45bc3vboxsyncServicesR0_TEMPLATE = VBOXR0
a8139954a84d6e9090dd3a8371aa788351d45bc3vboxsyncServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
a8139954a84d6e9090dd3a8371aa788351d45bc3vboxsyncServicesR0_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_TESTCASES
cba6719bd64ec749967bbe931230452664109857vboxsync PROGRAMS += tstIntNetR0
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync tstIntNetR0_DEFS = IN_INTNET_R0
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync tstIntNetR0_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# EEPROM device unit test requires cppunit
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_CPPUNIT_TESTCASES
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync PROGRAMS += tstDevEEPROM
da3503c04ce76e653401396fe2795a9bc2427a1dvboxsync tstDevEEPROM_TEMPLATE = VBOXR3TSTEXE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync tstDevEEPROM_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync tstDevEEPROM_LIBS = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(PATH_LIB)/DevicesR3.a cppunit
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncinclude $(PATH_KBUILD)/subfooter.kmk