Makefile.kmk revision 9087252c4836fb9c56e32e67af6167998bfd11f2
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync# Top-level makefile for the devices, drivers and services.
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync# 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
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsyncinclude $(PATH_SUB_CURRENT)/Graphics/BIOS/Makefile.kmk
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsyncinclude $(PATH_SUB_CURRENT)/Storage/testcase/Makefile.kmk
b0db50948c349fa76655abf252f7946b515e8204vboxsync# Subdirs with complex makefiles.
2f0d866e126dd288169fed591c259c1c6b4016e5vboxsyncifdef VBOX_WITH_INTEL_PXE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncSUBDIRS_LIBRARIES = PC/PXE
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncSUBDIRS_CLEAN = PC/PXE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncSUBDIRS_LIBRARIES = PC/Etherboot-src
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncSUBDIRS_CLEAN = PC/Etherboot-src
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifndef 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 = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifdef VBOX_WITH_USB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDU_LIBS = \
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync $(LIB_RUNTIME)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_USB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync 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
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync# VBoxDD (shared object)
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncVBoxDD_TEMPLATE = VBOXR3
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncVBoxDD_SDKS.win = WINPSDK DXSDK W2K3DDK VBOX_NTDLL
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD_DEFS = VBOX_ACPI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_USB
44a2ecaf2d0fc196ab76cab13b3f909299e386d1vboxsync VBoxDD_DEFS += VBOX_WITH_USB IN_USB_R3
44a2ecaf2d0fc196ab76cab13b3f909299e386d1vboxsync ifdef VBOX_WITH_EHCI
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsync VBoxDD_DEFS += VBOX_WITH_EHCI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_AHCI
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_DEFS += VBOX_WITH_AHCI
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifdef VBOX_WITH_ISCSI
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_DEFS += VBOX_WITH_ISCSI
cab115cfa31c584def7069312a1e23c3fc88533bvboxsyncifndef VBOX_OSE
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync VBoxDD_DEFS +=VBOX_WITH_E1000
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncVBoxDD_LIBS = \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(PATH_LIB)/DevicesR3$(VBOX_SUFF_LIB) \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(PATH_LIB)/Drivers$(VBOX_SUFF_LIB) \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(PATH_LIB)/PcDefBiosLogo$(VBOX_SUFF_LIB) \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(LIB_VMM) \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(LIB_RUNTIME)
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncifeq ($(BUILD_TARGET),win)
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync VBoxDD_LIBS += \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(PATH_LIB)/VBoxDDU.lib \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(PATH_LIB)/VBoxDD2.lib \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_SDK_DXSDK_LIB)/dxguid.lib
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(INSTARGET_VBoxDDU) \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(INSTARGET_VBoxDD2)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(BUILD_TARGET),l4)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifeq ($(BUILD_TARGET),solaris)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += adm
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync ifdef VBOX_WITH_CROSSBOW
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += dlpi
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync ifdef VBOX_WITH_SUID_WRAPPER
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync VBoxDD_LIBS += secdb
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsyncVBoxDD_LDFLAGS.darwin = -install_name @executable_path/VBoxDD.dylib \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync -framework CoreAudio \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync -framework IOKit \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync -framework Carbon \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync -framework DiskArbitration
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD_LDFLAGS.linux = -Wl,--no-undefined
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD_LDFLAGS.l4 = -Wl,--no-undefined
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# damn, fix this.
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifeq ($(BUILD_TARGET),win)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync# VBoxDD2 (shared object)
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncVBoxDD2_TEMPLATE = VBOXR3
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_DEFS = IN_VBOXDD2
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_INCS := \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_SUB_CURRENT)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_SOURCES = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_LIBS = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/PcBiosBin$(VBOX_SUFF_LIB) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/VgaBiosBin$(VBOX_SUFF_LIB) \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(PATH_LIB)/NetBiosBin$(VBOX_SUFF_LIB) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(LIB_VMM) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(LIB_RUNTIME)
93f91841f87620d1cb6d0238b3d0d5e52cd3b9a4vboxsyncifeq ($(BUILD_TARGET),l4)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_LIBS += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_LDFLAGS.darwin = -install_name @executable_path/VBoxDD2.dylib
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2_LDFLAGS.linux = -Wl,--no-undefined
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2_LDFLAGS.l4 = -Wl,--no-undefined
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync# DevicesR3 (library)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDevicesR3_TEMPLATE = VBOXR3
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncDevicesR3_SDKS.win = WINPSDK W2K3DDK
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncDevicesR3_INCS := \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(PATH_SUB_CURRENT)
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncDevicesR3_SOURCES = \
0dd6dfbebcda0af90da4413aaea5f3b9d1817556vboxsyncifndef VBOX_OSE
0dd6dfbebcda0af90da4413aaea5f3b9d1817556vboxsyncDevicesR3_SOURCES += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncDevicesR3_DEFS += VBOX_WITH_E1000
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifdef VBOX_WITH_AHCI
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncDevicesR3_DEFS += VBOX_WITH_AHCI IN_AHCI_R3
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncDevicesR3_SOURCES += \
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsyncifdef VBOX_WITH_USB
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsyncDevicesR3_DEFS += VBOX_WITH_USB IN_USB_R3
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsyncDevicesR3_SOURCES += \
64f58e4154eaa20c47782b429eeaff09070369bfvboxsync ifdef VBOX_WITH_EHCI
64f58e4154eaa20c47782b429eeaff09070369bfvboxsync DevicesR3_DEFS += VBOX_WITH_EHCI
64f58e4154eaa20c47782b429eeaff09070369bfvboxsync DevicesR3_SOURCES += \
64f58e4154eaa20c47782b429eeaff09070369bfvboxsyncDevicesR3_DEFS += VBOX_HGCM
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsync# DevACPI.cpp needs vboxaml.hex which we generate from PC/vbox.dsl.
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsyncDevicesR3_CLEAN += $(PATH_TARGET)/vboxaml.hex $(PATH_TARGET)/vboxaml.aml
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsyncPC/DevACPI.cpp_INCS = $(PATH_TARGET)
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
7ccfefe49db4cd93c3701d7b60873ebf404b5b87vboxsync $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# VBoxDDGC (sysmod)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDGC_TEMPLATE = VBOXGC
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDGC_DEFS =
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDGC_SYSSUFF = .gc
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDGC_INCS := \
0dd6dfbebcda0af90da4413aaea5f3b9d1817556vboxsync $(PATH_SUB_CURRENT)
0dd6dfbebcda0af90da4413aaea5f3b9d1817556vboxsyncVBoxDDGC_SOURCES = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifdef VBOX_WITH_USB
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDGC_DEFS += VBOX_WITH_USB IN_USB_GC
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDGC_SOURCES += \
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsync ifdef VBOX_WITH_EHCI
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsync VBoxDDGC_DEFS += VBOX_WITH_EHCI
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsync VBoxDDGC_SOURCES += \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncifdef VBOX_WITH_AHCI
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDGC_DEFS += VBOX_WITH_AHCI IN_AHCI_GC
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDGC_SOURCES += \
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsyncifeq ($(VBOX_LDR_FMT32),pe)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDGC_LDFLAGS = -Entry:vgaMMIOWrite
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDDGC_LIBS = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
0dd6dfbebcda0af90da4413aaea5f3b9d1817556vboxsync# VBoxDDR0 (sysmod)
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsyncVBoxDDR0_TEMPLATE = VBOXR0
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsyncVBoxDDR0_SYSSUFF = .r0
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsyncVBoxDDR0_DEFS = IN_RT_R0
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsyncVBoxDDR0_INCS := \
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsync $(PATH_SUB_CURRENT)
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsyncVBoxDDR0_SOURCES = \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncifdef VBOX_WITH_USB
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDR0_DEFS += VBOX_WITH_USB IN_USB_R0
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDR0_SOURCES += \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsync ifdef VBOX_WITH_EHCI
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsync VBoxDDR0_DEFS += VBOX_WITH_EHCI
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync VBoxDDR0_SOURCES += \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncifdef VBOX_WITH_AHCI
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDR0_DEFS += VBOX_WITH_AHCI IN_AHCI_R0
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDR0_SOURCES += \
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncifeq ($(VBOX_LDR_FMT32),pe)
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDR0_LDFLAGS = -Entry:vgaMMIOWrite
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
4569bf0ad094b40d2e177299a00d37e94d28616cvboxsyncVBoxDDR0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncVBoxDDR0_LIBS += $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
fc78e01f665145ab3641c5f8095e9ae984ddcb84vboxsyncifeq ($(VBOX_LDR_FMT32),elf) # this is template stuff!
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDDR0_LIBS += $(VBOX_GCC_LIBGCC)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync# VBoxDD2GC (LGPL sysmod)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_TEMPLATE = VBOXGC
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_DEFS =
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_SYSSUFF = .gc
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2GC_INCS := \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_SUB_CURRENT)
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsyncVBoxDD2GC_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(VBOX_LDR_FMT32),pe)
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsyncVBoxDD2GC_LDFLAGS = -Entry:apicMMIOWrite
71f6a34b72f9cc873da208630959de49df1a28a5vboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
71f6a34b72f9cc873da208630959de49df1a28a5vboxsyncVBoxDD2GC_LIBS = \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
96a7e06717e2d7398642eadb5ebab1bf13fbe2dbvboxsync $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# VBoxDD2R0 (LGPL sysmod)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_TEMPLATE = VBOXR0
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncVBoxDD2R0_DEFS = IN_RT_R0
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncVBoxDD2R0_SYSSUFF = .r0
ad27e1d5e48ca41245120c331cc88b50464813cevboxsyncVBoxDD2R0_INCS := \
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsync $(PATH_SUB_CURRENT)
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncVBoxDD2R0_SOURCES = \
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncifeq ($(VBOX_LDR_FMT),pe)
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncVBoxDD2R0_LDFLAGS = -Entry:apicMMIOWrite
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT)),)
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncVBoxDD2R0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2R0_LIBS += $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(VBOX_LDR_FMT),elf)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncVBoxDD2R0_LIBS += $(VBOX_GCC_LIBGCC)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# Drivers (library)
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncifeq ($(BUILD_TARGET),l4) # We are using real Linux headers, not the cleaned up user space ones
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_TEMPLATE = VBOXR3NP
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_TEMPLATE = VBOXR3
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_SDKS.win = WINPSDK W2K3DDK
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_DEFS = IN_IDE_R3
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncDrivers_DEFS.win.x86 += _WIN32_WINNT=0x0500
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_DEFS.win.amd64 += _WIN32_WINNT=0x0510
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_INCS := \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync $(PATH_SUB_CURRENT) \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync# -- OS specific --
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(BUILD_TARGET),darwin)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_SOURCES := $(filter-out \
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync , $(Drivers_SOURCES)) \
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncendif # darwin
d7125f3a1b435761c393f9ec406e85a73ae2a3e7vboxsyncifeq ($(BUILD_TARGET),freebsd)
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncDrivers_SOURCES := $(filter-out \
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync , $(Drivers_SOURCES))
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncendif # freebsd
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(BUILD_TARGET),l4)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_SOURCES = \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncifeq ($(BUILD_TARGET),os2)
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsyncDrivers_SOURCES := $(filter-out \
9dca051a5f8ff457ef1692990f6ecfa280daf265vboxsync , $(Drivers_SOURCES))
b0db50948c349fa76655abf252f7946b515e8204vboxsyncifeq ($(BUILD_TARGET),solaris)
b0db50948c349fa76655abf252f7946b515e8204vboxsyncDrivers_SOURCES := $(filter-out \
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync , $(Drivers_SOURCES))
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync ifdef VBOX_WITH_CROSSBOW
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync Drivers_DEFS += VBOX_WITH_CROSSBOW
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync ifdef VBOX_WITH_SUID_WRAPPER
ea779b55cc87f3e3fadddca4672c6697c82606edvboxsync Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync# -- features --
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncifdef VBOX_WITH_ISCSI
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync Drivers_SOURCES += \
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync Drivers_DEFS += VBOX_WITH_ISCSI
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncendif # VBOX_WITH_ISCSI
0db6a029780d9f9b347500e117320a8d5661efe5vboxsyncifdef VBOX_WITH_ALSA
da3503c04ce76e653401396fe2795a9bc2427a1dvboxsync Drivers_DEFS.linux += VBOX_WITH_ALSA
cab115cfa31c584def7069312a1e23c3fc88533bvboxsyncifdef VBOX_WITH_USB
cab115cfa31c584def7069312a1e23c3fc88533bvboxsync Drivers_DEFS += VBOX_WITH_USB IN_USB_R3
cab115cfa31c584def7069312a1e23c3fc88533bvboxsync Drivers_SOURCES += \
cab115cfa31c584def7069312a1e23c3fc88533bvboxsync ifdef VBOX_WITH_VRDP
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync Drivers_DEFS += VBOX_VRDP
8f0fc87a72dee210b62acc9dd859a4bebf8bfb33vboxsync Drivers_SOURCES += \
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
0c4004948fca34f2db87e7b38013137e9472c306vboxsync #Drivers_DEFS.darwin += VBOX_WITH_USBFILTER
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync Drivers_DEFS.linux += VUSB_HAVE_USBPROXY_DEVICE
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync ifdef VBOX_WITHOUT_LINUX_COMPILER_H
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync Drivers_DEFS.linux += VBOX_WITHOUT_LINUX_COMPILER_H
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
71f6a34b72f9cc873da208630959de49df1a28a5vboxsyncendif # VBOX_WITH_USB
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync# Ring-0 Services (library, linked into VMMR0.r0)
71f6a34b72f9cc873da208630959de49df1a28a5vboxsyncServicesR0_TEMPLATE = VBOXR0
71f6a34b72f9cc873da208630959de49df1a28a5vboxsyncServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsyncServicesR0_SOURCES = \
0c4004948fca34f2db87e7b38013137e9472c306vboxsync# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
0c4004948fca34f2db87e7b38013137e9472c306vboxsyncifdef VBOX_WITH_TESTCASES
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync PROGRAMS += tstIntNetR0
0c4004948fca34f2db87e7b38013137e9472c306vboxsync tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
0c4004948fca34f2db87e7b38013137e9472c306vboxsync tstIntNetR0_DEFS = IN_INTNET_R0
d4e9ccea0ea1ed303b5708ff94f6c202755f0dc6vboxsync tstIntNetR0_SOURCES = \
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync# EEPROM device unit test requires cppunit
71f6a34b72f9cc873da208630959de49df1a28a5vboxsyncifdef VBOX_WITH_CPPUNIT_TESTCASES
71f6a34b72f9cc873da208630959de49df1a28a5vboxsyncifndef VBOX_OSE
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync PROGRAMS += tstDevEEPROM
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync tstDevEEPROM_SOURCES = \
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync tstDevEEPROM_LIBS = \
71f6a34b72f9cc873da208630959de49df1a28a5vboxsync $(TARGET_DevicesR3)
71f6a34b72f9cc873da208630959de49df1a28a5vboxsyncinclude $(PATH_KBUILD)/subfooter.kmk