VirtualBox

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

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

Main, VMM, vboxshell: more PCI work (persistent settings, logging, more driver API), API consumer in vboxshell

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