VirtualBox

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

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

build fix

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