VirtualBox

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

Last change on this file since 27558 was 27558, checked in by vboxsync, 15 years ago

Storage: Simple driver for checking data integrity of virtual disks

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