VirtualBox

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

Last change on this file since 35273 was 34906, checked in by vboxsync, 13 years ago

Initial audio filter implementation, which is used for audio input via remote desktop server.

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

© 2023 Oracle
ContactPrivacy policyTerms of Use