VirtualBox

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

Last change on this file since 6115 was 6115, checked in by vboxsync, 17 years ago

Compiler fix

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 16.5 KB
Line 
1# $Id: Makefile.kmk 6115 2007-12-17 23:43:51Z vboxsync $
2## @file
3# Top-level makefile for the devices, drivers and services.
4#
5
6#
7# Copyright (C) 2006-2007 innotek GmbH
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
18DEPTH = ../../..
19include $(PATH_KBUILD)/subheader.kmk
20
21# Include sub-makefiles.
22include $(PATH_SUB_CURRENT)/PC/BIOS/Makefile.kmk
23include $(PATH_SUB_CURRENT)/Graphics/BIOS/Makefile.kmk
24include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
25include $(PATH_SUB_CURRENT)/Storage/testcase/Makefile.kmk
26
27# Subdirs with complex makefiles.
28ifdef VBOX_WITH_INTEL_PXE
29SUBDIRS_LIBRARIES = PC/PXE
30SUBDIRS_CLEAN = PC/PXE
31else
32SUBDIRS_LIBRARIES = PC/Etherboot-src
33SUBDIRS_CLEAN = PC/Etherboot-src
34endif
35
36ifndef VBOX_OSE
37SUBDIRS_LIBRARIES += Storage/VBoxHDDFormats
38endif
39
40#
41# Main targets.
42#
43LIBRARIES += DevicesR3 Drivers ServicesR0
44DLLS += VBoxDDU VBoxDD VBoxDD2
45SYSMODS += VBoxDDGC VBoxDD2GC VBoxDDR0 VBoxDD2R0
46
47
48##
49## Enable the pdm lock (experimental).
50##
51#DEFS += VBOX_WITH_PDM_LOCK
52
53
54#
55# VBoxDDU (shared object)
56#
57VBoxDDU_TEMPLATE = VBOXR3
58VBoxDDU_DEFS = IN_VBOXDDU
59ifdef VBOX_WITH_USB
60 VBoxDDU_DEFS += VBOX_WITH_USB IN_USBLIB
61 VBoxDDU_SDKS.win = WINPSDK W2K3DDK
62 ifdef VBOX_WITH_EHCI
63 VBoxDDU_DEFS += VBOX_WITH_EHCI
64 endif
65else
66 VBoxDDU_SDKS.win = WINPSDK
67endif
68VBoxDDU_SOURCES = \
69 Storage/VBoxHDD-new.cpp \
70 Storage/VDICore.cpp \
71 Storage/VmdkHDDCore.cpp \
72 VBoxDDUDeps.cpp
73ifdef VBOX_WITH_USB
74 VBoxDDU_SOURCES.win = \
75 USB/win32/USBLib-win32.cpp
76 VBoxDDU_INCS.os2 += \
77 $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
78endif
79VBoxDDU_LIBS = \
80 $(LIB_RUNTIME)
81ifdef VBOX_WITH_USB
82 VBoxDDU_LIBS += \
83 $(PATH_LIB)/USBLib$(VBOX_SUFF_LIB)
84endif
85ifeq ($(BUILD_TARGET),l4)
86 VBoxDDU_LIBS += \
87 $(L4_LIBDIR)/libl4sys.p.a
88endif
89VBoxDDU_LDFLAGS.darwin = -install_name @executable_path/VBoxDDU.dylib
90VBoxDDU_LDFLAGS.linux = -Wl,--no-undefined
91VBoxDDU_LDFLAGS.l4 = -Wl,--no-undefined
92
93
94#
95# VBoxDD (shared object)
96#
97VBoxDD_TEMPLATE = VBOXR3
98VBoxDD_SDKS.win = WINPSDK DXSDK W2K3DDK VBOX_NTDLL
99VBoxDD_SOURCES = \
100 Builtins.cpp
101VBoxDD_DEFS = VBOX_ACPI
102ifdef VBOX_WITH_USB
103 VBoxDD_DEFS += VBOX_WITH_USB IN_USB_R3
104 ifdef VBOX_WITH_EHCI
105 VBoxDD_DEFS += VBOX_WITH_EHCI
106 endif
107endif
108ifdef VBOX_WITH_AHCI
109 VBoxDD_DEFS += VBOX_WITH_AHCI
110endif
111ifdef VBOX_WITH_ISCSI
112 VBoxDD_DEFS += VBOX_WITH_ISCSI
113endif
114ifndef VBOX_OSE
115 VBoxDD_DEFS += VBOX_WITH_E1000
116 VBoxDD_DEFS += VBOX_WITH_INIP
117endif
118VBoxDD_LIBS = \
119 $(PATH_LIB)/DevicesR3$(VBOX_SUFF_LIB) \
120 $(PATH_LIB)/Drivers$(VBOX_SUFF_LIB) \
121 $(PATH_LIB)/PcDefBiosLogo$(VBOX_SUFF_LIB) \
122 $(LIB_VMM) \
123 $(LIB_RUNTIME)
124ifeq ($(BUILD_TARGET),win)
125 VBoxDD_LIBS += \
126 $(PATH_LIB)/VBoxDDU.lib \
127 $(PATH_LIB)/VBoxDD2.lib \
128 $(PATH_SDK_DXSDK_LIB)/dxguid.lib
129else
130 VBoxDD_LIBS += \
131 $(INSTARGET_VBoxDDU) \
132 $(INSTARGET_VBoxDD2)
133endif
134ifeq ($(BUILD_TARGET),l4)
135 VBoxDD_LIBS += \
136 $(L4_LIBDIR)/libl4sys.p.a
137endif
138ifeq ($(BUILD_TARGET),solaris)
139 VBoxDD_LIBS += adm
140 ifdef VBOX_WITH_CROSSBOW
141 VBoxDD_LIBS += dlpi
142 endif
143 ifdef VBOX_WITH_SUID_WRAPPER
144 VBoxDD_LIBS += secdb
145 endif
146endif
147VBoxDD_LIBS.darwin += \
148 $(LIB_REM)
149VBoxDD_LDFLAGS.darwin = -install_name @executable_path/VBoxDD.dylib \
150 -framework CoreAudio \
151 -framework IOKit \
152 -framework Carbon \
153 -framework DiskArbitration
154VBoxDD_LDFLAGS.linux = -Wl,--no-undefined
155VBoxDD_LDFLAGS.l4 = -Wl,--no-undefined
156
157
158# damn, fix this.
159ifeq ($(BUILD_TARGET),win)
160$(PATH_LIB)/VBoxDD2.lib: $(PATH_BIN)/VBoxDD2.dll
161$(PATH_LIB)/VBoxDDU.lib: $(PATH_BIN)/VBoxDDU.dll
162endif
163
164
165#
166# VBoxDD2 (shared object)
167#
168VBoxDD2_TEMPLATE = VBOXR3
169VBoxDD2_DEFS = IN_VBOXDD2
170VBoxDD2_INCS := \
171 $(PATH_SUB_CURRENT)
172VBoxDD2_SOURCES = \
173 Builtins2.cpp \
174 PC/DevAPIC.cpp
175VBoxDD2_LIBS = \
176 $(PATH_LIB)/PcBiosBin$(VBOX_SUFF_LIB) \
177 $(PATH_LIB)/VgaBiosBin$(VBOX_SUFF_LIB) \
178 $(PATH_LIB)/NetBiosBin$(VBOX_SUFF_LIB) \
179 $(LIB_VMM) \
180 $(LIB_RUNTIME)
181ifeq ($(BUILD_TARGET),l4)
182VBoxDD2_LIBS += \
183 $(L4_LIBDIR)/libl4sys.p.a
184endif
185VBoxDD2_LIBS.darwin += $(LIB_REM)
186VBoxDD2_LDFLAGS.darwin = -install_name @executable_path/VBoxDD2.dylib
187VBoxDD2_LDFLAGS.linux = -Wl,--no-undefined
188VBoxDD2_LDFLAGS.l4 = -Wl,--no-undefined
189
190
191#
192# DevicesR3 (library)
193#
194DevicesR3_TEMPLATE = VBOXR3
195DevicesR3_SDKS.win = WINPSDK W2K3DDK
196DevicesR3_INCS := \
197 $(PATH_SUB_CURRENT)
198DevicesR3_SOURCES = \
199 Input/DevPS2.cpp \
200 Bus/DevPCI.cpp \
201 Graphics/DevVGA.cpp \
202 Storage/DevATA.cpp \
203 PC/DevPit-i8254.cpp \
204 PC/DevPIC.cpp \
205 PC/DevACPI.cpp \
206 PC/DevRTC.cpp \
207 PC/DevPcBios.cpp \
208 PC/DevPcArch.c \
209 VMMDev/VBoxDev.cpp \
210 VMMDev/VMMDevHGCM.cpp \
211 Network/DevPCNet.cpp \
212 Audio/DevIchAc97.cpp \
213 PC/DevDMA.cpp \
214 Storage/fdc.c \
215 Serial/DevSerial.cpp \
216 Parallel/DevParallel.cpp
217
218ifndef VBOX_OSE
219DevicesR3_INCS += \
220 Network/lwip/src/include \
221 Network/lwip/src/include/ipv4 \
222 Network/lwip/vbox/include
223DevicesR3_SOURCES += \
224 Network/DevE1000.cpp \
225 Network/DevE1000Phy.cpp \
226 Network/DevEEPROM.cpp \
227 Network/lwip/src/api/api_lib.c \
228 Network/lwip/src/api/api_msg.c \
229 Network/lwip/src/api/err.c \
230 Network/lwip/src/api/sockets.c \
231 Network/lwip/src/api/tcpip.c \
232 Network/lwip/src/core/tcp_in.c \
233 Network/lwip/src/core/dhcp.c \
234 Network/lwip/src/core/inet.c \
235 Network/lwip/src/core/mem.c \
236 Network/lwip/src/core/memp.c \
237 Network/lwip/src/core/netif.c \
238 Network/lwip/src/core/pbuf.c \
239 Network/lwip/src/core/raw.c \
240 Network/lwip/src/core/stats.c \
241 Network/lwip/src/core/sys.c \
242 Network/lwip/src/core/tcp.c \
243 Network/lwip/src/core/ipv4/ip_addr.c \
244 Network/lwip/src/core/ipv4/icmp.c \
245 Network/lwip/src/core/ipv4/ip.c \
246 Network/lwip/src/core/ipv4/ip_frag.c \
247 Network/lwip/src/core/tcp_out.c \
248 Network/lwip/src/core/udp.c \
249 Network/lwip/src/netif/etharp.c \
250 Network/lwip/vbox/sys_arch.c \
251 Network/DevINIP.cpp
252DevicesR3_DEFS += VBOX_WITH_E1000
253DevicesR3_DEFS += VBOX_WITH_INIP
254endif
255
256ifdef VBOX_WITH_AHCI
257DevicesR3_DEFS += VBOX_WITH_AHCI IN_AHCI_R3
258DevicesR3_SOURCES += \
259 Storage/DevAHCI.cpp
260endif
261
262ifdef VBOX_WITH_USB
263DevicesR3_DEFS += VBOX_WITH_USB IN_USB_R3
264
265DevicesR3_SOURCES += \
266 USB/DevOHCI.cpp
267
268 ifdef VBOX_WITH_EHCI
269 DevicesR3_DEFS += VBOX_WITH_EHCI
270 DevicesR3_SOURCES += \
271 USB/DevEHCI.cpp
272 endif
273
274endif
275
276DevicesR3_DEFS += VBOX_HGCM
277DevicesR3_DEFS.linux += _GNU_SOURCE
278DevicesR3_DEFS.l4 += _GNU_SOURCE
279
280# DevACPI.cpp needs vboxaml.hex which we generate from PC/vbox.dsl.
281DevicesR3_CLEAN += $(PATH_TARGET)/vboxaml.hex $(PATH_TARGET)/vboxaml.aml
282PC/DevACPI.cpp_DEPS = $(PATH_TARGET)/vboxaml.hex
283PC/DevACPI.cpp_INCS = $(PATH_TARGET)
284
285$(PATH_TARGET)/vboxaml.hex: PC/vbox.dsl
286 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
287 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
288
289# For finding PCIInternal.h from VBox/pci.h.
290Bus/DevPCI.cpp_INCS = Bus
291
292# for finding vbetables.h
293Graphics/DevVGA.cpp_INCS = $(PATH_TARGET)
294
295
296
297#
298# VBoxDDGC (sysmod)
299#
300VBoxDDGC_TEMPLATE = VBOXGC
301VBoxDDGC_DEFS =
302VBoxDDGC_SYSSUFF = .gc
303VBoxDDGC_INCS := \
304 $(PATH_SUB_CURRENT)
305VBoxDDGC_SOURCES = \
306 Bus/DevPCI.cpp \
307 Graphics/DevVGA.cpp \
308 Input/DevPS2.cpp \
309 PC/DevACPI.cpp \
310 PC/DevPit-i8254.cpp \
311 PC/DevPIC.cpp \
312 PC/DevRTC.cpp \
313 Storage/DevATA.cpp \
314 Network/DevPCNet.cpp \
315 Serial/DevSerial.cpp \
316 Parallel/DevParallel.cpp
317
318ifdef VBOX_WITH_USB
319VBoxDDGC_DEFS += VBOX_WITH_USB IN_USB_GC
320VBoxDDGC_SOURCES += \
321 USB/DevOHCI.cpp
322
323 ifdef VBOX_WITH_EHCI
324 VBoxDDGC_DEFS += VBOX_WITH_EHCI
325 VBoxDDGC_SOURCES += \
326 USB/DevEHCI.cpp
327 endif
328
329endif
330
331ifdef VBOX_WITH_AHCI
332VBoxDDGC_DEFS += VBOX_WITH_AHCI IN_AHCI_GC
333VBoxDDGC_SOURCES += \
334 Storage/DevAHCI.cpp
335endif
336
337ifeq ($(VBOX_LDR_FMT32),pe)
338VBoxDDGC_LDFLAGS = -Entry:vgaMMIOWrite
339endif
340ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
341VBoxDDGC_LIBS = \
342 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
343 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
344endif
345
346
347#
348# VBoxDDR0 (sysmod)
349#
350VBoxDDR0_TEMPLATE = VBOXR0
351VBoxDDR0_SYSSUFF = .r0
352VBoxDDR0_DEFS = IN_RT_R0
353VBoxDDR0_INCS := \
354 $(PATH_SUB_CURRENT)
355VBoxDDR0_SOURCES = \
356 Bus/DevPCI.cpp \
357 Graphics/DevVGA.cpp \
358 Input/DevPS2.cpp \
359 PC/DevACPI.cpp \
360 PC/DevPit-i8254.cpp \
361 PC/DevPIC.cpp \
362 PC/DevRTC.cpp \
363 Storage/DevATA.cpp \
364 Network/DevPCNet.cpp \
365 Serial/DevSerial.cpp \
366 Parallel/DevParallel.cpp
367
368ifdef VBOX_WITH_USB
369VBoxDDR0_DEFS += VBOX_WITH_USB IN_USB_R0
370VBoxDDR0_SOURCES += \
371 USB/DevOHCI.cpp
372
373 ifdef VBOX_WITH_EHCI
374 VBoxDDR0_DEFS += VBOX_WITH_EHCI
375 VBoxDDR0_SOURCES += \
376 USB/DevEHCI.cpp
377 endif
378endif
379
380ifdef VBOX_WITH_AHCI
381VBoxDDR0_DEFS += VBOX_WITH_AHCI IN_AHCI_R0
382VBoxDDR0_SOURCES += \
383 Storage/DevAHCI.cpp
384endif
385
386ifeq ($(VBOX_LDR_FMT32),pe)
387VBoxDDR0_LDFLAGS = -Entry:vgaMMIOWrite
388endif
389ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
390VBoxDDR0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
391endif
392VBoxDDR0_LIBS += $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
393ifeq ($(VBOX_LDR_FMT32),elf) # this is template stuff!
394VBoxDDR0_LIBS += $(VBOX_GCC_LIBGCC)
395endif
396
397
398#
399# VBoxDD2GC (LGPL sysmod)
400#
401VBoxDD2GC_TEMPLATE = VBOXGC
402VBoxDD2GC_DEFS =
403VBoxDD2GC_SYSSUFF = .gc
404VBoxDD2GC_INCS := \
405 $(PATH_SUB_CURRENT)
406VBoxDD2GC_SOURCES = \
407 PC/DevAPIC.cpp
408ifeq ($(VBOX_LDR_FMT32),pe)
409VBoxDD2GC_LDFLAGS = -Entry:apicMMIOWrite
410endif
411ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
412VBoxDD2GC_LIBS = \
413 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
414 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
415endif
416
417
418#
419# VBoxDD2R0 (LGPL sysmod)
420#
421VBoxDD2R0_TEMPLATE = VBOXR0
422VBoxDD2R0_DEFS = IN_RT_R0
423VBoxDD2R0_SYSSUFF = .r0
424VBoxDD2R0_INCS := \
425 $(PATH_SUB_CURRENT)
426VBoxDD2R0_SOURCES = \
427 PC/DevAPIC.cpp
428ifeq ($(VBOX_LDR_FMT),pe)
429VBoxDD2R0_LDFLAGS = -Entry:apicMMIOWrite
430endif
431ifneq ($(filter pe lx,$(VBOX_LDR_FMT)),)
432VBoxDD2R0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
433endif
434VBoxDD2R0_LIBS += $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
435ifeq ($(VBOX_LDR_FMT),elf)
436VBoxDD2R0_LIBS += $(VBOX_GCC_LIBGCC)
437endif
438
439
440#
441# Drivers (library)
442#
443ifeq ($(BUILD_TARGET),l4) # We are using real Linux headers, not the cleaned up user space ones
444Drivers_TEMPLATE = VBOXR3NP
445else
446Drivers_TEMPLATE = VBOXR3
447endif
448Drivers_SDKS.win = WINPSDK W2K3DDK
449Storage/DrvHostDVD.cpp_SDKS.win = W2K3DDK
450Drivers_DEFS = IN_IDE_R3
451Drivers_DEFS.win += _WIN32_WINNT=0x0510
452Drivers_INCS := \
453 $(PATH_SUB_CURRENT) \
454 Network/slirp
455Drivers_SOURCES = \
456 Audio/audio.c \
457 Audio/audiosniffer.c \
458 Audio/mixeng.c \
459 Audio/noaudio.c \
460 Input/DrvKeyboardQueue.cpp \
461 Input/DrvMouseQueue.cpp \
462 Network/DrvIntNet.cpp \
463 Network/DrvNAT.cpp \
464 Network/DrvNetSniffer.cpp \
465 Network/slirp/bootp.c \
466 Network/slirp/cksum.c \
467 Network/slirp/debug.c \
468 Network/slirp/if.c \
469 Network/slirp/ip_icmp.c \
470 Network/slirp/ip_input.c \
471 Network/slirp/ip_output.c \
472 Network/slirp/mbuf.c \
473 Network/slirp/misc.c \
474 Network/slirp/sbuf.c \
475 Network/slirp/slirp.c \
476 Network/slirp/socket.c \
477 Network/slirp/tcp_input.c \
478 Network/slirp/tcp_output.c \
479 Network/slirp/tcp_subr.c \
480 Network/slirp/tcp_timer.c \
481 Network/slirp/tftp.c \
482 Network/slirp/udp.c \
483 PC/DrvACPI.cpp \
484 Serial/DrvChar.cpp \
485 Serial/DrvNamedPipe.cpp \
486 Storage/DrvBlock.cpp \
487 Storage/DrvHostBase.cpp \
488 Storage/DrvHostDVD.cpp \
489 Storage/DrvHostFloppy.cpp \
490 Storage/DrvHostRawDisk.cpp \
491 Storage/DrvMediaISO.cpp \
492 Storage/DrvRawImage.cpp \
493 Storage/DrvVD.cpp \
494 Storage/DrvVmdk.cpp \
495 Storage/VBoxHDD.cpp
496
497# -- OS specific --
498
499ifeq ($(BUILD_TARGET),darwin)
500Drivers_SOURCES := $(filter-out \
501 Storage/DrvHostRaw% \
502 Storage/DrvHostFloppy% \
503 , $(Drivers_SOURCES)) \
504 Audio/coreaudio.c
505Drivers_SOURCES.darwin =
506endif # darwin
507
508ifeq ($(BUILD_TARGET),freebsd)
509Drivers_SOURCES := $(filter-out \
510 Storage/DrvHost% \
511 , $(Drivers_SOURCES))
512Drivers_SOURCES.freebsd =
513endif # freebsd
514
515
516ifeq ($(BUILD_TARGET),l4)
517Drivers_SOURCES = \
518 Input/DrvMouseQueue.cpp \
519 Input/DrvKeyboardQueue.cpp \
520 Storage/VBoxHDD.cpp \
521 Storage/DrvBlock.cpp \
522 Storage/DrvMediaISO.cpp \
523 Storage/DrvRawImage.cpp \
524 Storage/DrvHostBase.cpp \
525 Storage/DrvHostDVD.cpp \
526 Storage/DrvVD.cpp \
527 PC/DrvACPI.cpp \
528 Network/DrvIntNet.cpp \
529 Network/DrvNetSniffer.cpp \
530 Audio/audio.c \
531 Audio/mixeng.c \
532 Audio/noaudio.c \
533 Audio/audiosniffer.c
534
535Drivers_SOURCES.l4 = \
536 Network/DrvTAP.cpp \
537 Audio/ossaudio.c
538endif # l4
539
540Drivers_SOURCES.linux = \
541 Network/DrvTAP.cpp \
542 Audio/ossaudio.c \
543 Parallel/DrvHostParallel.cpp \
544 Serial/DrvHostSerial.cpp
545
546ifeq ($(BUILD_TARGET),os2)
547Drivers_SOURCES := $(filter-out \
548 Storage/DrvHost% \
549 , $(Drivers_SOURCES))
550Drivers_SOURCES.os2 = \
551 Network/DrvTAPOs2.cpp
552endif
553
554ifeq ($(BUILD_TARGET),solaris)
555Drivers_SOURCES := $(filter-out \
556 Storage/DrvHost% \
557 , $(Drivers_SOURCES))
558Drivers_SOURCES.solaris = \
559 Audio/solaudio.c \
560 Network/DrvTAP.cpp \
561 Storage/DrvHostBase.cpp \
562 Storage/DrvHostDVD.cpp \
563 Storage/DrvHostRawDisk.cpp
564 ifdef VBOX_WITH_CROSSBOW
565 Drivers_DEFS += VBOX_WITH_CROSSBOW
566 endif
567 ifdef VBOX_WITH_SUID_WRAPPER
568 Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
569 endif
570endif
571
572Drivers_SOURCES.win = \
573 Network/DrvTAPWin32.cpp \
574 Audio/dsoundaudio.c \
575 Serial/DrvHostSerial.cpp
576
577
578# -- features --
579
580ifdef VBOX_WITH_ISCSI
581 Drivers_SOURCES += \
582 Storage/DrvISCSI.cpp \
583 Storage/DrvISCSITransportTCP.cpp
584 Drivers_DEFS += VBOX_WITH_ISCSI
585 Storage/DrvISCSITransportTCP.cpp_INCS = \
586 Network/lwip/src/include \
587 Network/lwip/src/include/ipv4 \
588 Network/lwip/vbox/include
589endif # VBOX_WITH_ISCSI
590
591ifdef VBOX_WITH_ALSA
592 Drivers_DEFS.linux += VBOX_WITH_ALSA
593 Drivers_SOURCES.linux+= \
594 Audio/alsaaudio.c \
595 Audio/alsa_stubs.c
596# VBoxDD_LIBS.linux += asound
597endif
598
599ifdef VBOX_WITH_PULSE
600 Drivers_DEFS.linux += VBOX_WITH_PULSE
601 Drivers_SOURCES.linux+= \
602 Audio/pulseaudio.c \
603 Audio/pulse_stubs.c
604# VBoxDD_LIBS.linux += pulse
605endif
606
607ifdef VBOX_WITH_USB
608 Drivers_DEFS += VBOX_WITH_USB IN_USB_R3
609 Drivers_SOURCES += \
610 USB/DrvVUSBRootHub.cpp \
611 USB/VUSBDevice.cpp \
612 USB/VUSBUrb.cpp
613 ifdef VBOX_WITH_VRDP
614 Drivers_DEFS += VBOX_VRDP
615 Drivers_SOURCES += \
616 USB/vrdp/USBProxyDevice-vrdp.cpp
617 endif
618
619 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
620 #Drivers_DEFS.darwin += VBOX_WITH_USBFILTER
621 Drivers_SOURCES.darwin += \
622 USB/USBProxyDevice.cpp \
623 USB/darwin/USBProxyDevice-darwin.cpp
624
625 Drivers_DEFS.linux += VUSB_HAVE_USBPROXY_DEVICE
626 ifdef VBOX_WITHOUT_LINUX_COMPILER_H
627 Drivers_DEFS.linux += VBOX_WITHOUT_LINUX_COMPILER_H
628 endif
629 Drivers_SOURCES.linux+= \
630 USB/USBProxyDevice.cpp \
631 USB/linux/USBProxyDevice-linux.cpp
632
633 Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
634 Drivers_SOURCES.l4 += \
635 USB/USBProxyDevice.cpp \
636 USB/linux/USBProxyDevice-linux.cpp
637
638 Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
639 Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
640 Drivers_SOURCES.os2 += \
641 USB/USBProxyDevice.cpp \
642 USB/os2/USBProxyDevice-os2.cpp
643
644 Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
645 Drivers_SOURCES.win += \
646 USB/USBProxyDevice.cpp \
647 USB/win32/USBProxyDevice-win32.cpp
648endif # VBOX_WITH_USB
649
650ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
651 Drivers_SOURCES.linux += \
652 Storage/DrvBlockAsync.cpp \
653 Storage/DrvRawImageAsync.cpp \
654 Storage/DrvTransportAsync.cpp
655
656 Drivers_SOURCES.win += \
657 Storage/DrvBlockAsync.cpp \
658 Storage/DrvRawImageAsync.cpp \
659 Storage/DrvTransportAsync.cpp
660endif #VBOX_WITH_PDM_ASYNC_COMPLETION
661
662#
663# Ring-0 Services (library, linked into VMMR0.r0)
664#
665ServicesR0_TEMPLATE = VBOXR0
666ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
667ServicesR0_SOURCES = \
668 Network/SrvIntNetR0.cpp
669
670#
671# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
672#
673ifdef VBOX_WITH_TESTCASES
674 PROGRAMS += tstIntNetR0
675 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
676 tstIntNetR0_DEFS = IN_INTNET_R0
677 tstIntNetR0_SOURCES = \
678 Network/testcase/tstIntNetR0.cpp
679endif
680
681#
682# EEPROM device unit test requires cppunit
683#
684ifdef VBOX_WITH_CPPUNIT_TESTCASES
685ifndef VBOX_OSE
686 PROGRAMS += tstDevEEPROM
687 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
688 tstDevEEPROM_SOURCES = \
689 Network/testcase/tstDevEEPROM.cpp
690 tstDevEEPROM_LIBS = \
691 $(TARGET_DevicesR3)
692endif
693endif
694
695include $(PATH_KBUILD)/subfooter.kmk
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