VirtualBox

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

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

Move lwIP header include directories to correct place, and also prepare for ISCSI transport using it.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 16.0 KB
Line 
1# $Id: Makefile.kmk 5939 2007-12-03 10:08:22Z 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 as published by the Free Software Foundation,
13# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14# distribution. VirtualBox OSE is distributed in the hope that it will
15# 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.x86 += _WIN32_WINNT=0x0500
452Drivers_DEFS.win.amd64 += _WIN32_WINNT=0x0510
453Drivers_INCS := \
454 $(PATH_SUB_CURRENT) \
455 Network/slirp
456Drivers_SOURCES = \
457 Audio/audio.c \
458 Audio/audiosniffer.c \
459 Audio/mixeng.c \
460 Audio/noaudio.c \
461 Input/DrvKeyboardQueue.cpp \
462 Input/DrvMouseQueue.cpp \
463 Network/DrvIntNet.cpp \
464 Network/DrvNAT.cpp \
465 Network/DrvNetSniffer.cpp \
466 Network/slirp/bootp.c \
467 Network/slirp/cksum.c \
468 Network/slirp/debug.c \
469 Network/slirp/if.c \
470 Network/slirp/ip_icmp.c \
471 Network/slirp/ip_input.c \
472 Network/slirp/ip_output.c \
473 Network/slirp/mbuf.c \
474 Network/slirp/misc.c \
475 Network/slirp/sbuf.c \
476 Network/slirp/slirp.c \
477 Network/slirp/socket.c \
478 Network/slirp/tcp_input.c \
479 Network/slirp/tcp_output.c \
480 Network/slirp/tcp_subr.c \
481 Network/slirp/tcp_timer.c \
482 Network/slirp/tftp.c \
483 Network/slirp/udp.c \
484 PC/DrvACPI.cpp \
485 Serial/DrvChar.cpp \
486 Serial/DrvNamedPipe.cpp \
487 Storage/DrvBlock.cpp \
488 Storage/DrvHostBase.cpp \
489 Storage/DrvHostDVD.cpp \
490 Storage/DrvHostFloppy.cpp \
491 Storage/DrvHostRawDisk.cpp \
492 Storage/DrvMediaISO.cpp \
493 Storage/DrvRawImage.cpp \
494 Storage/DrvVD.cpp \
495 Storage/DrvVmdk.cpp \
496 Storage/VBoxHDD.cpp
497
498# -- OS specific --
499
500ifeq ($(BUILD_TARGET),darwin)
501Drivers_SOURCES := $(filter-out \
502 Storage/DrvHostRaw% \
503 Storage/DrvHostFloppy% \
504 , $(Drivers_SOURCES)) \
505 Audio/coreaudio.c
506Drivers_SOURCES.darwin =
507endif # darwin
508
509ifeq ($(BUILD_TARGET),freebsd)
510Drivers_SOURCES := $(filter-out \
511 Storage/DrvHost% \
512 , $(Drivers_SOURCES))
513Drivers_SOURCES.freebsd =
514endif # freebsd
515
516
517ifeq ($(BUILD_TARGET),l4)
518Drivers_SOURCES = \
519 Input/DrvMouseQueue.cpp \
520 Input/DrvKeyboardQueue.cpp \
521 Storage/VBoxHDD.cpp \
522 Storage/DrvBlock.cpp \
523 Storage/DrvMediaISO.cpp \
524 Storage/DrvRawImage.cpp \
525 Storage/DrvHostBase.cpp \
526 Storage/DrvHostDVD.cpp \
527 Storage/DrvVD.cpp \
528 PC/DrvACPI.cpp \
529 Network/DrvIntNet.cpp \
530 Network/DrvNetSniffer.cpp \
531 Audio/audio.c \
532 Audio/mixeng.c \
533 Audio/noaudio.c \
534 Audio/audiosniffer.c
535
536Drivers_SOURCES.l4 = \
537 Network/DrvTAP.cpp \
538 Audio/ossaudio.c
539endif # l4
540
541Drivers_SOURCES.linux = \
542 Network/DrvTAP.cpp \
543 Audio/ossaudio.c \
544 Parallel/DrvHostParallel.cpp \
545 Serial/DrvHostSerial.cpp
546
547ifeq ($(BUILD_TARGET),os2)
548Drivers_SOURCES := $(filter-out \
549 Storage/DrvHost% \
550 , $(Drivers_SOURCES))
551Drivers_SOURCES.os2 = \
552 Network/DrvTAPOs2.cpp
553endif
554
555ifeq ($(BUILD_TARGET),solaris)
556Drivers_SOURCES := $(filter-out \
557 Storage/DrvHost% \
558 , $(Drivers_SOURCES))
559Drivers_SOURCES.solaris = \
560 Audio/solaudio.c \
561 Network/DrvTAP.cpp \
562 Storage/DrvHostBase.cpp \
563 Storage/DrvHostDVD.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_USB
600 Drivers_DEFS += VBOX_WITH_USB IN_USB_R3
601 Drivers_SOURCES += \
602 USB/DrvVUSBRootHub.cpp \
603 USB/VUSBDevice.cpp \
604 USB/VUSBUrb.cpp
605 ifdef VBOX_WITH_VRDP
606 Drivers_DEFS += VBOX_VRDP
607 Drivers_SOURCES += \
608 USB/vrdp/USBProxyDevice-vrdp.cpp
609 endif
610
611 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
612 #Drivers_DEFS.darwin += VBOX_WITH_USBFILTER
613 Drivers_SOURCES.darwin += \
614 USB/USBProxyDevice.cpp \
615 USB/darwin/USBProxyDevice-darwin.cpp
616
617 Drivers_DEFS.linux += VUSB_HAVE_USBPROXY_DEVICE
618 ifdef VBOX_WITHOUT_LINUX_COMPILER_H
619 Drivers_DEFS.linux += VBOX_WITHOUT_LINUX_COMPILER_H
620 endif
621 Drivers_SOURCES.linux+= \
622 USB/USBProxyDevice.cpp \
623 USB/linux/USBProxyDevice-linux.cpp
624
625 Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
626 Drivers_SOURCES.l4 += \
627 USB/USBProxyDevice.cpp \
628 USB/linux/USBProxyDevice-linux.cpp
629
630 Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
631 Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
632 Drivers_SOURCES.os2 += \
633 USB/USBProxyDevice.cpp \
634 USB/os2/USBProxyDevice-os2.cpp
635
636 Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
637 Drivers_SOURCES.win += \
638 USB/USBProxyDevice.cpp \
639 USB/win32/USBProxyDevice-win32.cpp
640endif # VBOX_WITH_USB
641
642
643
644#
645# Ring-0 Services (library, linked into VMMR0.r0)
646#
647ServicesR0_TEMPLATE = VBOXR0
648ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
649ServicesR0_SOURCES = \
650 Network/SrvIntNetR0.cpp
651
652#
653# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
654#
655ifdef VBOX_WITH_TESTCASES
656 PROGRAMS += tstIntNetR0
657 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
658 tstIntNetR0_DEFS = IN_INTNET_R0
659 tstIntNetR0_SOURCES = \
660 Network/testcase/tstIntNetR0.cpp
661endif
662
663#
664# EEPROM device unit test requires cppunit
665#
666ifdef VBOX_WITH_CPPUNIT_TESTCASES
667ifndef VBOX_OSE
668 PROGRAMS += tstDevEEPROM
669 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
670 tstDevEEPROM_SOURCES = \
671 Network/testcase/tstDevEEPROM.cpp
672 tstDevEEPROM_LIBS = \
673 $(TARGET_DevicesR3)
674endif
675endif
676
677include $(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