VirtualBox

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

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

CPU hotplug: Remove a lot of code duplication in the CPU hotplug SSDT using the gcc preprocessor (iasl doesn't has something similar).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 29.3 KB
Line 
1# $Id: Makefile.kmk 26593 2010-02-17 01:16:10Z 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 VBOXVDMA
343 DevicesR3_DEFS += VBOXVDMA
344endif
345
346ifdef VBOX_WITH_VIDEOHWACCEL
347 DevicesR3_DEFS += VBOX_WITH_VIDEOHWACCEL
348endif
349ifdef VBOX_WITH_DMI_CHASSIS
350 DevicesR3_DEFS += VBOX_WITH_DMI_CHASSIS
351endif
352ifdef VBOX_WITH_DMI_OEMSTRINGS
353 DevicesR3_DEFS += VBOX_WITH_DMI_OEMSTRINGS
354endif
355
356ifdef VBOX_WITH_INIP
357DevicesR3_INCS += \
358 Network/lwip/src/include \
359 Network/lwip/src/include/ipv4 \
360 Network/lwip/vbox/include
361DevicesR3_SOURCES += \
362 Network/lwip/src/api/api_lib.c \
363 Network/lwip/src/api/api_msg.c \
364 Network/lwip/src/api/err.c \
365 Network/lwip/src/api/sockets.c \
366 Network/lwip/src/api/tcpip.c \
367 Network/lwip/src/core/tcp_in.c \
368 Network/lwip/src/core/dhcp.c \
369 Network/lwip/src/core/inet.c \
370 Network/lwip/src/core/mem.c \
371 Network/lwip/src/core/memp.c \
372 Network/lwip/src/core/netif.c \
373 Network/lwip/src/core/pbuf.c \
374 Network/lwip/src/core/raw.c \
375 Network/lwip/src/core/stats.c \
376 Network/lwip/src/core/sys.c \
377 Network/lwip/src/core/tcp.c \
378 Network/lwip/src/core/ipv4/ip_addr.c \
379 Network/lwip/src/core/ipv4/icmp.c \
380 Network/lwip/src/core/ipv4/ip.c \
381 Network/lwip/src/core/ipv4/ip_frag.c \
382 Network/lwip/src/core/tcp_out.c \
383 Network/lwip/src/core/udp.c \
384 Network/lwip/src/netif/etharp.c \
385 Network/lwip/vbox/sys_arch.c \
386 Network/DevINIP.cpp
387DevicesR3_DEFS += VBOX_WITH_INIP
388endif
389
390ifdef VBOX_WITH_AHCI
391DevicesR3_DEFS += VBOX_WITH_AHCI IN_AHCI_R3
392DevicesR3_SOURCES += \
393 Storage/DevAHCI.cpp \
394 Storage/ATAController.cpp
395endif
396
397ifdef VBOX_WITH_BUSLOGIC
398DevicesR3_DEFS += VBOX_WITH_BUSLOGIC
399DevicesR3_SOURCES += \
400 Storage/DevBusLogic.cpp \
401 Storage/VBoxSCSI.cpp
402endif
403
404ifdef VBOX_WITH_LSILOGIC
405DevicesR3_DEFS += VBOX_WITH_LSILOGIC
406DevicesR3_SOURCES += \
407 Storage/DevLsiLogicSCSI.cpp
408endif
409
410ifdef VBOX_WITH_HPET
411DevicesR3_DEFS += VBOX_WITH_HPET
412DevicesR3_SOURCES += PC/DevHPET.cpp
413endif
414
415ifdef VBOX_WITH_SMC
416DevicesR3_DEFS += VBOX_WITH_SMC
417DevicesR3_SOURCES += PC/DevSMC.cpp
418endif
419
420ifdef VBOX_WITH_LPC
421DevicesR3_DEFS += VBOX_WITH_LPC
422DevicesR3_SOURCES += PC/DevLPC.cpp
423endif
424
425ifdef VBOX_WITH_EFI
426DevicesR3_DEFS += VBOX_WITH_EFI
427 ifdef VBOX_WITH_ALT_EFITHUNK
428 DevicesR3_DEFS += VBOX_WITH_ALT_EFITHUNK
429 endif
430DevicesR3_SOURCES += EFI/DevEFI.cpp
431EFI/DevEFI.cpp_INCS += EFI/tools/include
432EFI/DevEFI.cpp_INCS.x86 += EFI/tools/include/Ia32
433EFI/DevEFI.cpp_INCS.amd64 += EFI/tools/include/X64
434endif
435
436ifdef VBOX_WITH_DYNAMIC_DSDT
437DevicesR3_DEFS += VBOX_WITH_DYNAMIC_DSDT
438endif
439
440ifdef VBOX_WITH_USB
441DevicesR3_DEFS += VBOX_WITH_USB IN_USB_R3
442
443DevicesR3_SOURCES += \
444 USB/DevOHCI.cpp
445
446 ifdef VBOX_WITH_EHCI
447 DevicesR3_DEFS += VBOX_WITH_EHCI
448 DevicesR3_SOURCES += \
449 USB/DevEHCI.cpp
450 endif
451endif
452
453ifdef VBOX_WITH_DTRACE_R3
454 DevicesR3_TEMPLATE = VBOXR3OSX105
455 DevicesR3_DEFS += VBOX_WITH_DTRACE
456 DevicesR3_INCS += $(DevicesR3_0_OUTDIR)
457 DevicesR3_INTERMEDIATES += $(DevicesR3_0_OUTDIR)/VBoxDD-dtrace.h
458 $$(DevicesR3_0_OUTDIR)/VBoxDD-dtrace.h: $(PATH_CURRENT)/VBoxDD-dtrace.d | $$(dir $$@)
459 dtrace -C -h -o $@ -s $<
460endif
461
462ifdef VBOX_WITH_DYNAMIC_DSDT
463 DevicesR3_CLEAN += $(PATH_DevicesR3)/vboxdsl.hex
464 PC/ACPI/VBoxAcpi.cpp_DEPS = $(PATH_DevicesR3)/vboxdsl.hex
465
466 $$(PATH_DevicesR3)/vboxdsl.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
467 $(call MSG_TOOL,bin2c,DevicesR3,$<,$@)
468 $(QUIET)$(VBOX_BIN2C) -export VboxDslSource $< $@
469
470 vboxdsl.hex:: $$(PATH_DevicesR3)/vboxdsl.hex
471
472else # !VBOX_WITH_DYNAMIC_DSDT
473 # VBoxAcpi.cpp needs vboxaml.hex which we generate from PC/vbox.dsl
474 DevicesR3_CLEAN += \
475 $(PATH_DevicesR3)/vboxaml.hex \
476 $(PATH_DevicesR3)/vboxaml.aml \
477 $(PATH_DevicesR3)/vboxssdt-standard.hex \
478 $(PATH_DevicesR3)/vboxssdt-standard.aml \
479 $(PATH_DevicesR3)/vboxssdt-standard.aml.tmp \
480 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.hex \
481 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.aml \
482 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.aml.tmp \
483 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.aml.pre
484 PC/ACPI/VBoxAcpi.cpp_DEPS = \
485 $(PATH_DevicesR3)/vboxaml.hex \
486 $(PATH_DevicesR3)/vboxssdt-standard.hex \
487 $(PATH_DevicesR3)/vboxssdt-cpuhotplug.hex
488
489 $$(PATH_DevicesR3)/vboxaml.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
490 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
491 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
492
493 vboxaml.hex:: $$(PATH_DevicesR3)/vboxaml.hex
494
495 $$(PATH_DevicesR3)/vboxssdt-standard.hex: $(PATH_SUB_CURRENT)/PC/vbox-standard.dsl | $$(dir $$@)
496 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
497 $(QUIET)$(RM) -f $@ [email protected]
498 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
499 $(QUIET)$(MV) -f $@ [email protected]
500 $(QUIET)$(SED) "s/AmlCode/AmlCodeSsdtStandard/g" \
501 --output $@ [email protected]
502 $(QUIET)$(RM) -f [email protected]
503
504
505 vboxssdt-standard.hex:: $$(PATH_DevicesR3)/vboxssdt-standard.hex
506
507 $$(PATH_DevicesR3)/vboxssdt-cpuhotplug.hex: $(PATH_SUB_CURRENT)/PC/vbox-cpuhotplug.dsl | $$(dir $$@)
508 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
509 $(QUIET)$(RM) -f $@ [email protected] [email protected]
510 $(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -E -P -x c -o [email protected] $<
511 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ [email protected]
512 $(QUIET)$(MV) -f $@ [email protected]
513 $(QUIET)$(SED) "s/AmlCode/AmlCodeSsdtCpuHotPlug/g" \
514 --output $@ [email protected]
515 $(QUIET)$(RM) -f [email protected] [email protected]
516
517
518 vboxssdt-cpuhotplug.hex:: $$(PATH_DevicesR3)/vboxssdt-cpuhotplug.hex
519
520endif # !VBOX_WITH_DYNAMIC_DSDT
521PC/ACPI/VBoxAcpi.cpp_INCS = $(PATH_DevicesR3)
522
523# For finding PCIInternal.h from VBox/pci.h.
524Bus/DevPCI.cpp_INCS = Bus
525
526# For finding and generating vbetables.h (see Graphics/BIOS/Makefile.kmk).
527Graphics/DevVGA.cpp_INCS = $(PATH_VgaBiosBin)
528Graphics/DevVGA.cpp_DEPS = $(PATH_VgaBiosBin)/vbetables.h
529
530
531ifdef VBOX_WITH_RAW_MODE
532 #
533 # VBoxDDGC (sysmod)
534 #
535 VBoxDDGC_TEMPLATE = VBoxRc
536 VBoxDDGC_SYSSUFF = .gc
537 ifeq ($(KBUILD_TARGET_ARCH),x86)
538 VBoxDDGC_DEFS.darwin = VBOX_WITH_2X_4GB_ADDR_SPACE
539 endif
540 VBoxDDGC_DEFS =
541 VBoxDDGC_INCS := \
542 $(PATH_SUB_CURRENT)
543 VBoxDDGC_SOURCES = \
544 Bus/DevPCI.cpp \
545 Graphics/DevVGA.cpp \
546 Input/DevPS2.cpp \
547 PC/DevACPI.cpp \
548 PC/DevPit-i8254.cpp \
549 PC/DevPIC.cpp \
550 PC/DevRTC.cpp \
551 Storage/DevATA.cpp \
552 Network/DevPCNet.cpp \
553 Serial/DevSerial.cpp \
554 Parallel/DevParallel.cpp \
555 \
556 Network/DrvIntNet.cpp
557
558 ifdef VBOX_DYNAMIC_NET_ATTACH
559 VBoxDDGC_DEFS += VBOX_DYNAMIC_NET_ATTACH
560 endif
561
562 ifdef VBOX_WITH_E1000
563 VBoxDDGC_DEFS += VBOX_WITH_E1000
564 VBoxDDGC_SOURCES += \
565 Network/DevE1000.cpp \
566 Network/DevE1000Phy.cpp
567 endif
568
569 ifdef VBOX_WITH_VIRTIO
570 VBoxDDGC_DEFS += VBOX_WITH_VIRTIO
571 VBoxDDGC_SOURCES += \
572 VirtIO/Virtio.cpp \
573 Network/DevVirtioNet.cpp
574 endif
575
576 ifdef VBOX_WITH_HGSMI
577 VBoxDDGC_DEFS += VBOX_WITH_HGSMI
578 endif
579 ifdef VBOXVDMA
580 VBoxDDGC_DEFS += VBOXVDMA
581 endif
582
583 ifdef VBOX_WITH_USB
584 VBoxDDGC_DEFS += VBOX_WITH_USB
585 VBoxDDGC_SOURCES += \
586 USB/DevOHCI.cpp
587
588 ifdef VBOX_WITH_EHCI
589 VBoxDDGC_DEFS += VBOX_WITH_EHCI
590 VBoxDDGC_SOURCES += \
591 USB/DevEHCI.cpp
592 endif
593
594 endif
595
596 ifdef VBOX_WITH_HGSMI
597 VBoxDDGC_DEFS += VBOX_WITH_HGSMI
598 endif
599 ifdef VBOXVDMA
600 VBoxDDGC_DEFS += VBOXVDMA
601 endif
602
603 ifdef VBOX_WITH_VIDEOHWACCEL
604 VBoxDDGC_DEFS += VBOX_WITH_VIDEOHWACCEL
605 endif
606
607 ifdef VBOX_WITH_AHCI
608 VBoxDDGC_DEFS += VBOX_WITH_AHCI IN_AHCI_GC
609 VBoxDDGC_SOURCES += \
610 Storage/DevAHCI.cpp \
611 Storage/ATAController.cpp
612 endif
613
614 ifdef VBOX_WITH_BUSLOGIC
615 VBoxDDGC_DEFS += VBOX_WITH_BUSLOGIC
616 VBoxDDGC_SOURCES += \
617 Storage/DevBusLogic.cpp
618 endif
619
620 ifdef VBOX_WITH_LSILOGIC
621 VBoxDDGC_DEFS += VBOX_WITH_LSILOGIC
622 VBoxDDGC_SOURCES += \
623 Storage/DevLsiLogicSCSI.cpp
624 endif
625
626 ifdef VBOX_WITH_HPET
627 VBoxDDGC_DEFS += VBOX_WITH_HPET
628 VBoxDDGC_SOURCES += PC/DevHPET.cpp
629 endif
630
631 if1of ($(VBOX_LDR_FMT32), pe lx)
632 VBoxDDGC_LIBS = \
633 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
634 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
635 endif
636endif # VBOX_WITH_RAW_MODE
637
638
639#
640# VBoxDDR0 (sysmod)
641#
642VBoxDDR0_TEMPLATE = VBoxR0
643VBoxDDR0_SYSSUFF = .r0
644VBoxDDR0_DEFS.darwin.x86= VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0 VBOX_WITH_2X_4GB_ADDR_SPACE
645VBoxDDR0_DEFS = IN_RT_R0
646VBoxDDR0_INCS := \
647 $(PATH_SUB_CURRENT)
648VBoxDDR0_SOURCES = \
649 Bus/DevPCI.cpp \
650 Graphics/DevVGA.cpp \
651 Input/DevPS2.cpp \
652 PC/DevACPI.cpp \
653 PC/DevPit-i8254.cpp \
654 PC/DevPIC.cpp \
655 PC/DevRTC.cpp \
656 Storage/DevATA.cpp \
657 Network/DevPCNet.cpp \
658 Serial/DevSerial.cpp \
659 Parallel/DevParallel.cpp \
660 \
661 Network/DrvIntNet.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 VBOXVDMA
685 VBoxDDR0_DEFS += VBOXVDMA
686endif
687
688
689ifdef VBOX_WITH_USB
690VBoxDDR0_DEFS += VBOX_WITH_USB IN_USB_R0
691VBoxDDR0_SOURCES += \
692 USB/DevOHCI.cpp
693
694 ifdef VBOX_WITH_EHCI
695 VBoxDDR0_DEFS += VBOX_WITH_EHCI
696 VBoxDDR0_SOURCES += \
697 USB/DevEHCI.cpp
698 endif
699endif
700
701ifdef VBOX_WITH_AHCI
702VBoxDDR0_DEFS += VBOX_WITH_AHCI IN_AHCI_R0
703VBoxDDR0_SOURCES += \
704 Storage/DevAHCI.cpp \
705 Storage/ATAController.cpp
706endif
707
708ifdef VBOX_WITH_BUSLOGIC
709VBoxDDR0_DEFS += VBOX_WITH_BUSLOGIC
710VBoxDDR0_SOURCES += \
711 Storage/DevBusLogic.cpp
712endif
713
714ifdef VBOX_WITH_LSILOGIC
715VBoxDDR0_DEFS += VBOX_WITH_LSILOGIC
716VBoxDDR0_SOURCES += \
717 Storage/DevLsiLogicSCSI.cpp
718endif
719
720ifdef VBOX_WITH_HGSMI
721 VBoxDDR0_DEFS += VBOX_WITH_HGSMI
722endif
723ifdef VBOX_WITH_VIDEOHWACCEL
724 VBoxDDR0_DEFS += VBOX_WITH_VIDEOHWACCEL
725endif
726ifdef VBOXVDMA
727 VBoxDDR0_DEFS += VBOXVDMA
728endif
729
730
731ifdef VBOX_WITH_HPET
732 VBoxDDR0_DEFS += VBOX_WITH_HPET
733 VBoxDDR0_SOURCES += PC/DevHPET.cpp
734endif
735
736if1of ($(VBOX_LDR_FMT), pe lx)
737VBoxDDR0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
738endif
739
740
741ifdef VBOX_WITH_RAW_MODE
742 #
743 # VBoxDD2GC (LGPL sysmod)
744 #
745 VBoxDD2GC_TEMPLATE = VBoxRc
746 VBoxDD2GC_DEFS =
747 VBoxDD2GC_SYSSUFF = .gc
748 VBoxDD2GC_INCS := \
749 $(PATH_SUB_CURRENT)
750 VBoxDD2GC_SOURCES = \
751 PC/DevAPIC.cpp
752 if1of ($(VBOX_LDR_FMT32), pe lx)
753 VBoxDD2GC_LIBS = \
754 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
755 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
756 endif
757endif
758
759#
760# VBoxDD2R0 (LGPL sysmod)
761#
762VBoxDD2R0_TEMPLATE = VBoxR0
763VBoxDD2R0_DEFS = IN_RT_R0
764VBoxDD2R0_SYSSUFF = .r0
765VBoxDD2R0_INCS := \
766 $(PATH_SUB_CURRENT)
767VBoxDD2R0_SOURCES = \
768 PC/DevAPIC.cpp
769if1of ($(VBOX_LDR_FMT), pe lx)
770VBoxDD2R0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
771endif
772
773
774#
775# Drivers (library)
776#
777ifeq ($(KBUILD_TARGET),l4) # We are using real Linux headers, not the cleaned up user space ones
778Drivers_TEMPLATE = VBOXR3NP
779else
780Drivers_TEMPLATE = VBOXR3
781endif
782Drivers_SDKS.win = WINPSDK W2K3DDK
783Storage/DrvHostDVD.cpp_SDKS.win = W2K3DDK
784Drivers_DEFS.win += _WIN32_WINNT=0x0510
785Drivers_DEFS = IN_IDE_R3
786ifdef VBOX_WITH_NETFLT
787Drivers_DEFS += VBOX_WITH_NETFLT
788endif
789ifdef VBOX_WITH_FAULT_INJECTION
790Drivers_DEFS += VBOX_WITH_FAULT_INJECTION
791endif
792
793Drivers_INCS := \
794 $(PATH_SUB_CURRENT) \
795 Network/slirp
796Drivers_SOURCES = \
797 Audio/audio.c \
798 Audio/audiosniffer.c \
799 Audio/mixeng.c \
800 Audio/noaudio.c \
801 Input/DrvKeyboardQueue.cpp \
802 Input/DrvMouseQueue.cpp \
803 Network/DrvIntNet.cpp \
804 PC/DrvACPI.cpp \
805 PC/DrvAcpiCpu.cpp \
806 Serial/DrvChar.cpp \
807 Serial/DrvNamedPipe.cpp \
808 Serial/DrvRawFile.cpp \
809 Storage/DrvBlock.cpp \
810 Storage/DrvHostBase.cpp \
811 Storage/DrvHostDVD.cpp \
812 Storage/DrvHostFloppy.cpp \
813 Storage/DrvMediaISO.cpp \
814 Storage/DrvRawImage.cpp \
815 Storage/Debug.cpp \
816 Storage/DrvVD.cpp \
817 Network/DrvNetSniffer.cpp \
818 Network/Pcap.cpp
819
820VBOX_SLIRP_SOURCES = \
821 Network/DrvNAT.cpp \
822 Network/slirp/bootp.c \
823 Network/slirp/debug.c \
824 Network/slirp/if.c \
825 Network/slirp/ip_icmp.c \
826 Network/slirp/ip_input.c \
827 Network/slirp/ip_output.c \
828 Network/slirp/misc.c \
829 Network/slirp/sbuf.c \
830 Network/slirp/slirp.c \
831 Network/slirp/socket.c \
832 Network/slirp/tcp_input.c \
833 Network/slirp/tcp_output.c \
834 Network/slirp/tcp_subr.c \
835 Network/slirp/tcp_timer.c \
836 Network/slirp/udp.c \
837 Network/slirp/dnsproxy/hash.c \
838 Network/slirp/tftp.c \
839 Network/slirp/dnsproxy/dnsproxy.c
840
841ifdef VBOX_WITH_SLIRP_BSD_MBUF
842 VBOX_SLIRP_BSD_ARCH = $(subst x86,i386,$(KBUILD_TARGET_ARCH))
843 VBOX_SLIRP_BSD_SOURCES += \
844 Network/slirp/bsd/kern/kern_mbuf.c \
845 Network/slirp/bsd/kern/uipc_mbuf.c \
846 Network/slirp/bsd/kern/uipc_mbuf2.c \
847 Network/slirp/bsd/$(VBOX_SLIRP_BSD_ARCH)/in_cksum.c
848else
849# some notes dnsproxy will probably deprecate
850 VBOX_SLIRP_SOURCES += \
851 Network/slirp/mbuf.c \
852 Network/slirp/cksum.c
853endif
854
855VBOX_SLIRP_ALIAS_SOURCES = \
856 Network/slirp/libalias/alias.c \
857 Network/slirp/libalias/alias_db.c \
858 Network/slirp/libalias/alias_mod.c \
859 Network/slirp/libalias/alias_proxy.c \
860 Network/slirp/libalias/alias_ftp.c \
861 Network/slirp/libalias/alias_dns.c \
862 Network/slirp/libalias/alias_nbt.c \
863 Network/slirp/libalias/alias_util.c
864
865# some day will be deleted
866
867Drivers_SOURCES += $(VBOX_SLIRP_SOURCES)
868define def_vbox_slirp_cflags
869 $(file)_DEFS += \
870 $(if $(VBOX_WITH_SLIRP_MEMORY_CHECK),RTMEM_WRAP_TO_EF_APIS,) \
871 $(if $(VBOX_WITH_DEBUG_NAT_SOCKETS),VBOX_WITH_DEBUG_NAT_SOCKETS,) \
872 $(if $(VBOX_WITH_SLIRP_MT),VBOX_WITH_SLIRP_MT,) \
873 $(if $(VBOX_WITH_SLIRP_BSD_MBUF),VBOX_WITH_SLIRP_BSD_MBUF,)
874 ifdef VBOX_WITH_SLIRP_BSD_MBUF
875 $(file)_INCS += $(1)/slirp/bsd/sys
876 $(file)_INCS += $(1)/slirp/bsd/sys/sys
877 $(file)_INCS += $(1)/slirp/bsd/$(VBOX_SLIRP_BSD_ARCH)/include
878 $(file)_INCS += $(1)/slirp/bsd/netinet
879 endif
880 $(file)_INCS += $(1)/slirp
881 $(file)_INCS += $(1)/slirp/libalias
882 ifeq ($(KBUILD_TARGET),win)
883 $(file)_CFLAGS = -wd4018
884 else
885 $(file)_CFLAGS += -Wno-sign-compare
886 ifdef VBOX_WITH_SLIRP_BSD_MBUF
887 $(file)_CFLAGS += -Wno-format
888 $(file)_CFLAGS += -Wno-bad-function-cast
889 endif
890 endif
891endef
892
893$(foreach file,$(VBOX_SLIRP_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
894
895Drivers_SOURCES += $(VBOX_SLIRP_ALIAS_SOURCES)
896define def_vbox_slirp_alias_cflags
897 $(file)_DEFS += VBOX_SLIRP_ALIAS
898 $(file)_INCS += $(1)/slirp/libalias
899 $(file)_INCS += $(1)/slirp
900 $(file)_INCS += $(1)/slirp/dnsproxy
901 ifneq ($(KBUILD_TARGET),win)
902 $(file)_CFLAGS += -Wno-shadow
903 endif
904endef
905$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
906$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_alias_cflags, Network)))
907
908ifdef VBOX_WITH_SLIRP_BSD_MBUF
909VBOX_SLIRP_BSD_SOURCES += $(VBOX_SLIRP_BSD_SOURCES.${KBUILD_TARGET_ARCH})
910Drivers_SOURCES += $(VBOX_SLIRP_BSD_SOURCES)
911define def_vbox_slirp_bsd_cflags
912 $(file)_DEFS += VBOX_SLIRP_BSD
913 $(file)_INCS += $(1)/slirp/dnsproxy
914endef
915$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
916$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_bsd_cflags, Network)))
917endif
918
919# -- OS specific --
920
921ifeq ($(KBUILD_TARGET),darwin)
922Drivers_SOURCES := $(filter-out \
923 Storage/DrvHostRaw% \
924 Storage/DrvHostFloppy% \
925 , $(Drivers_SOURCES)) \
926 Audio/coreaudio.c
927Drivers_SOURCES.darwin = \
928 Serial/DrvHostSerial.cpp
929endif # darwin
930
931ifeq ($(KBUILD_TARGET),freebsd)
932Drivers_SOURCES := $(filter-out \
933 Storage/DrvHostFloppy% \
934 , $(Drivers_SOURCES)) \
935 Audio/ossaudio.c \
936 Serial/DrvHostSerial.cpp
937Drivers_SOURCES.freebsd = \
938 Network/DrvTAP.cpp
939endif # freebsd
940
941
942ifeq ($(KBUILD_TARGET),l4)
943Drivers_SOURCES = \
944 Input/DrvMouseQueue.cpp \
945 Input/DrvKeyboardQueue.cpp \
946 Storage/DrvBlock.cpp \
947 Storage/DrvMediaISO.cpp \
948 Storage/DrvRawImage.cpp \
949 Storage/DrvHostBase.cpp \
950 Storage/DrvHostDVD.cpp \
951 Storage/DrvVD.cpp \
952 PC/DrvACPI.cpp \
953 Network/DrvIntNet.cpp \
954 Network/DHCPServerRunner.cpp \
955 Network/DrvNetSniffer.cpp \
956 Network/Pcap.cpp \
957 Audio/audio.c \
958 Audio/mixeng.c \
959 Audio/noaudio.c \
960 Audio/audiosniffer.c
961
962Drivers_SOURCES.l4 = \
963 Audio/ossaudio.c
964endif # l4
965
966Drivers_SOURCES.linux = \
967 Network/DrvTAP.cpp \
968 Audio/ossaudio.c \
969 Parallel/DrvHostParallel.cpp \
970 Serial/DrvHostSerial.cpp
971
972ifeq ($(KBUILD_TARGET),os2)
973Drivers_SOURCES := $(filter-out \
974 Storage/DrvHost% \
975 , $(Drivers_SOURCES))
976endif
977
978ifeq ($(KBUILD_TARGET),solaris)
979Drivers_SOURCES := $(filter-out \
980 Storage/DrvHost% \
981 , $(Drivers_SOURCES))
982Drivers_SOURCES.solaris = \
983 Audio/solaudio.c \
984 Storage/DrvHostBase.cpp \
985 Storage/DrvHostDVD.cpp \
986 Serial/DrvHostSerial.cpp
987 ifdef VBOX_WITH_SOLARIS_OSS
988 Drivers_SOURCES += Audio/ossaudio.c
989 Drivers_DEFS += VBOX_WITH_SOLARIS_OSS
990 endif
991 ifdef VBOX_WITH_CROSSBOW
992 Drivers_SOURCES += Network/solaris/vbox-libdlpi.cpp
993 Drivers_DEFS += VBOX_WITH_CROSSBOW
994 endif
995 ifdef VBOX_WITH_SUID_WRAPPER
996 Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
997 endif
998endif
999
1000Drivers_SOURCES.win = \
1001 Audio/dsoundaudio.c \
1002 Serial/DrvHostSerial.cpp
1003
1004if defined(VBOX_WITH_NETFLT)
1005 if defined(VBOX_NETFLT_ONDEMAND_BIND)
1006 Drivers_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
1007 endif
1008endif
1009
1010# -- features --
1011
1012ifdef VBOX_WITH_ISCSI
1013 VBoxDDU_SOURCES += \
1014 Storage/ISCSIHDDCore.cpp
1015 VBoxDDU_DEFS += VBOX_WITH_ISCSI
1016 Storage/DrvVD.cpp_INCS = \
1017 Network/lwip/src/include \
1018 Network/lwip/src/include/ipv4 \
1019 Network/lwip/vbox/include
1020endif # VBOX_WITH_ISCSI
1021
1022ifdef VBOX_WITH_ALSA
1023 Drivers_DEFS.linux += VBOX_WITH_ALSA
1024 Drivers_SOURCES.linux+= \
1025 Audio/alsaaudio.c \
1026 Audio/alsa_stubs.c
1027endif
1028
1029ifdef VBOX_WITH_PULSE
1030 Drivers_DEFS.linux += VBOX_WITH_PULSE
1031 Drivers_SOURCES.linux+= \
1032 Audio/pulseaudio.c \
1033 Audio/pulse_stubs.c
1034 Drivers_DEFS.freebsd += VBOX_WITH_PULSE
1035 Drivers_SOURCES.freebsd+= \
1036 Audio/pulseaudio.c \
1037 Audio/pulse_stubs.c
1038endif
1039
1040ifdef VBOX_WITH_USB
1041 Drivers_DEFS += VBOX_WITH_USB IN_USB_R3
1042 Drivers_SOURCES += \
1043 USB/DrvVUSBRootHub.cpp \
1044 USB/VUSBDevice.cpp \
1045 USB/VUSBReadAhead.cpp \
1046 USB/VUSBUrb.cpp
1047
1048 ifdef VBOX_WITH_VRDP
1049 Drivers_DEFS += VBOX_WITH_VRDP
1050 Drivers_SOURCES += \
1051 USB/vrdp/USBProxyDevice-vrdp.cpp
1052 endif
1053
1054 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
1055 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
1056 Drivers_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
1057 endif
1058 Drivers_SOURCES.darwin += \
1059 USB/USBProxyDevice.cpp \
1060 USB/darwin/USBProxyDevice-darwin.cpp
1061
1062 Drivers_DEFS.linux += \
1063 VUSB_HAVE_USBPROXY_DEVICE \
1064 $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
1065 $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,)
1066 Drivers_SOURCES.linux += \
1067 USB/USBProxyDevice.cpp \
1068 USB/linux/USBProxyDevice-linux.cpp
1069
1070 Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
1071 Drivers_SOURCES.l4 += \
1072 USB/USBProxyDevice.cpp \
1073 USB/linux/USBProxyDevice-linux.cpp
1074
1075 Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
1076 Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
1077 Drivers_SOURCES.os2 += \
1078 USB/USBProxyDevice.cpp \
1079 USB/os2/USBProxyDevice-os2.cpp
1080
1081 Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
1082 Drivers_SOURCES.win += \
1083 USB/USBProxyDevice.cpp \
1084 USB/win/USBProxyDevice-win.cpp
1085
1086 Drivers_DEFS.solaris += VUSB_HAVE_USBPROXY_DEVICE
1087 Drivers_SOURCES.solaris += \
1088 USB/USBProxyDevice.cpp \
1089 USB/solaris/$(if $(VBOX_WITH_NEW_USB_CODE_ON_SOLARIS),USBProxyDevice2-solaris.cpp,USBProxyDevice-solaris.cpp)
1090
1091 Drivers_DEFS.freebsd += VUSB_HAVE_USBPROXY_DEVICE
1092 Drivers_SOURCES.freebsd += \
1093 USB/USBProxyDevice.cpp \
1094 USB/freebsd/USBProxyDevice-freebsd.cpp
1095
1096 ifdef VBOX_WITH_SCSI
1097 Drivers_SOURCES += \
1098 Storage/UsbMsd.cpp
1099 endif
1100
1101endif # VBOX_WITH_USB
1102
1103ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
1104 Drivers_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
1105endif #VBOX_WITH_PDM_ASYNC_COMPLETION
1106
1107ifdef VBOX_WITH_SCSI
1108 Drivers_DEFS += VBOX_WITH_SCSI
1109 Drivers_SOURCES += \
1110 Storage/DrvSCSI.cpp
1111 Drivers_SOURCES.linux += \
1112 Storage/DrvSCSIHost.cpp
1113endif # VBOX_WITH_SCSI
1114
1115#
1116# Ring-0 Services (library, linked into VMMR0.r0)
1117#
1118ServicesR0_TEMPLATE = VBoxR0
1119ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
1120ServicesR0_SOURCES = \
1121 Network/SrvIntNetR0.cpp
1122
1123
1124#
1125# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1126#
1127ifdef VBOX_WITH_TESTCASES
1128 PROGRAMS += tstIntNetR0
1129 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
1130 tstIntNetR0_DEFS = IN_INTNET_R0
1131 tstIntNetR0_SOURCES = \
1132 Network/testcase/tstIntNetR0.cpp
1133endif
1134
1135#
1136# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1137#
1138ifdef VBOX_WITH_TESTCASES
1139 PROGRAMS += tstIntNet-1
1140 tstIntNet-1_TEMPLATE = VBOXR3TSTEXE
1141 tstIntNet-1_SOURCES = \
1142 Network/testcase/tstIntNet-1.cpp \
1143 Network/Pcap.cpp
1144endif
1145
1146
1147#
1148# EEPROM device unit test requires cppunit
1149#
1150ifdef VBOX_WITH_CPPUNIT_TESTCASES
1151ifdef VBOX_WITH_E1000
1152 PROGRAMS += tstDevEEPROM
1153 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
1154 tstDevEEPROM_SOURCES = \
1155 Network/testcase/tstDevEEPROM.cpp
1156 tstDevEEPROM_LIBS = \
1157 $(TARGET_DevicesR3)
1158 PROGRAMS += tstDevPhy
1159 tstDevPhy_TEMPLATE = VBOXCPPUNITEXE
1160 tstDevPhy_SOURCES = \
1161 Network/testcase/tstDevPhy.cpp \
1162 Network/DevE1000Phy.cpp
1163 tstDevPhy_DEFS = PHY_UNIT_TEST
1164endif
1165endif
1166
1167include $(KBUILD_PATH)/subfooter.kmk
1168
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