VirtualBox

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

Last change on this file since 35740 was 35685, checked in by vboxsync, 13 years ago

Main, Device: passthrough conditional

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

© 2023 Oracle
ContactPrivacy policyTerms of Use