VirtualBox

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

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

OSE build fix

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 29.7 KB
Line 
1# $Id: Makefile.kmk 26975 2010-03-02 20:57:30Z 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 Network/DrvNetSniffer.cpp \
832 Network/Pcap.cpp
833
834VBOX_SLIRP_SOURCES = \
835 Network/DrvNAT.cpp \
836 Network/slirp/bootp.c \
837 Network/slirp/debug.c \
838 Network/slirp/if.c \
839 Network/slirp/ip_icmp.c \
840 Network/slirp/ip_input.c \
841 Network/slirp/ip_output.c \
842 Network/slirp/misc.c \
843 Network/slirp/sbuf.c \
844 Network/slirp/slirp.c \
845 Network/slirp/socket.c \
846 Network/slirp/tcp_input.c \
847 Network/slirp/tcp_output.c \
848 Network/slirp/tcp_subr.c \
849 Network/slirp/tcp_timer.c \
850 Network/slirp/udp.c \
851 Network/slirp/dnsproxy/hash.c \
852 Network/slirp/tftp.c \
853 Network/slirp/dnsproxy/dnsproxy.c
854
855ifdef VBOX_WITH_SLIRP_BSD_MBUF
856 VBOX_SLIRP_BSD_ARCH = $(subst x86,i386,$(KBUILD_TARGET_ARCH))
857 VBOX_SLIRP_BSD_SOURCES += \
858 Network/slirp/bsd/kern/kern_mbuf.c \
859 Network/slirp/bsd/kern/uipc_mbuf.c \
860 Network/slirp/bsd/kern/uipc_mbuf2.c \
861 Network/slirp/bsd/$(VBOX_SLIRP_BSD_ARCH)/in_cksum.c
862else
863# some notes dnsproxy will probably deprecate
864 VBOX_SLIRP_SOURCES += \
865 Network/slirp/mbuf.c \
866 Network/slirp/cksum.c
867endif
868
869VBOX_SLIRP_ALIAS_SOURCES = \
870 Network/slirp/libalias/alias.c \
871 Network/slirp/libalias/alias_db.c \
872 Network/slirp/libalias/alias_mod.c \
873 Network/slirp/libalias/alias_proxy.c \
874 Network/slirp/libalias/alias_ftp.c \
875 Network/slirp/libalias/alias_dns.c \
876 Network/slirp/libalias/alias_nbt.c \
877 Network/slirp/libalias/alias_util.c
878
879# some day will be deleted
880
881Drivers_SOURCES += $(VBOX_SLIRP_SOURCES)
882define def_vbox_slirp_cflags
883 $(file)_DEFS += \
884 $(if $(VBOX_WITH_SLIRP_MEMORY_CHECK),RTMEM_WRAP_TO_EF_APIS,) \
885 $(if $(VBOX_WITH_DEBUG_NAT_SOCKETS),VBOX_WITH_DEBUG_NAT_SOCKETS,) \
886 $(if $(VBOX_WITH_SLIRP_MT),VBOX_WITH_SLIRP_MT,) \
887 $(if $(VBOX_WITH_SLIRP_BSD_MBUF),VBOX_WITH_SLIRP_BSD_MBUF,)
888 ifdef VBOX_WITH_SLIRP_BSD_MBUF
889 $(file)_INCS += $(1)/slirp/bsd/sys
890 $(file)_INCS += $(1)/slirp/bsd/sys/sys
891 $(file)_INCS += $(1)/slirp/bsd/$(VBOX_SLIRP_BSD_ARCH)/include
892 $(file)_INCS += $(1)/slirp/bsd/netinet
893 endif
894 $(file)_INCS += $(1)/slirp
895 $(file)_INCS += $(1)/slirp/libalias
896 ifeq ($(KBUILD_TARGET),win)
897 $(file)_CFLAGS = -wd4018
898 else
899 $(file)_CFLAGS += -Wno-sign-compare
900 ifdef VBOX_WITH_SLIRP_BSD_MBUF
901 $(file)_CFLAGS += -Wno-format
902 $(file)_CFLAGS += -Wno-bad-function-cast
903 endif
904 endif
905endef
906
907$(foreach file,$(VBOX_SLIRP_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
908
909Drivers_SOURCES += $(VBOX_SLIRP_ALIAS_SOURCES)
910define def_vbox_slirp_alias_cflags
911 $(file)_DEFS += VBOX_SLIRP_ALIAS
912 $(file)_INCS += $(1)/slirp/libalias
913 $(file)_INCS += $(1)/slirp
914 $(file)_INCS += $(1)/slirp/dnsproxy
915 ifneq ($(KBUILD_TARGET),win)
916 $(file)_CFLAGS += -Wno-shadow
917 endif
918endef
919$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
920$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_alias_cflags, Network)))
921
922ifdef VBOX_WITH_SLIRP_BSD_MBUF
923VBOX_SLIRP_BSD_SOURCES += $(VBOX_SLIRP_BSD_SOURCES.${KBUILD_TARGET_ARCH})
924Drivers_SOURCES += $(VBOX_SLIRP_BSD_SOURCES)
925define def_vbox_slirp_bsd_cflags
926 $(file)_DEFS += VBOX_SLIRP_BSD
927 $(file)_INCS += $(1)/slirp/dnsproxy
928endef
929$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
930$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_bsd_cflags, Network)))
931endif
932
933# -- OS specific --
934
935ifeq ($(KBUILD_TARGET),darwin)
936Drivers_SOURCES := $(filter-out \
937 Storage/DrvHostRaw% \
938 Storage/DrvHostFloppy% \
939 , $(Drivers_SOURCES)) \
940 Audio/coreaudio.c
941Drivers_SOURCES.darwin = \
942 Serial/DrvHostSerial.cpp
943endif # darwin
944
945ifeq ($(KBUILD_TARGET),freebsd)
946Drivers_SOURCES := $(filter-out \
947 Storage/DrvHostFloppy% \
948 , $(Drivers_SOURCES)) \
949 Audio/ossaudio.c \
950 Serial/DrvHostSerial.cpp
951Drivers_SOURCES.freebsd = \
952 Network/DrvTAP.cpp
953endif # freebsd
954
955
956ifeq ($(KBUILD_TARGET),l4)
957Drivers_SOURCES = \
958 Input/DrvMouseQueue.cpp \
959 Input/DrvKeyboardQueue.cpp \
960 Storage/DrvBlock.cpp \
961 Storage/DrvMediaISO.cpp \
962 Storage/DrvRawImage.cpp \
963 Storage/DrvHostBase.cpp \
964 Storage/DrvHostDVD.cpp \
965 Storage/DrvVD.cpp \
966 PC/DrvACPI.cpp \
967 Network/DrvIntNet.cpp \
968 Network/DHCPServerRunner.cpp \
969 Network/DrvNetSniffer.cpp \
970 Network/Pcap.cpp \
971 Audio/audio.c \
972 Audio/mixeng.c \
973 Audio/noaudio.c \
974 Audio/audiosniffer.c
975
976Drivers_SOURCES.l4 = \
977 Audio/ossaudio.c
978endif # l4
979
980Drivers_SOURCES.linux = \
981 Network/DrvTAP.cpp \
982 Audio/ossaudio.c \
983 Parallel/DrvHostParallel.cpp \
984 Serial/DrvHostSerial.cpp
985
986ifeq ($(KBUILD_TARGET),os2)
987Drivers_SOURCES := $(filter-out \
988 Storage/DrvHost% \
989 , $(Drivers_SOURCES))
990endif
991
992ifeq ($(KBUILD_TARGET),solaris)
993Drivers_SOURCES := $(filter-out \
994 Storage/DrvHost% \
995 , $(Drivers_SOURCES))
996Drivers_SOURCES.solaris = \
997 Audio/solaudio.c \
998 Storage/DrvHostBase.cpp \
999 Storage/DrvHostDVD.cpp \
1000 Serial/DrvHostSerial.cpp
1001 ifdef VBOX_WITH_SOLARIS_OSS
1002 Drivers_SOURCES += Audio/ossaudio.c
1003 Drivers_DEFS += VBOX_WITH_SOLARIS_OSS
1004 endif
1005 ifdef VBOX_WITH_CROSSBOW
1006 Drivers_SOURCES += Network/solaris/vbox-libdlpi.cpp
1007 Drivers_DEFS += VBOX_WITH_CROSSBOW
1008 endif
1009 ifdef VBOX_WITH_SUID_WRAPPER
1010 Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
1011 endif
1012endif
1013
1014Drivers_SOURCES.win = \
1015 Audio/dsoundaudio.c \
1016 Serial/DrvHostSerial.cpp
1017
1018if defined(VBOX_WITH_NETFLT)
1019 if defined(VBOX_NETFLT_ONDEMAND_BIND)
1020 Drivers_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
1021 endif
1022endif
1023
1024# -- features --
1025
1026ifdef VBOX_WITH_ISCSI
1027 VBoxDDU_SOURCES += \
1028 Storage/ISCSIHDDCore.cpp
1029 VBoxDDU_DEFS += VBOX_WITH_ISCSI
1030 Storage/DrvVD.cpp_INCS = \
1031 Network/lwip/src/include \
1032 Network/lwip/src/include/ipv4 \
1033 Network/lwip/vbox/include
1034endif # VBOX_WITH_ISCSI
1035
1036ifdef VBOX_WITH_ALSA
1037 Drivers_DEFS.linux += VBOX_WITH_ALSA
1038 Drivers_SOURCES.linux+= \
1039 Audio/alsaaudio.c \
1040 Audio/alsa_stubs.c
1041endif
1042
1043ifdef VBOX_WITH_PULSE
1044 Drivers_DEFS.linux += VBOX_WITH_PULSE
1045 Drivers_SOURCES.linux+= \
1046 Audio/pulseaudio.c \
1047 Audio/pulse_stubs.c
1048 Drivers_DEFS.freebsd += VBOX_WITH_PULSE
1049 Drivers_SOURCES.freebsd+= \
1050 Audio/pulseaudio.c \
1051 Audio/pulse_stubs.c
1052endif
1053
1054ifdef VBOX_WITH_VUSB
1055 Drivers_DEFS += VBOX_WITH_VUSB
1056 Drivers_SOURCES += \
1057 USB/DrvVUSBRootHub.cpp \
1058 USB/VUSBDevice.cpp \
1059 USB/VUSBReadAhead.cpp \
1060 USB/VUSBUrb.cpp
1061
1062endif # VBOX_WITH_VUSB
1063
1064ifdef VBOX_WITH_USB
1065 Drivers_DEFS += VBOX_WITH_USB
1066
1067 ifdef VBOX_WITH_VRDP
1068 Drivers_DEFS += VBOX_WITH_VRDP
1069 Drivers_SOURCES += \
1070 USB/vrdp/USBProxyDevice-vrdp.cpp
1071 endif
1072
1073 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
1074 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
1075 Drivers_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
1076 endif
1077 Drivers_SOURCES.darwin += \
1078 USB/USBProxyDevice.cpp \
1079 USB/darwin/USBProxyDevice-darwin.cpp
1080
1081 Drivers_DEFS.linux += \
1082 VUSB_HAVE_USBPROXY_DEVICE \
1083 $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
1084 $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,)
1085 Drivers_SOURCES.linux += \
1086 USB/USBProxyDevice.cpp \
1087 USB/linux/USBProxyDevice-linux.cpp
1088
1089 Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
1090 Drivers_SOURCES.l4 += \
1091 USB/USBProxyDevice.cpp \
1092 USB/linux/USBProxyDevice-linux.cpp
1093
1094 Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
1095 Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
1096 Drivers_SOURCES.os2 += \
1097 USB/USBProxyDevice.cpp \
1098 USB/os2/USBProxyDevice-os2.cpp
1099
1100 Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
1101 Drivers_SOURCES.win += \
1102 USB/USBProxyDevice.cpp \
1103 USB/win/USBProxyDevice-win.cpp
1104
1105 Drivers_DEFS.solaris += VUSB_HAVE_USBPROXY_DEVICE
1106 Drivers_SOURCES.solaris += \
1107 USB/USBProxyDevice.cpp \
1108 USB/solaris/$(if $(VBOX_WITH_NEW_USB_CODE_ON_SOLARIS),USBProxyDevice2-solaris.cpp,USBProxyDevice-solaris.cpp)
1109
1110 Drivers_DEFS.freebsd += VUSB_HAVE_USBPROXY_DEVICE
1111 Drivers_SOURCES.freebsd += \
1112 USB/USBProxyDevice.cpp \
1113 USB/freebsd/USBProxyDevice-freebsd.cpp
1114
1115 ifdef VBOX_WITH_SCSI
1116 Drivers_SOURCES += \
1117 Storage/UsbMsd.cpp
1118 endif
1119
1120endif # VBOX_WITH_USB
1121
1122ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
1123 Drivers_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
1124endif #VBOX_WITH_PDM_ASYNC_COMPLETION
1125
1126ifdef VBOX_WITH_SCSI
1127 Drivers_DEFS += VBOX_WITH_SCSI
1128 Drivers_SOURCES += \
1129 Storage/DrvSCSI.cpp
1130 Drivers_SOURCES.linux += \
1131 Storage/DrvSCSIHost.cpp
1132endif # VBOX_WITH_SCSI
1133
1134#
1135# Ring-0 Services (library, linked into VMMR0.r0)
1136#
1137ServicesR0_TEMPLATE = VBoxR0
1138ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
1139ServicesR0_SOURCES = \
1140 Network/SrvIntNetR0.cpp
1141
1142
1143#
1144# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1145#
1146ifdef VBOX_WITH_TESTCASES
1147 PROGRAMS += tstIntNetR0
1148 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
1149 tstIntNetR0_DEFS = IN_INTNET_R0
1150 tstIntNetR0_SOURCES = \
1151 Network/testcase/tstIntNetR0.cpp
1152endif
1153
1154#
1155# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1156#
1157ifdef VBOX_WITH_TESTCASES
1158 PROGRAMS += tstIntNet-1
1159 tstIntNet-1_TEMPLATE = VBOXR3TSTEXE
1160 tstIntNet-1_SOURCES = \
1161 Network/testcase/tstIntNet-1.cpp \
1162 Network/Pcap.cpp
1163endif
1164
1165
1166#
1167# EEPROM device unit test requires cppunit
1168#
1169ifdef VBOX_WITH_CPPUNIT_TESTCASES
1170ifdef VBOX_WITH_E1000
1171 PROGRAMS += tstDevEEPROM
1172 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
1173 tstDevEEPROM_SOURCES = \
1174 Network/testcase/tstDevEEPROM.cpp
1175 tstDevEEPROM_LIBS = \
1176 $(TARGET_DevicesR3)
1177 PROGRAMS += tstDevPhy
1178 tstDevPhy_TEMPLATE = VBOXCPPUNITEXE
1179 tstDevPhy_SOURCES = \
1180 Network/testcase/tstDevPhy.cpp \
1181 Network/DevE1000Phy.cpp
1182 tstDevPhy_DEFS = PHY_UNIT_TEST
1183endif
1184endif
1185
1186include $(KBUILD_PATH)/subfooter.kmk
1187
Note: See TracBrowser for help on using the repository browser.

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