VirtualBox

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

Last change on this file since 37126 was 36942, checked in by vboxsync, 13 years ago

build fix

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

© 2023 Oracle
ContactPrivacy policyTerms of Use