VirtualBox

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

Last change on this file since 25825 was 25825, checked in by vboxsync, 15 years ago

r=bird: hot-plug review and code style cleanup. check out the @todos

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

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