VirtualBox

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

最後變更 在這個檔案從35346是 35345,由 vboxsync 提交於 14 年 前

More VMMGC* -> VMMRC*.

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 31.3 KB
 
1# $Id: Makefile.kmk 35345 2010-12-27 14:41: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.alldomusa.eu.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 $@ [email protected]
484 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
485 $(QUIET)$(MV) -f $@ [email protected]
486 $(QUIET)$(SED) "s/AmlCode/AmlCodeSsdtStandard/g" \
487 --output $@ [email protected]
488 $(QUIET)$(RM) -f [email protected]
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 $@ [email protected] [email protected]
496 $(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -E -P -x c -o [email protected] $<
497 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ [email protected]
498 $(QUIET)$(MV) -f $@ [email protected]
499 $(QUIET)$(SED) "s/AmlCode/AmlCodeSsdtCpuHotPlug/g" \
500 --output $@ [email protected]
501 $(QUIET)$(RM) -f [email protected] [email protected]
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)/VMMRCBuiltin$(VBOX_SUFF_LIB) \
622 $(PATH_LIB)/VMMRCImp$(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)/VMMRCBuiltin$(VBOX_SUFF_LIB) \
748 $(PATH_LIB)/VMMRCImp$(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
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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