VirtualBox

source: vbox/trunk/src/VBox/Devices/Makefile.kmk@ 32619

Last change on this file since 32619 was 32536, checked in by vboxsync, 14 years ago

Storage/VBoxHDD: replace custom open flags with regular IPRT file open flags, introduce user-providable filesystem access interface, eliminate dependency on PGM geometry structure, change pvBuffer/cbBuffer parameter ordering to the usual conventions, eliminate the remains of the old I/O code, make more plugin methods optional to reduce redundancy, lots of cleanups

Storage/DrvVD+testcases,Main/Medium+Frontends: adapt to VBoxHDD changes, logging fixes

Storage/VDI+VMDK+DMG+Raw+VHD+Parallels+VCI: made as similar to each other as possible, added inline VFS wrappers to improve readability, full VFS support, VDI files are now 4K aligned, eliminate the remains of the old I/O code, various more or less severe bugfixes, code sort

Storage/iSCSI: support disks bigger than 2T, streamline the code to be more similar to the file-based backends, memory leak fix, error code usage like file-based backends, code sort

log+err: added new error codes/log groups and eliminated unused old ones

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 29.6 KB
Line 
1# $Id: Makefile.kmk 32536 2010-09-15 18:25:32Z vboxsync $
2## @file
3# Top-level sub-makefile for the devices, drivers and services.
4#
5
6#
7# Copyright (C) 2006-2010 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18SUB_DEPTH = ../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21
22VBOX_PATH_DEVICES_SRC := $(PATH_SUB_CURRENT)
23
24# Include sub-makefiles.
25include $(PATH_SUB_CURRENT)/PC/BIOS/Makefile.kmk
26include $(PATH_SUB_CURRENT)/Graphics/BIOS/Makefile.kmk
27include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
28include $(PATH_SUB_CURRENT)/Storage/testcase/Makefile.kmk
29ifndef VBOX_OSE
30 include $(PATH_SUB_CURRENT)/Storage/VBoxHDDFormats/Makefile.kmk
31endif
32ifdef VBOX_WITH_EFI
33 include $(PATH_SUB_CURRENT)/EFI/Thunk/Makefile.kmk
34endif
35ifdef VBOX_WITH_INTEL_PXE
36 include $(PATH_SUB_CURRENT)/PC/PXE/Makefile.kmk
37else
38 # Subdir with complex makefile.
39 SUBDIRS_LIBRARIES += $(VBOX_PATH_DEVICES_SRC)/PC/Etherboot-src
40 SUBDIRS_CLEAN += $(VBOX_PATH_DEVICES_SRC)/PC/Etherboot-src
41 # Disable the unsafe pass order optimizations.
42 KBUILD_SAFE_PARALLEL = 1
43endif
44
45#
46# Main targets.
47#
48LIBRARIES += DevicesR3 Drivers ServicesR0
49DLLS += VBoxDDU VBoxDD VBoxDD2
50SYSMODS += VBoxDDR0 VBoxDD2R0
51ifdef VBOX_WITH_RAW_MODE
52 SYSMODS += VBoxDDGC VBoxDD2GC
53endif
54
55
56#
57# VBoxDDU (shared object)
58#
59VBoxDDU_TEMPLATE = VBOXR3
60VBoxDDU_NAME = $(basename $(notdir $(LIB_DDU)))
61VBoxDDU_INST.darwin = $(INST_DLL) $(INST_TESTCASE)
62VBoxDDU_DEFS = IN_VBOXDDU
63ifdef VBOX_WITH_VUSB
64 VBoxDDU_DEFS += VBOX_WITH_VUSB
65endif
66ifdef VBOX_WITH_USB
67 VBoxDDU_DEFS += VBOX_WITH_USB IN_USBLIB
68 VBoxDDU_SDKS.win = WINPSDK W2K3DDK
69 ifdef VBOX_WITH_EHCI
70 VBoxDDU_DEFS += VBOX_WITH_EHCI
71 endif
72 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
73 VBoxDDU_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
74 endif
75else
76 VBoxDDU_SDKS.win = WINPSDK
77endif
78VBoxDDU_SOURCES = \
79 Storage/VBoxHDD.cpp \
80 Storage/VDIHDDCore.cpp \
81 Storage/VHDHDDCore.cpp \
82 Storage/VmdkHDDCore.cpp \
83 Storage/RawHDDCore.cpp \
84 Storage/ParallelsHDDCore.cpp \
85 Storage/DMGHDDCore.cpp \
86 Storage/VCICacheCore.cpp \
87 Storage/VSCSI/VSCSIDevice.cpp \
88 Storage/VSCSI/VSCSILun.cpp \
89 Storage/VSCSI/VSCSILunSbc.cpp \
90 Storage/VSCSI/VSCSISense.cpp \
91 Storage/VSCSI/VSCSISgBuf.cpp \
92 Storage/VSCSI/VSCSIIoReq.cpp \
93 VBoxDDUDeps.cpp
94ifdef VBOX_WITH_USB
95 VBoxDDU_INCS.os2 += \
96 $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
97endif
98VBoxDDU_LIBS = \
99 $(LIB_RUNTIME)
100ifdef VBOX_WITH_USB
101 VBoxDDU_LIBS += \
102 $(PATH_LIB)/USBLib$(VBOX_SUFF_LIB)
103endif
104ifeq ($(KBUILD_TARGET),l4)
105 VBoxDDU_LIBS += \
106 $(L4_LIBDIR)/libl4sys.p.a
107endif
108VBoxDDU_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDDU.dylib
109ifdef VBOX_WITH_USB
110 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
111 VBoxDDU_LDFLAGS.darwin += -framework IOKit
112 endif
113endif
114
115VBoxDDU_LDFLAGS.linux = -Wl,--no-undefined
116VBoxDDU_LDFLAGS.l4 = -Wl,--no-undefined
117
118#
119# VBoxDDULnxHostR3 (Only needed for l4, currently for executing vditool on L4Linux.)
120#
121ifeq ($(KBUILD_TARGET),l4)
122 LIBRARIES += VBoxDDULnxHostR3
123 VBoxDDULnxHostR3_TEMPLATE = VBOXLNXHOSTR3LIB
124 VBoxDDULnxHostR3_DEFS = IN_VBOXDDU
125 VBoxDDULnxHostR3_SOURCES = $(VBoxDDU_SOURCES)
126endif
127
128#
129# VBoxDD (shared object)
130#
131VBoxDD_TEMPLATE = VBOXR3
132ifdef VBOX_WITH_DTRACE_R3
133 VBoxDD_TEMPLATE = VBOXR3OSX105
134endif
135VBoxDD_SDKS.win = WINPSDK DXSDK W2K3DDK VBOX_NTDLL
136VBoxDD_SOURCES = \
137 Builtins.cpp
138VBoxDD_DEFS = VBOX_ACPI
139ifdef VBOX_WITH_USB
140 VBoxDD_DEFS += VBOX_WITH_USB
141 ifdef VBOX_WITH_EHCI
142 VBoxDD_DEFS += VBOX_WITH_EHCI
143 endif
144endif
145ifdef VBOX_WITH_VUSB
146 VBoxDD_DEFS += VBOX_WITH_VUSB
147endif
148ifdef VBOX_WITH_AHCI
149 VBoxDD_DEFS += VBOX_WITH_AHCI
150endif
151ifdef VBOX_WITH_INIP
152 VBoxDD_DEFS += VBOX_WITH_INIP
153endif
154ifdef VBOX_WITH_E1000
155 VBoxDD_DEFS += VBOX_WITH_E1000
156endif
157ifdef VBOX_WITH_VIRTIO
158 VBoxDD_DEFS += VBOX_WITH_VIRTIO
159endif
160ifdef VBOX_WITH_BUSLOGIC
161 VBoxDD_DEFS += VBOX_WITH_BUSLOGIC
162endif
163ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
164 VBoxDD_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
165endif
166ifdef VBOX_WITH_SCSI
167 VBoxDD_DEFS += VBOX_WITH_SCSI
168endif
169ifdef VBOX_WITH_LSILOGIC
170 VBoxDD_DEFS += VBOX_WITH_LSILOGIC
171endif
172ifdef VBOX_WITH_EFI
173 VBoxDD_DEFS += VBOX_WITH_EFI
174endif
175ifdef VBOX_WITH_DRV_DISK_INTEGRITY
176 VBoxDD_DEFS += VBOX_WITH_DRV_DISK_INTEGRITY
177endif
178ifdef VBOX_WITH_VDE
179 VBoxDD_DEFS += VBOX_WITH_VDE
180endif
181
182VBoxDD_LIBS = \
183 $(PATH_LIB)/DevicesR3$(VBOX_SUFF_LIB) \
184 $(PATH_LIB)/Drivers$(VBOX_SUFF_LIB) \
185 $(PATH_LIB)/VgaDefBiosLogo$(VBOX_SUFF_LIB) \
186 $(LIB_VMM) \
187 $(LIB_RUNTIME)
188ifeq ($(KBUILD_TARGET),win)
189 VBoxDD_LIBS += \
190 $(LIB_DDU) \
191 $(PATH_LIB)/VBoxDD2.lib \
192 $(PATH_SDK_DXSDK_LIB)/dxguid.lib
193else
194 VBoxDD_LIBS += \
195 $(INSTARGET_VBoxDDU) \
196 $(INSTARGET_VBoxDD2)
197endif
198ifeq ($(KBUILD_TARGET),l4)
199 VBoxDD_LIBS += \
200 $(L4_LIBDIR)/libl4sys.p.a
201endif
202
203ifdef VBOX_WITH_HGSMI
204 VBoxDD_LIBS += \
205 $(PATH_LIB)/HGSMIHostR3Lib$(VBOX_SUFF_LIB)
206endif
207
208ifdef VBOX_WITH_NETFLT
209 VBoxDD_LIBS.win += $(PATH_LIB)/WinNetConfig.lib
210endif
211
212ifdef VBOX_WITH_EFI
213 VBoxDD_LIBS += $(PATH_LIB)/EfiThunkBin$(VBOX_SUFF_LIB)
214endif
215
216ifeq ($(KBUILD_TARGET),solaris)
217 VBoxDD_LIBS += adm
218 ifdef VBOX_WITH_SUID_WRAPPER
219 VBoxDD_LIBS += secdb
220 endif
221 ifdef VBOX_WITH_USB
222 VBoxDD_LIBS += aio
223 endif
224endif
225
226VBoxDD_LIBS.darwin += \
227 $(LIB_REM)
228
229VBoxDD_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDD.dylib \
230 -framework CoreAudio \
231 -framework AudioUnit \
232 -framework AudioToolbox \
233 -framework IOKit \
234 -framework Carbon \
235 -framework DiskArbitration
236VBoxDD_LDFLAGS.linux = -Wl,--no-undefined
237VBoxDD_LDFLAGS.l4 = -Wl,--no-undefined
238
239
240#
241# VBoxDD2 (shared object)
242#
243VBoxDD2_TEMPLATE = VBOXR3
244VBoxDD2_DEFS = IN_VBOXDD2
245VBoxDD2_INCS := \
246 $(PATH_SUB_CURRENT)
247VBoxDD2_SOURCES = \
248 Builtins2.cpp \
249 PC/DevAPIC.cpp \
250 PC/DevSMC.cpp \
251 PC/DevLPC.cpp
252VBoxDD2_LIBS = \
253 $(PATH_LIB)/PcBiosBin$(VBOX_SUFF_LIB) \
254 $(PATH_LIB)/VgaBiosBin$(VBOX_SUFF_LIB) \
255 $(PATH_LIB)/NetBiosBin$(VBOX_SUFF_LIB) \
256 $(LIB_VMM) \
257 $(LIB_RUNTIME)
258ifeq ($(KBUILD_TARGET),l4)
259VBoxDD2_LIBS += \
260 $(L4_LIBDIR)/libl4sys.p.a
261endif
262VBoxDD2_LIBS.darwin += $(LIB_REM)
263VBoxDD2_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDD2.dylib
264VBoxDD2_LDFLAGS.linux = -Wl,--no-undefined
265VBoxDD2_LDFLAGS.l4 = -Wl,--no-undefined
266
267
268#
269# DevicesR3 (library)
270#
271DevicesR3_TEMPLATE = VBOXR3
272DevicesR3_SDKS.win = WINPSDK W2K3DDK
273DevicesR3_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
274DevicesR3_DEFS += VBOX_HGCM_HOST_CODE \
275 VBOX_WITH_HGCM
276DevicesR3_DEFS.linux += _GNU_SOURCE
277DevicesR3_DEFS.l4 += _GNU_SOURCE
278
279DevicesR3_INCS = \
280 .
281
282DevicesR3_SOURCES = \
283 Input/DevPS2.cpp \
284 Input/UsbKbd.cpp \
285 Input/UsbMouse.cpp \
286 Bus/DevPCI.cpp \
287 Bus/DevPciIch9.cpp \
288 Graphics/DevVGA.cpp \
289 Storage/DevATA.cpp \
290 PC/DevPit-i8254.cpp \
291 PC/DevPIC.cpp \
292 PC/DevACPI.cpp \
293 PC/ACPI/VBoxAcpi.cpp \
294 PC/DevRTC.cpp \
295 PC/DevPcBios.cpp \
296 PC/DevFwCommon.cpp \
297 PC/DevPcArch.c \
298 VMMDev/VMMDev.cpp \
299 VMMDev/VMMDevHGCM.cpp \
300 VMMDev/VMMDevTesting.cpp \
301 Network/DevPCNet.cpp \
302 Audio/DevIchAc97.cpp \
303 Audio/DevSB16.cpp \
304 Audio/DevIchIntelHDA.cpp \
305 Audio/DevCodec.cpp \
306 PC/DevDMA.cpp \
307 PC/DevHPET.cpp \
308 PC/DevSMC.cpp \
309 PC/DevLPC.cpp \
310 Storage/fdc.c \
311 Serial/DevSerial.cpp \
312 Parallel/DevParallel.cpp
313
314ifdef VBOX_DYNAMIC_NET_ATTACH
315 DevicesR3_DEFS += VBOX_DYNAMIC_NET_ATTACH
316endif
317ifdef VBOX_BIOS_DMI_FALLBACK
318 DevicesR3_DEFS += VBOX_BIOS_DMI_FALLBACK
319endif
320
321ifdef VBOX_WITH_E1000
322 DevicesR3_DEFS += VBOX_WITH_E1000
323 DevicesR3_SOURCES += \
324 Network/DevE1000.cpp \
325 Network/DevE1000Phy.cpp \
326 Network/DevEEPROM.cpp
327endif
328
329ifdef VBOX_WITH_VIRTIO
330 DevicesR3_DEFS += VBOX_WITH_VIRTIO
331 DevicesR3_SOURCES += \
332 VirtIO/Virtio.cpp \
333 Network/DevVirtioNet.cpp
334endif
335
336ifdef VBOX_WITH_HGSMI
337 DevicesR3_DEFS += VBOX_WITH_HGSMI
338 DevicesR3_SOURCES += \
339 Graphics/DevVGA_VBVA.cpp \
340 Graphics/HGSMI/HGSMIHost.cpp \
341 Graphics/HGSMI/HGSMIHostHlp.cpp
342
343endif
344ifdef VBOXWDDM
345 DevicesR3_DEFS += VBOXWDDM
346 DevicesR3_SOURCES += \
347 Graphics/HGSMI/SHGSMIHost.cpp
348endif
349ifdef VBOXWDDM_WITH_VBVA
350 DevicesR3_DEFS += VBOXWDDM_WITH_VBVA
351endif
352
353ifdef VBOX_WITH_VIDEOHWACCEL
354 DevicesR3_DEFS += VBOX_WITH_VIDEOHWACCEL
355endif
356ifdef VBOX_WITH_DMI_CHASSIS
357 DevicesR3_DEFS += VBOX_WITH_DMI_CHASSIS
358endif
359ifdef VBOX_WITH_DMI_OEMSTRINGS
360 DevicesR3_DEFS += VBOX_WITH_DMI_OEMSTRINGS
361endif
362
363ifdef VBOX_WITH_INIP
364 DevicesR3_INCS += \
365 Network/lwip/src/include \
366 Network/lwip/src/include/ipv4 \
367 Network/lwip/vbox/include
368 DevicesR3_SOURCES += \
369 Network/lwip/src/api/api_lib.c \
370 Network/lwip/src/api/api_msg.c \
371 Network/lwip/src/api/err.c \
372 Network/lwip/src/api/sockets.c \
373 Network/lwip/src/api/tcpip.c \
374 Network/lwip/src/core/tcp_in.c \
375 Network/lwip/src/core/dhcp.c \
376 Network/lwip/src/core/inet.c \
377 Network/lwip/src/core/mem.c \
378 Network/lwip/src/core/memp.c \
379 Network/lwip/src/core/netif.c \
380 Network/lwip/src/core/pbuf.c \
381 Network/lwip/src/core/raw.c \
382 Network/lwip/src/core/stats.c \
383 Network/lwip/src/core/sys.c \
384 Network/lwip/src/core/tcp.c \
385 Network/lwip/src/core/ipv4/ip_addr.c \
386 Network/lwip/src/core/ipv4/icmp.c \
387 Network/lwip/src/core/ipv4/ip.c \
388 Network/lwip/src/core/ipv4/ip_frag.c \
389 Network/lwip/src/core/tcp_out.c \
390 Network/lwip/src/core/udp.c \
391 Network/lwip/src/netif/etharp.c \
392 Network/lwip/vbox/sys_arch.c \
393 Network/DevINIP.cpp
394 DevicesR3_DEFS += VBOX_WITH_INIP
395endif
396
397ifdef VBOX_WITH_AHCI
398 DevicesR3_DEFS += VBOX_WITH_AHCI IN_AHCI_R3
399 DevicesR3_SOURCES += \
400 Storage/DevAHCI.cpp \
401 Storage/ATAController.cpp
402endif
403
404ifdef VBOX_WITH_BUSLOGIC
405 DevicesR3_DEFS += VBOX_WITH_BUSLOGIC
406 DevicesR3_SOURCES += \
407 Storage/DevBusLogic.cpp \
408 Storage/VBoxSCSI.cpp
409endif
410
411ifdef VBOX_WITH_LSILOGIC
412 DevicesR3_DEFS += VBOX_WITH_LSILOGIC
413 DevicesR3_SOURCES += \
414 Storage/DevLsiLogicSCSI.cpp
415endif
416
417ifdef VBOX_WITH_EFI
418 DevicesR3_DEFS += VBOX_WITH_EFI
419 ifdef VBOX_WITH_ALT_EFITHUNK
420 DevicesR3_DEFS += VBOX_WITH_ALT_EFITHUNK
421 endif
422 DevicesR3_SOURCES += EFI/DevEFI.cpp
423 EFI/DevEFI.cpp_INCS += EFI/tools/include
424 EFI/DevEFI.cpp_INCS.x86 += EFI/tools/include/Ia32
425 EFI/DevEFI.cpp_INCS.amd64 += EFI/tools/include/X64
426endif
427
428ifdef VBOX_WITH_DYNAMIC_DSDT
429 DevicesR3_DEFS += VBOX_WITH_DYNAMIC_DSDT
430endif
431
432ifdef VBOX_WITH_VUSB
433 DevicesR3_DEFS += VBOX_WITH_VUSB
434 DevicesR3_SOURCES += \
435 USB/DevOHCI.cpp
436endif
437ifdef VBOX_WITH_USB
438 DevicesR3_DEFS += VBOX_WITH_USB
439 ifdef VBOX_WITH_EHCI
440 DevicesR3_DEFS += VBOX_WITH_EHCI
441 DevicesR3_SOURCES += \
442 USB/DevEHCI.cpp
443 endif
444endif
445
446ifdef VBOX_WITH_DTRACE_R3
447 DevicesR3_TEMPLATE = VBOXR3OSX105
448 DevicesR3_DEFS += VBOX_WITH_DTRACE
449 DevicesR3_INCS += $(DevicesR3_0_OUTDIR)
450 DevicesR3_INTERMEDIATES += $(DevicesR3_0_OUTDIR)/VBoxDD-dtrace.h
451 $$(DevicesR3_0_OUTDIR)/VBoxDD-dtrace.h: $(PATH_CURRENT)/VBoxDD-dtrace.d | $$(dir $$@)
452 dtrace -C -h -o $@ -s $<
453endif
454
455ifdef VBOX_WITH_DYNAMIC_DSDT
456 DevicesR3_CLEAN += $(PATH_DevicesR3)/vboxdsl.hex
457 PC/ACPI/VBoxAcpi.cpp_DEPS = $(PATH_DevicesR3)/vboxdsl.hex
458
459 $$(PATH_DevicesR3)/vboxdsl.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
460 $(call MSG_TOOL,bin2c,DevicesR3,$<,$@)
461 $(QUIET)$(VBOX_BIN2C) -export VboxDslSource $< $@
462
463 vboxdsl.hex:: $$(PATH_DevicesR3)/vboxdsl.hex
464
465else # !VBOX_WITH_DYNAMIC_DSDT
466 # VBoxAcpi.cpp needs vboxaml.hex which we generate from PC/vbox.dsl
467 DevicesR3_CLEAN += \
468 $(PATH_DevicesR3)/vboxaml.hex \
469 $(PATH_DevicesR3)/vboxaml.aml \
470 $(PATH_DevicesR3)/vboxssdt-standard.hex \
471 $(PATH_DevicesR3)/vboxssdt-standard.aml \
472 $(PATH_DevicesR3)/vboxssdt-standard.aml.tmp \
473 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.hex \
474 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.aml \
475 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.aml.tmp \
476 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.aml.pre
477 PC/ACPI/VBoxAcpi.cpp_DEPS = \
478 $(PATH_DevicesR3)/vboxaml.hex \
479 $(PATH_DevicesR3)/vboxssdt-standard.hex \
480 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.hex
481
482 $$(PATH_DevicesR3)/vboxaml.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
483 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
484 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
485
486 vboxaml.hex:: $$(PATH_DevicesR3)/vboxaml.hex
487
488 $$(PATH_DevicesR3)/vboxssdt-standard.hex: $(PATH_SUB_CURRENT)/PC/vbox-standard.dsl | $$(dir $$@)
489 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
490 $(QUIET)$(RM) -f $@ [email protected]
491 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
492 $(QUIET)$(MV) -f $@ [email protected]
493 $(QUIET)$(SED) "s/AmlCode/AmlCodeSsdtStandard/g" \
494 --output $@ [email protected]
495 $(QUIET)$(RM) -f [email protected]
496
497
498 vboxssdt-standard.hex:: $$(PATH_DevicesR3)/vboxssdt-standard.hex
499
500 $$(PATH_DevicesR3)/vboxssdt-cpuhotplug.hex: $(PATH_SUB_CURRENT)/PC/vbox-cpuhotplug.dsl | $$(dir $$@)
501 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
502 $(QUIET)$(RM) -f $@ [email protected] [email protected]
503 $(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -E -P -x c -o [email protected] $<
504 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ [email protected]
505 $(QUIET)$(MV) -f $@ [email protected]
506 $(QUIET)$(SED) "s/AmlCode/AmlCodeSsdtCpuHotPlug/g" \
507 --output $@ [email protected]
508 $(QUIET)$(RM) -f [email protected] [email protected]
509
510
511 vboxssdt-cpuhotplug.hex:: $$(PATH_DevicesR3)/vboxssdt-cpuhotplug.hex
512
513endif # !VBOX_WITH_DYNAMIC_DSDT
514PC/ACPI/VBoxAcpi.cpp_INCS = $(PATH_DevicesR3)
515
516# For finding PCIInternal.h from VBox/pci.h.
517Bus/DevPCI.cpp_INCS = Bus
518Bus/DevPciIch9.cpp_INCS = Bus
519
520# For finding and generating vbetables.h (see Graphics/BIOS/Makefile.kmk).
521Graphics/DevVGA.cpp_INCS = $(PATH_VgaBiosBin)
522Graphics/DevVGA.cpp_DEPS = $(PATH_VgaBiosBin)/vbetables.h
523
524
525ifdef VBOX_WITH_RAW_MODE
526 #
527 # VBoxDDGC (sysmod)
528 #
529 VBoxDDGC_TEMPLATE = VBoxRc
530 ifeq ($(KBUILD_TARGET_ARCH),x86)
531 VBoxDDGC_DEFS.darwin = VBOX_WITH_2X_4GB_ADDR_SPACE
532 endif
533 VBoxDDGC_DEFS = VBOX_WITH_HGCM
534 VBoxDDGC_INCS := \
535 $(PATH_SUB_CURRENT)
536 VBoxDDGC_SOURCES = \
537 Bus/DevPCI.cpp \
538 Bus/DevPciIch9.cpp \
539 Graphics/DevVGA.cpp \
540 Input/DevPS2.cpp \
541 PC/DevACPI.cpp \
542 PC/DevPit-i8254.cpp \
543 PC/DevPIC.cpp \
544 PC/DevRTC.cpp \
545 PC/DevHPET.cpp \
546 Storage/DevATA.cpp \
547 Network/DevPCNet.cpp \
548 Serial/DevSerial.cpp \
549 Parallel/DevParallel.cpp \
550 VMMDev/VMMDevTesting.cpp
551
552 ifdef VBOX_DYNAMIC_NET_ATTACH
553 VBoxDDGC_DEFS += VBOX_DYNAMIC_NET_ATTACH
554 endif
555
556 ifdef VBOX_WITH_E1000
557 VBoxDDGC_DEFS += VBOX_WITH_E1000
558 VBoxDDGC_SOURCES += \
559 Network/DevE1000.cpp \
560 Network/DevE1000Phy.cpp
561 endif
562
563 ifdef VBOX_WITH_VIRTIO
564 VBoxDDGC_DEFS += VBOX_WITH_VIRTIO
565 VBoxDDGC_SOURCES += \
566 VirtIO/Virtio.cpp \
567 Network/DevVirtioNet.cpp
568 endif
569
570 ifdef VBOX_WITH_HGSMI
571 VBoxDDGC_DEFS += VBOX_WITH_HGSMI
572 endif
573 ifdef VBOXWDDM
574 VBoxDDGC_DEFS += VBOXWDDM
575 endif
576 ifdef VBOXWDDM_WITH_VBVA
577 VBoxDDGC_DEFS += VBOXWDDM_WITH_VBVA
578 endif
579
580 ifdef VBOX_WITH_VUSB
581 VBoxDDGC_DEFS += VBOX_WITH_VUSB
582 VBoxDDGC_SOURCES += \
583 USB/DevOHCI.cpp
584 endif
585
586 ifdef VBOX_WITH_USB
587 VBoxDDGC_DEFS += VBOX_WITH_USB
588 ifdef VBOX_WITH_EHCI
589 VBoxDDGC_DEFS += VBOX_WITH_EHCI
590 VBoxDDGC_SOURCES += \
591 USB/DevEHCI.cpp
592 endif
593 endif
594
595 ifdef VBOX_WITH_HGSMI
596 VBoxDDGC_DEFS += VBOX_WITH_HGSMI
597 endif
598 ifdef VBOXWDDM
599 VBoxDDGC_DEFS += VBOXWDDM
600 endif
601 ifdef VBOXWDDM_WITH_VBVA
602 VBoxDDGC_DEFS += VBOXWDDM_WITH_VBVA
603 endif
604
605 ifdef VBOX_WITH_VIDEOHWACCEL
606 VBoxDDGC_DEFS += VBOX_WITH_VIDEOHWACCEL
607 endif
608
609 ifdef VBOX_WITH_AHCI
610 VBoxDDGC_DEFS += VBOX_WITH_AHCI IN_AHCI_GC
611 VBoxDDGC_SOURCES += \
612 Storage/DevAHCI.cpp \
613 Storage/ATAController.cpp
614 endif
615
616 ifdef VBOX_WITH_BUSLOGIC
617 VBoxDDGC_DEFS += VBOX_WITH_BUSLOGIC
618 VBoxDDGC_SOURCES += \
619 Storage/DevBusLogic.cpp
620 endif
621
622 ifdef VBOX_WITH_LSILOGIC
623 VBoxDDGC_DEFS += VBOX_WITH_LSILOGIC
624 VBoxDDGC_SOURCES += \
625 Storage/DevLsiLogicSCSI.cpp
626 endif
627
628 if1of ($(VBOX_LDR_FMT32), pe lx)
629 VBoxDDGC_LIBS = \
630 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
631 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
632 endif
633endif # VBOX_WITH_RAW_MODE
634
635
636#
637# VBoxDDR0 (sysmod)
638#
639VBoxDDR0_TEMPLATE = VBoxR0
640VBoxDDR0_DEFS.darwin.x86= VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0 VBOX_WITH_2X_4GB_ADDR_SPACE
641VBoxDDR0_DEFS = IN_RT_R0 VBOX_WITH_HGCM # - WTF is IN_RT_R0 doing here?
642VBoxDDR0_INCS := \
643 $(PATH_SUB_CURRENT)
644VBoxDDR0_SOURCES = \
645 Bus/DevPCI.cpp \
646 Bus/DevPciIch9.cpp \
647 Graphics/DevVGA.cpp \
648 Input/DevPS2.cpp \
649 PC/DevACPI.cpp \
650 PC/DevPit-i8254.cpp \
651 PC/DevPIC.cpp \
652 PC/DevRTC.cpp \
653 PC/DevHPET.cpp \
654 Storage/DevATA.cpp \
655 Network/DevPCNet.cpp \
656 Serial/DevSerial.cpp \
657 Parallel/DevParallel.cpp \
658 VMMDev/VMMDevTesting.cpp \
659 \
660 Network/DrvIntNet.cpp \
661 Network/DrvDedicatedNic.cpp
662
663ifdef VBOX_DYNAMIC_NET_ATTACH
664 VBoxDDR0_DEFS += VBOX_DYNAMIC_NET_ATTACH
665endif
666
667ifdef VBOX_WITH_E1000
668 VBoxDDR0_DEFS += VBOX_WITH_E1000
669 VBoxDDR0_SOURCES += \
670 Network/DevE1000.cpp \
671 Network/DevE1000Phy.cpp
672endif
673
674ifdef VBOX_WITH_VIRTIO
675 VBoxDDR0_DEFS += VBOX_WITH_VIRTIO
676 VBoxDDR0_SOURCES += \
677 VirtIO/Virtio.cpp \
678 Network/DevVirtioNet.cpp
679endif
680
681ifdef VBOX_WITH_HGSMI
682 VBoxDDR0_DEFS += VBOX_WITH_HGSMI
683endif
684ifdef VBOXWDDM
685 VBoxDDR0_DEFS += VBOXWDDM
686endif
687ifdef VBOXWDDM_WITH_VBVA
688 VBoxDDR0_DEFS += VBOXWDDM_WITH_VBVA
689endif
690
691ifdef VBOX_WITH_VUSB
692 VBoxDDR0_DEFS += VBOX_WITH_VUSB
693 VBoxDDR0_SOURCES += \
694 USB/DevOHCI.cpp
695endif
696ifdef VBOX_WITH_USB
697VBoxDDR0_DEFS += VBOX_WITH_USB
698 ifdef VBOX_WITH_EHCI
699 VBoxDDR0_DEFS += VBOX_WITH_EHCI
700 VBoxDDR0_SOURCES += \
701 USB/DevEHCI.cpp
702 endif
703endif
704
705ifdef VBOX_WITH_AHCI
706VBoxDDR0_DEFS += VBOX_WITH_AHCI IN_AHCI_R0
707VBoxDDR0_SOURCES += \
708 Storage/DevAHCI.cpp \
709 Storage/ATAController.cpp
710endif
711
712ifdef VBOX_WITH_BUSLOGIC
713VBoxDDR0_DEFS += VBOX_WITH_BUSLOGIC
714VBoxDDR0_SOURCES += \
715 Storage/DevBusLogic.cpp
716endif
717
718ifdef VBOX_WITH_LSILOGIC
719VBoxDDR0_DEFS += VBOX_WITH_LSILOGIC
720VBoxDDR0_SOURCES += \
721 Storage/DevLsiLogicSCSI.cpp
722endif
723
724ifdef VBOX_WITH_HGSMI
725 VBoxDDR0_DEFS += VBOX_WITH_HGSMI
726endif
727ifdef VBOX_WITH_VIDEOHWACCEL
728 VBoxDDR0_DEFS += VBOX_WITH_VIDEOHWACCEL
729endif
730ifdef VBOXWDDM
731 VBoxDDR0_DEFS += VBOXWDDM
732endif
733ifdef VBOXWDDM_WITH_VBVA
734 VBoxDDR0_DEFS += VBOXWDDM_WITH_VBVA
735endif
736
737if1of ($(VBOX_LDR_FMT), pe lx)
738VBoxDDR0_LIBS = \
739 $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB) \
740 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB)
741endif
742
743
744ifdef VBOX_WITH_RAW_MODE
745 #
746 # VBoxDD2GC (LGPL sysmod)
747 #
748 VBoxDD2GC_TEMPLATE = VBoxRc
749 VBoxDD2GC_DEFS =
750 VBoxDD2GC_INCS := \
751 $(PATH_SUB_CURRENT)
752 VBoxDD2GC_SOURCES = \
753 PC/DevAPIC.cpp \
754 PC/DevSMC.cpp
755 if1of ($(VBOX_LDR_FMT32), pe lx)
756 VBoxDD2GC_LIBS = \
757 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
758 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
759 endif
760endif
761
762#
763# VBoxDD2R0 (LGPL sysmod)
764#
765VBoxDD2R0_TEMPLATE = VBoxR0
766VBoxDD2R0_DEFS = IN_RT_R0
767VBoxDD2R0_INCS := \
768 $(PATH_SUB_CURRENT)
769VBoxDD2R0_SOURCES = \
770 PC/DevAPIC.cpp \
771 PC/DevSMC.cpp
772
773if1of ($(VBOX_LDR_FMT), pe lx)
774VBoxDD2R0_LIBS = \
775 $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB) \
776 $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB)
777endif
778
779
780#
781# Drivers (library)
782#
783ifeq ($(KBUILD_TARGET),l4) # We are using real Linux headers, not the cleaned up user space ones
784Drivers_TEMPLATE = VBOXR3NP
785else
786Drivers_TEMPLATE = VBOXR3
787endif
788Drivers_SDKS.win = WINPSDK W2K3DDK
789Storage/DrvHostDVD.cpp_SDKS.win = W2K3DDK
790Drivers_DEFS.win += _WIN32_WINNT=0x0510
791Drivers_DEFS = IN_IDE_R3
792ifdef VBOX_WITH_NETFLT
793Drivers_DEFS += VBOX_WITH_NETFLT
794endif
795ifdef VBOX_WITH_INIP
796Drivers_DEFS += VBOX_WITH_INIP
797endif
798ifdef VBOX_WITH_DRV_DISK_INTEGRITY
799Drivers_DEFS += VBOX_WITH_DRV_DISK_INTEGRITY
800endif
801
802Drivers_INCS := \
803 $(PATH_SUB_CURRENT) \
804 Network/slirp
805Drivers_SOURCES = \
806 Audio/audio.c \
807 Audio/audiosniffer.c \
808 Audio/mixeng.c \
809 Audio/noaudio.c \
810 Input/DrvKeyboardQueue.cpp \
811 Input/DrvMouseQueue.cpp \
812 Network/DrvIntNet.cpp \
813 Network/DrvDedicatedNic.cpp \
814 PC/DrvACPI.cpp \
815 PC/DrvAcpiCpu.cpp \
816 Serial/DrvChar.cpp \
817 Serial/DrvNamedPipe.cpp \
818 Serial/DrvRawFile.cpp \
819 Storage/DrvBlock.cpp \
820 Storage/DrvHostBase.cpp \
821 Storage/DrvHostDVD.cpp \
822 Storage/DrvHostFloppy.cpp \
823 Storage/DrvMediaISO.cpp \
824 Storage/DrvRawImage.cpp \
825 Storage/Debug.cpp \
826 Storage/DrvVD.cpp \
827 Network/DrvNetSniffer.cpp \
828 Network/Pcap.cpp
829
830VBOX_SLIRP_SOURCES = \
831 Network/DrvNAT.cpp \
832 Network/slirp/bootp.c \
833 Network/slirp/debug.c \
834 Network/slirp/ip_icmp.c \
835 Network/slirp/ip_input.c \
836 Network/slirp/ip_output.c \
837 Network/slirp/misc.c \
838 Network/slirp/sbuf.c \
839 Network/slirp/slirp.c \
840 Network/slirp/socket.c \
841 Network/slirp/tcp_input.c \
842 Network/slirp/tcp_output.c \
843 Network/slirp/tcp_subr.c \
844 Network/slirp/tcp_timer.c \
845 Network/slirp/udp.c \
846 Network/slirp/dnsproxy/hash.c \
847 Network/slirp/tftp.c \
848 Network/slirp/dnsproxy/dnsproxy.c
849
850ifdef VBOX_WITH_SLIRP_BSD_SBUF
851VBOX_SLIRP_SOURCES += Network/slirp/bsd/kern/subr_sbuf.c
852endif
853
854VBOX_SLIRP_BSD_ARCH = $(subst x86,i386,$(KBUILD_TARGET_ARCH))
855VBOX_SLIRP_BSD_SOURCES += \
856 Network/slirp/bsd/kern/kern_mbuf.c \
857 Network/slirp/bsd/kern/uipc_mbuf.c \
858 Network/slirp/bsd/kern/uipc_mbuf2.c \
859 Network/slirp/bsd/$(VBOX_SLIRP_BSD_ARCH)/in_cksum.c
860
861VBOX_SLIRP_ALIAS_SOURCES = \
862 Network/slirp/libalias/alias.c \
863 Network/slirp/libalias/alias_db.c \
864 Network/slirp/libalias/alias_mod.c \
865 Network/slirp/libalias/alias_proxy.c \
866 Network/slirp/libalias/alias_ftp.c \
867 Network/slirp/libalias/alias_dns.c \
868 Network/slirp/libalias/alias_nbt.c \
869 Network/slirp/libalias/alias_util.c
870
871# some day will be deleted
872
873Drivers_SOURCES += $(VBOX_SLIRP_SOURCES)
874define def_vbox_slirp_cflags
875 $(file)_DEFS += \
876 $(if $(VBOX_WITH_SLIRP_BSD_SBUF),VBOX_WITH_SLIRP_BSD_SBUF,) \
877 $(if $(VBOX_WITH_SLIRP_MEMORY_CHECK),RTMEM_WRAP_TO_EF_APIS,) \
878 $(if $(VBOX_WITH_DEBUG_NAT_SOCKETS),VBOX_WITH_DEBUG_NAT_SOCKETS,) \
879 $(if $(VBOX_WITH_SLIRP_MT),VBOX_WITH_SLIRP_MT,)
880 $(file)_INCS += $(1)/slirp/bsd/sys
881 $(file)_INCS += $(1)/slirp/bsd/sys/sys
882 $(file)_INCS += $(1)/slirp/bsd/$(VBOX_SLIRP_BSD_ARCH)/include
883 $(file)_INCS += $(1)/slirp/bsd/netinet
884 $(file)_INCS += $(1)/slirp
885 $(file)_INCS += $(1)/slirp/libalias
886 ifeq ($(KBUILD_TARGET),win)
887 $(file)_CFLAGS = -wd4018
888 else
889 $(file)_CFLAGS += -Wno-sign-compare
890 $(file)_CFLAGS += -Wno-format
891 $(file)_CFLAGS += -Wno-bad-function-cast
892 endif
893endef
894
895$(foreach file,$(VBOX_SLIRP_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
896
897Drivers_SOURCES += $(VBOX_SLIRP_ALIAS_SOURCES)
898define def_vbox_slirp_alias_cflags
899 $(file)_DEFS += VBOX_SLIRP_ALIAS \
900 $(if $(VBOX_WITH_DEBUG_LIBALIAS),VBOX_WITH_DEBUG_LIBALIAS,)
901 $(file)_INCS += $(1)/slirp/libalias
902 $(file)_INCS += $(1)/slirp
903 $(file)_INCS += $(1)/slirp/dnsproxy
904 ifneq ($(KBUILD_TARGET),win)
905 $(file)_CFLAGS += -Wno-shadow
906 endif
907endef
908$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
909$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_alias_cflags, Network)))
910
911VBOX_SLIRP_BSD_SOURCES += $(VBOX_SLIRP_BSD_SOURCES.${KBUILD_TARGET_ARCH})
912Drivers_SOURCES += $(VBOX_SLIRP_BSD_SOURCES)
913define def_vbox_slirp_bsd_cflags
914 $(file)_DEFS += VBOX_SLIRP_BSD
915 $(file)_INCS += $(1)/slirp/dnsproxy
916endef
917$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
918$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_bsd_cflags, Network)))
919
920ifdef VBOX_WITH_DRV_DISK_INTEGRITY
921Drivers_SOURCES += \
922 Storage/DrvDiskIntegrity.cpp
923endif
924
925ifdef VBOX_WITH_VDE
926 Drivers_SOURCES += \
927 Network/DrvVDE.cpp \
928 Network/VDEPlug.cpp
929 Drivers_DEFS += \
930 VBOX_WITH_VDE
931endif
932
933# -- OS specific --
934
935ifeq ($(KBUILD_TARGET),darwin)
936Drivers_SOURCES := $(filter-out \
937 Storage/DrvHostRaw% \
938 Storage/DrvHostFloppy% \
939 , $(Drivers_SOURCES)) \
940 Audio/coreaudio.c
941Drivers_SOURCES.darwin = \
942 Serial/DrvHostSerial.cpp
943endif # darwin
944
945ifeq ($(KBUILD_TARGET),freebsd)
946Drivers_SOURCES := $(filter-out \
947 Storage/DrvHostFloppy% \
948 , $(Drivers_SOURCES)) \
949 Audio/ossaudio.c \
950 Serial/DrvHostSerial.cpp
951Drivers_SOURCES.freebsd = \
952 Network/DrvTAP.cpp
953endif # freebsd
954
955
956ifeq ($(KBUILD_TARGET),l4)
957Drivers_SOURCES = \
958 Input/DrvMouseQueue.cpp \
959 Input/DrvKeyboardQueue.cpp \
960 Storage/DrvBlock.cpp \
961 Storage/DrvMediaISO.cpp \
962 Storage/DrvRawImage.cpp \
963 Storage/DrvHostBase.cpp \
964 Storage/DrvHostDVD.cpp \
965 Storage/DrvVD.cpp \
966 PC/DrvACPI.cpp \
967 Network/DrvIntNet.cpp \
968 Network/DHCPServerRunner.cpp \
969 Network/DrvNetSniffer.cpp \
970 Network/Pcap.cpp \
971 Audio/audio.c \
972 Audio/mixeng.c \
973 Audio/noaudio.c \
974 Audio/audiosniffer.c
975
976Drivers_SOURCES.l4 = \
977 Audio/ossaudio.c
978endif # l4
979
980Drivers_SOURCES.linux = \
981 Network/DrvTAP.cpp \
982 Audio/ossaudio.c \
983 Parallel/DrvHostParallel.cpp \
984 Serial/DrvHostSerial.cpp
985
986ifeq ($(KBUILD_TARGET),os2)
987Drivers_SOURCES := $(filter-out \
988 Storage/DrvHost% \
989 , $(Drivers_SOURCES))
990endif
991
992ifeq ($(KBUILD_TARGET),solaris)
993Drivers_SOURCES := $(filter-out \
994 Storage/DrvHost% \
995 , $(Drivers_SOURCES))
996Drivers_SOURCES.solaris = \
997 Audio/solaudio.c \
998 Storage/DrvHostBase.cpp \
999 Storage/DrvHostDVD.cpp \
1000 Serial/DrvHostSerial.cpp
1001 ifdef VBOX_WITH_SOLARIS_OSS
1002 Drivers_SOURCES += Audio/ossaudio.c
1003 Drivers_DEFS += VBOX_WITH_SOLARIS_OSS
1004 endif
1005 ifdef VBOX_WITH_CROSSBOW
1006 Drivers_SOURCES += Network/solaris/vbox-libdlpi.cpp
1007 Drivers_DEFS += VBOX_WITH_CROSSBOW
1008 endif
1009 ifdef VBOX_WITH_SUID_WRAPPER
1010 Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
1011 endif
1012endif
1013
1014Drivers_SOURCES.win = \
1015 Audio/dsoundaudio.c \
1016 Serial/DrvHostSerial.cpp
1017
1018if defined(VBOX_WITH_NETFLT)
1019 if defined(VBOX_NETFLT_ONDEMAND_BIND)
1020 Drivers_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
1021 endif
1022endif
1023
1024# -- features --
1025
1026ifdef VBOX_WITH_ISCSI
1027 VBoxDDU_SOURCES += \
1028 Storage/ISCSIHDDCore.cpp
1029 VBoxDDU_DEFS += VBOX_WITH_ISCSI
1030 Storage/DrvVD.cpp_INCS = \
1031 Network/lwip/src/include \
1032 Network/lwip/src/include/ipv4 \
1033 Network/lwip/vbox/include
1034endif # VBOX_WITH_ISCSI
1035
1036ifdef VBOX_WITH_ALSA
1037 Drivers_DEFS.linux += VBOX_WITH_ALSA
1038 Drivers_SOURCES.linux+= \
1039 Audio/alsaaudio.c \
1040 Audio/alsa_stubs.c
1041endif
1042
1043ifdef VBOX_WITH_PULSE
1044 Drivers_DEFS.linux += VBOX_WITH_PULSE
1045 Drivers_SOURCES.linux+= \
1046 Audio/pulseaudio.c \
1047 Audio/pulse_stubs.c
1048 Drivers_DEFS.freebsd += VBOX_WITH_PULSE
1049 Drivers_SOURCES.freebsd+= \
1050 Audio/pulseaudio.c \
1051 Audio/pulse_stubs.c
1052endif
1053
1054ifdef VBOX_WITH_VUSB
1055 Drivers_DEFS += VBOX_WITH_VUSB
1056 Drivers_SOURCES += \
1057 USB/DrvVUSBRootHub.cpp \
1058 USB/VUSBDevice.cpp \
1059 USB/VUSBReadAhead.cpp \
1060 USB/VUSBUrb.cpp
1061
1062endif # VBOX_WITH_VUSB
1063
1064ifdef VBOX_WITH_USB
1065 Drivers_DEFS += VBOX_WITH_USB
1066
1067 ifdef VBOX_WITH_VRDP
1068 Drivers_DEFS += VBOX_WITH_VRDP
1069 Drivers_SOURCES += \
1070 USB/vrdp/USBProxyDevice-vrdp.cpp
1071 endif
1072
1073 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
1074 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
1075 Drivers_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
1076 endif
1077 Drivers_SOURCES.darwin += \
1078 USB/USBProxyDevice.cpp \
1079 USB/darwin/USBProxyDevice-darwin.cpp
1080
1081 Drivers_DEFS.linux += \
1082 VUSB_HAVE_USBPROXY_DEVICE \
1083 $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
1084 $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,)
1085 Drivers_SOURCES.linux += \
1086 USB/USBProxyDevice.cpp \
1087 USB/linux/USBProxyDevice-linux.cpp
1088
1089 Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
1090 Drivers_SOURCES.l4 += \
1091 USB/USBProxyDevice.cpp \
1092 USB/linux/USBProxyDevice-linux.cpp
1093
1094 Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
1095 Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
1096 Drivers_SOURCES.os2 += \
1097 USB/USBProxyDevice.cpp \
1098 USB/os2/USBProxyDevice-os2.cpp
1099
1100 Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
1101 Drivers_SOURCES.win += \
1102 USB/USBProxyDevice.cpp \
1103 USB/win/USBProxyDevice-win.cpp
1104
1105 Drivers_DEFS.solaris += VUSB_HAVE_USBPROXY_DEVICE
1106 Drivers_SOURCES.solaris += \
1107 USB/USBProxyDevice.cpp \
1108 USB/solaris/USBProxyDevice-solaris.cpp
1109
1110 Drivers_DEFS.freebsd += VUSB_HAVE_USBPROXY_DEVICE
1111 Drivers_SOURCES.freebsd += \
1112 USB/USBProxyDevice.cpp \
1113 USB/freebsd/USBProxyDevice-freebsd.cpp
1114
1115 ifdef VBOX_WITH_SCSI
1116 Drivers_SOURCES += \
1117 Storage/UsbMsd.cpp
1118 endif
1119
1120endif # VBOX_WITH_USB
1121
1122ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
1123 Drivers_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
1124endif #VBOX_WITH_PDM_ASYNC_COMPLETION
1125
1126ifdef VBOX_WITH_SCSI
1127 Drivers_DEFS += VBOX_WITH_SCSI
1128 Drivers_SOURCES += \
1129 Storage/DrvSCSI.cpp
1130 Drivers_SOURCES.linux += \
1131 Storage/DrvSCSIHost.cpp
1132endif # VBOX_WITH_SCSI
1133
1134#
1135# Ring-0 Services (library, linked into VMMR0.r0)
1136#
1137ServicesR0_TEMPLATE = VBoxR0
1138ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
1139ServicesR0_SOURCES = \
1140 Network/SrvIntNetR0.cpp
1141
1142
1143#
1144# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1145#
1146ifdef VBOX_WITH_TESTCASES
1147 PROGRAMS += tstIntNetR0
1148 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
1149 tstIntNetR0_DEFS = IN_INTNET_R0
1150 tstIntNetR0_SOURCES = \
1151 Network/testcase/tstIntNetR0.cpp
1152endif
1153
1154#
1155# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1156#
1157ifdef VBOX_WITH_TESTCASES
1158 PROGRAMS += tstIntNet-1
1159 tstIntNet-1_TEMPLATE = VBOXR3TSTEXE
1160 tstIntNet-1_SOURCES = \
1161 Network/testcase/tstIntNet-1.cpp \
1162 Network/Pcap.cpp
1163endif
1164
1165
1166#
1167# EEPROM device unit test requires cppunit
1168#
1169ifdef VBOX_WITH_CPPUNIT_TESTCASES
1170ifdef VBOX_WITH_E1000
1171 PROGRAMS += tstDevEEPROM
1172 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
1173 tstDevEEPROM_SOURCES = \
1174 Network/testcase/tstDevEEPROM.cpp
1175 tstDevEEPROM_LIBS = \
1176 $(TARGET_DevicesR3)
1177 PROGRAMS += tstDevPhy
1178 tstDevPhy_TEMPLATE = VBOXCPPUNITEXE
1179 tstDevPhy_SOURCES = \
1180 Network/testcase/tstDevPhy.cpp \
1181 Network/DevE1000Phy.cpp
1182 tstDevPhy_DEFS = PHY_UNIT_TEST
1183endif
1184endif
1185
1186include $(KBUILD_PATH)/subfooter.kmk
1187
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette