VirtualBox

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

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

GetNetworkParams is flagged as w2ksp1, so indicate that that's what we're targetting (already doing this on win64).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 16.1 KB
Line 
1# $Id: Makefile.kmk 6082 2007-12-15 06:10:28Z 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
650
651
652#
653# Ring-0 Services (library, linked into VMMR0.r0)
654#
655ServicesR0_TEMPLATE = VBOXR0
656ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
657ServicesR0_SOURCES = \
658 Network/SrvIntNetR0.cpp
659
660#
661# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
662#
663ifdef VBOX_WITH_TESTCASES
664 PROGRAMS += tstIntNetR0
665 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
666 tstIntNetR0_DEFS = IN_INTNET_R0
667 tstIntNetR0_SOURCES = \
668 Network/testcase/tstIntNetR0.cpp
669endif
670
671#
672# EEPROM device unit test requires cppunit
673#
674ifdef VBOX_WITH_CPPUNIT_TESTCASES
675ifndef VBOX_OSE
676 PROGRAMS += tstDevEEPROM
677 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
678 tstDevEEPROM_SOURCES = \
679 Network/testcase/tstDevEEPROM.cpp
680 tstDevEEPROM_LIBS = \
681 $(TARGET_DevicesR3)
682endif
683endif
684
685include $(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