VirtualBox

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

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

USB: Added a virtual USB mouse and keyboard. Not yet enabled.

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