VirtualBox

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

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

forward port from 1.5: build vditool for Linux if BUILD_TYPE=l4

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