VirtualBox

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

Last change on this file since 34714 was 34492, checked in by vboxsync, 14 years ago

VBOX_ONLY_EXTPACKS changes.

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

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