VirtualBox

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

最後變更 在這個檔案從5841是 5833,由 vboxsync 提交於 17 年 前

spaces.

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Id
檔案大小: 14.9 KB
 
1# $Id: Makefile.kmk 5833 2007-11-26 14:56:15Z 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.alldomusa.eu.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
116endif
117VBoxDD_LIBS = \
118 $(PATH_LIB)/DevicesR3$(VBOX_SUFF_LIB) \
119 $(PATH_LIB)/Drivers$(VBOX_SUFF_LIB) \
120 $(PATH_LIB)/PcDefBiosLogo$(VBOX_SUFF_LIB) \
121 $(LIB_VMM) \
122 $(LIB_RUNTIME)
123ifeq ($(BUILD_TARGET),win)
124 VBoxDD_LIBS += \
125 $(PATH_LIB)/VBoxDDU.lib \
126 $(PATH_LIB)/VBoxDD2.lib \
127 $(PATH_SDK_DXSDK_LIB)/dxguid.lib
128else
129 VBoxDD_LIBS += \
130 $(INSTARGET_VBoxDDU) \
131 $(INSTARGET_VBoxDD2)
132endif
133ifeq ($(BUILD_TARGET),l4)
134 VBoxDD_LIBS += \
135 $(L4_LIBDIR)/libl4sys.p.a
136endif
137ifeq ($(BUILD_TARGET),solaris)
138 VBoxDD_LIBS += adm
139 ifdef VBOX_WITH_CROSSBOW
140 VBoxDD_LIBS += dlpi
141 endif
142 ifdef VBOX_WITH_SUID_WRAPPER
143 VBoxDD_LIBS += secdb
144 endif
145endif
146VBoxDD_LIBS.darwin += \
147 $(LIB_REM)
148VBoxDD_LDFLAGS.darwin = -install_name @executable_path/VBoxDD.dylib \
149 -framework CoreAudio \
150 -framework IOKit \
151 -framework Carbon \
152 -framework DiskArbitration
153VBoxDD_LDFLAGS.linux = -Wl,--no-undefined
154VBoxDD_LDFLAGS.l4 = -Wl,--no-undefined
155
156
157# damn, fix this.
158ifeq ($(BUILD_TARGET),win)
159$(PATH_LIB)/VBoxDD2.lib: $(PATH_BIN)/VBoxDD2.dll
160$(PATH_LIB)/VBoxDDU.lib: $(PATH_BIN)/VBoxDDU.dll
161endif
162
163
164#
165# VBoxDD2 (shared object)
166#
167VBoxDD2_TEMPLATE = VBOXR3
168VBoxDD2_DEFS = IN_VBOXDD2
169VBoxDD2_INCS := \
170 $(PATH_SUB_CURRENT)
171VBoxDD2_SOURCES = \
172 Builtins2.cpp \
173 PC/DevAPIC.cpp
174VBoxDD2_LIBS = \
175 $(PATH_LIB)/PcBiosBin$(VBOX_SUFF_LIB) \
176 $(PATH_LIB)/VgaBiosBin$(VBOX_SUFF_LIB) \
177 $(PATH_LIB)/NetBiosBin$(VBOX_SUFF_LIB) \
178 $(LIB_VMM) \
179 $(LIB_RUNTIME)
180ifeq ($(BUILD_TARGET),l4)
181VBoxDD2_LIBS += \
182 $(L4_LIBDIR)/libl4sys.p.a
183endif
184VBoxDD2_LIBS.darwin += $(LIB_REM)
185VBoxDD2_LDFLAGS.darwin = -install_name @executable_path/VBoxDD2.dylib
186VBoxDD2_LDFLAGS.linux = -Wl,--no-undefined
187VBoxDD2_LDFLAGS.l4 = -Wl,--no-undefined
188
189
190#
191# DevicesR3 (library)
192#
193DevicesR3_TEMPLATE = VBOXR3
194DevicesR3_SDKS.win = WINPSDK W2K3DDK
195DevicesR3_INCS := \
196 $(PATH_SUB_CURRENT)
197DevicesR3_SOURCES = \
198 Input/DevPS2.cpp \
199 Bus/DevPCI.cpp \
200 Graphics/DevVGA.cpp \
201 Storage/DevATA.cpp \
202 PC/DevPit-i8254.cpp \
203 PC/DevPIC.cpp \
204 PC/DevACPI.cpp \
205 PC/DevRTC.cpp \
206 PC/DevPcBios.cpp \
207 PC/DevPcArch.c \
208 VMMDev/VBoxDev.cpp \
209 VMMDev/VMMDevHGCM.cpp \
210 Network/DevPCNet.cpp \
211 Audio/DevIchAc97.cpp \
212 PC/DevDMA.cpp \
213 Storage/fdc.c \
214 Serial/DevSerial.cpp \
215 Parallel/DevParallel.cpp
216
217ifndef VBOX_OSE
218DevicesR3_SOURCES += \
219 Network/DevE1000.cpp \
220 Network/DevE1000Phy.cpp \
221 Network/DevEEPROM.cpp
222DevicesR3_DEFS += VBOX_WITH_E1000
223endif
224
225ifdef VBOX_WITH_AHCI
226DevicesR3_DEFS += VBOX_WITH_AHCI IN_AHCI_R3
227DevicesR3_SOURCES += \
228 Storage/DevAHCI.cpp
229endif
230
231ifdef VBOX_WITH_USB
232DevicesR3_DEFS += VBOX_WITH_USB IN_USB_R3
233
234DevicesR3_SOURCES += \
235 USB/DevOHCI.cpp
236
237 ifdef VBOX_WITH_EHCI
238 DevicesR3_DEFS += VBOX_WITH_EHCI
239 DevicesR3_SOURCES += \
240 USB/DevEHCI.cpp
241 endif
242
243endif
244
245DevicesR3_DEFS += VBOX_HGCM
246DevicesR3_DEFS.linux += _GNU_SOURCE
247DevicesR3_DEFS.l4 += _GNU_SOURCE
248
249# DevACPI.cpp needs vboxaml.hex which we generate from PC/vbox.dsl.
250DevicesR3_CLEAN += $(PATH_TARGET)/vboxaml.hex $(PATH_TARGET)/vboxaml.aml
251PC/DevACPI.cpp_DEPS = $(PATH_TARGET)/vboxaml.hex
252PC/DevACPI.cpp_INCS = $(PATH_TARGET)
253
254$(PATH_TARGET)/vboxaml.hex: PC/vbox.dsl
255 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
256 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
257
258# For finding PCIInternal.h from VBox/pci.h.
259Bus/DevPCI.cpp_INCS = Bus
260
261# for finding vbetables.h
262Graphics/DevVGA.cpp_INCS = $(PATH_TARGET)
263
264
265
266#
267# VBoxDDGC (sysmod)
268#
269VBoxDDGC_TEMPLATE = VBOXGC
270VBoxDDGC_DEFS =
271VBoxDDGC_SYSSUFF = .gc
272VBoxDDGC_INCS := \
273 $(PATH_SUB_CURRENT)
274VBoxDDGC_SOURCES = \
275 Bus/DevPCI.cpp \
276 Graphics/DevVGA.cpp \
277 Input/DevPS2.cpp \
278 PC/DevACPI.cpp \
279 PC/DevPit-i8254.cpp \
280 PC/DevPIC.cpp \
281 PC/DevRTC.cpp \
282 Storage/DevATA.cpp \
283 Network/DevPCNet.cpp \
284 Serial/DevSerial.cpp \
285 Parallel/DevParallel.cpp
286
287ifdef VBOX_WITH_USB
288VBoxDDGC_DEFS += VBOX_WITH_USB IN_USB_GC
289VBoxDDGC_SOURCES += \
290 USB/DevOHCI.cpp
291
292 ifdef VBOX_WITH_EHCI
293 VBoxDDGC_DEFS += VBOX_WITH_EHCI
294 VBoxDDGC_SOURCES += \
295 USB/DevEHCI.cpp
296 endif
297
298endif
299
300ifdef VBOX_WITH_AHCI
301VBoxDDGC_DEFS += VBOX_WITH_AHCI IN_AHCI_GC
302VBoxDDGC_SOURCES += \
303 Storage/DevAHCI.cpp
304endif
305
306ifeq ($(VBOX_LDR_FMT32),pe)
307VBoxDDGC_LDFLAGS = -Entry:vgaMMIOWrite
308endif
309ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
310VBoxDDGC_LIBS = \
311 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
312 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
313endif
314
315
316#
317# VBoxDDR0 (sysmod)
318#
319VBoxDDR0_TEMPLATE = VBOXR0
320VBoxDDR0_SYSSUFF = .r0
321VBoxDDR0_DEFS = IN_RT_R0
322VBoxDDR0_INCS := \
323 $(PATH_SUB_CURRENT)
324VBoxDDR0_SOURCES = \
325 Bus/DevPCI.cpp \
326 Graphics/DevVGA.cpp \
327 Input/DevPS2.cpp \
328 PC/DevACPI.cpp \
329 PC/DevPit-i8254.cpp \
330 PC/DevPIC.cpp \
331 PC/DevRTC.cpp \
332 Storage/DevATA.cpp \
333 Network/DevPCNet.cpp \
334 Serial/DevSerial.cpp \
335 Parallel/DevParallel.cpp
336
337ifdef VBOX_WITH_USB
338VBoxDDR0_DEFS += VBOX_WITH_USB IN_USB_R0
339VBoxDDR0_SOURCES += \
340 USB/DevOHCI.cpp
341
342 ifdef VBOX_WITH_EHCI
343 VBoxDDR0_DEFS += VBOX_WITH_EHCI
344 VBoxDDR0_SOURCES += \
345 USB/DevEHCI.cpp
346 endif
347endif
348
349ifdef VBOX_WITH_AHCI
350VBoxDDR0_DEFS += VBOX_WITH_AHCI IN_AHCI_R0
351VBoxDDR0_SOURCES += \
352 Storage/DevAHCI.cpp
353endif
354
355ifeq ($(VBOX_LDR_FMT32),pe)
356VBoxDDR0_LDFLAGS = -Entry:vgaMMIOWrite
357endif
358ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
359VBoxDDR0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
360endif
361VBoxDDR0_LIBS += $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
362ifeq ($(VBOX_LDR_FMT32),elf) # this is template stuff!
363VBoxDDR0_LIBS += $(VBOX_GCC_LIBGCC)
364endif
365
366
367#
368# VBoxDD2GC (LGPL sysmod)
369#
370VBoxDD2GC_TEMPLATE = VBOXGC
371VBoxDD2GC_DEFS =
372VBoxDD2GC_SYSSUFF = .gc
373VBoxDD2GC_INCS := \
374 $(PATH_SUB_CURRENT)
375VBoxDD2GC_SOURCES = \
376 PC/DevAPIC.cpp
377ifeq ($(VBOX_LDR_FMT32),pe)
378VBoxDD2GC_LDFLAGS = -Entry:apicMMIOWrite
379endif
380ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
381VBoxDD2GC_LIBS = \
382 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
383 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
384endif
385
386
387#
388# VBoxDD2R0 (LGPL sysmod)
389#
390VBoxDD2R0_TEMPLATE = VBOXR0
391VBoxDD2R0_DEFS = IN_RT_R0
392VBoxDD2R0_SYSSUFF = .r0
393VBoxDD2R0_INCS := \
394 $(PATH_SUB_CURRENT)
395VBoxDD2R0_SOURCES = \
396 PC/DevAPIC.cpp
397ifeq ($(VBOX_LDR_FMT),pe)
398VBoxDD2R0_LDFLAGS = -Entry:apicMMIOWrite
399endif
400ifneq ($(filter pe lx,$(VBOX_LDR_FMT)),)
401VBoxDD2R0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
402endif
403VBoxDD2R0_LIBS += $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB)
404ifeq ($(VBOX_LDR_FMT),elf)
405VBoxDD2R0_LIBS += $(VBOX_GCC_LIBGCC)
406endif
407
408
409#
410# Drivers (library)
411#
412ifeq ($(BUILD_TARGET),l4) # We are using real Linux headers, not the cleaned up user space ones
413Drivers_TEMPLATE = VBOXR3NP
414else
415Drivers_TEMPLATE = VBOXR3
416endif
417Drivers_SDKS.win = WINPSDK W2K3DDK
418Storage/DrvHostDVD.cpp_SDKS.win = W2K3DDK
419Drivers_DEFS = IN_IDE_R3
420Drivers_DEFS.win.x86 += _WIN32_WINNT=0x0500
421Drivers_DEFS.win.amd64 += _WIN32_WINNT=0x0510
422Drivers_INCS := \
423 $(PATH_SUB_CURRENT) \
424 Network/slirp
425Drivers_SOURCES = \
426 Audio/audio.c \
427 Audio/audiosniffer.c \
428 Audio/mixeng.c \
429 Audio/noaudio.c \
430 Input/DrvKeyboardQueue.cpp \
431 Input/DrvMouseQueue.cpp \
432 Network/DrvIntNet.cpp \
433 Network/DrvNAT.cpp \
434 Network/DrvNetSniffer.cpp \
435 Network/slirp/bootp.c \
436 Network/slirp/cksum.c \
437 Network/slirp/debug.c \
438 Network/slirp/if.c \
439 Network/slirp/ip_icmp.c \
440 Network/slirp/ip_input.c \
441 Network/slirp/ip_output.c \
442 Network/slirp/mbuf.c \
443 Network/slirp/misc.c \
444 Network/slirp/sbuf.c \
445 Network/slirp/slirp.c \
446 Network/slirp/socket.c \
447 Network/slirp/tcp_input.c \
448 Network/slirp/tcp_output.c \
449 Network/slirp/tcp_subr.c \
450 Network/slirp/tcp_timer.c \
451 Network/slirp/tftp.c \
452 Network/slirp/udp.c \
453 PC/DrvACPI.cpp \
454 Serial/DrvChar.cpp \
455 Serial/DrvNamedPipe.cpp \
456 Storage/DrvBlock.cpp \
457 Storage/DrvHostBase.cpp \
458 Storage/DrvHostDVD.cpp \
459 Storage/DrvHostFloppy.cpp \
460 Storage/DrvHostRawDisk.cpp \
461 Storage/DrvMediaISO.cpp \
462 Storage/DrvRawImage.cpp \
463 Storage/DrvVD.cpp \
464 Storage/DrvVmdk.cpp \
465 Storage/VBoxHDD.cpp
466
467# -- OS specific --
468
469ifeq ($(BUILD_TARGET),darwin)
470Drivers_SOURCES := $(filter-out \
471 Storage/DrvHostRaw% \
472 Storage/DrvHostFloppy% \
473 , $(Drivers_SOURCES)) \
474 Audio/coreaudio.c
475Drivers_SOURCES.darwin =
476endif # darwin
477
478ifeq ($(BUILD_TARGET),freebsd)
479Drivers_SOURCES := $(filter-out \
480 Storage/DrvHost% \
481 , $(Drivers_SOURCES))
482Drivers_SOURCES.freebsd =
483endif # freebsd
484
485
486ifeq ($(BUILD_TARGET),l4)
487Drivers_SOURCES = \
488 Input/DrvMouseQueue.cpp \
489 Input/DrvKeyboardQueue.cpp \
490 Storage/VBoxHDD.cpp \
491 Storage/DrvBlock.cpp \
492 Storage/DrvMediaISO.cpp \
493 Storage/DrvRawImage.cpp \
494 Storage/DrvHostBase.cpp \
495 Storage/DrvHostDVD.cpp \
496 Storage/DrvVD.cpp \
497 PC/DrvACPI.cpp \
498 Network/DrvIntNet.cpp \
499 Network/DrvNetSniffer.cpp \
500 Audio/audio.c \
501 Audio/mixeng.c \
502 Audio/noaudio.c \
503 Audio/audiosniffer.c
504
505Drivers_SOURCES.l4 = \
506 Network/DrvTAP.cpp \
507 Audio/ossaudio.c
508endif # l4
509
510Drivers_SOURCES.linux = \
511 Network/DrvTAP.cpp \
512 Audio/ossaudio.c \
513 Parallel/DrvHostParallel.cpp \
514 Serial/DrvHostSerial.cpp
515
516ifeq ($(BUILD_TARGET),os2)
517Drivers_SOURCES := $(filter-out \
518 Storage/DrvHost% \
519 , $(Drivers_SOURCES))
520Drivers_SOURCES.os2 = \
521 Network/DrvTAPOs2.cpp
522endif
523
524ifeq ($(BUILD_TARGET),solaris)
525Drivers_SOURCES := $(filter-out \
526 Storage/DrvHost% \
527 , $(Drivers_SOURCES))
528Drivers_SOURCES.solaris = \
529 Audio/solaudio.c \
530 Network/DrvTAP.cpp \
531 Storage/DrvHostBase.cpp \
532 Storage/DrvHostDVD.cpp
533 ifdef VBOX_WITH_CROSSBOW
534 Drivers_DEFS += VBOX_WITH_CROSSBOW
535 endif
536 ifdef VBOX_WITH_SUID_WRAPPER
537 Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
538 endif
539endif
540
541Drivers_SOURCES.win = \
542 Network/DrvTAPWin32.cpp \
543 Audio/dsoundaudio.c \
544 Serial/DrvHostSerial.cpp
545
546
547# -- features --
548
549ifdef VBOX_WITH_ISCSI
550 Drivers_SOURCES += \
551 Storage/DrvISCSI.cpp \
552 Storage/DrvISCSITransportTCP.cpp
553 Drivers_DEFS += VBOX_WITH_ISCSI
554endif # VBOX_WITH_ISCSI
555
556ifdef VBOX_WITH_ALSA
557 Drivers_DEFS.linux += VBOX_WITH_ALSA
558 Drivers_SOURCES.linux+= \
559 Audio/alsaaudio.c \
560 Audio/alsa_stubs.c
561# VBoxDD_LIBS.linux += asound
562endif
563
564ifdef VBOX_WITH_USB
565 Drivers_DEFS += VBOX_WITH_USB IN_USB_R3
566 Drivers_SOURCES += \
567 USB/DrvVUSBRootHub.cpp \
568 USB/VUSBDevice.cpp \
569 USB/VUSBUrb.cpp
570 ifdef VBOX_WITH_VRDP
571 Drivers_DEFS += VBOX_VRDP
572 Drivers_SOURCES += \
573 USB/vrdp/USBProxyDevice-vrdp.cpp
574 endif
575
576 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
577 #Drivers_DEFS.darwin += VBOX_WITH_USBFILTER
578 Drivers_SOURCES.darwin += \
579 USB/USBProxyDevice.cpp \
580 USB/darwin/USBProxyDevice-darwin.cpp
581
582 Drivers_DEFS.linux += VUSB_HAVE_USBPROXY_DEVICE
583 ifdef VBOX_WITHOUT_LINUX_COMPILER_H
584 Drivers_DEFS.linux += VBOX_WITHOUT_LINUX_COMPILER_H
585 endif
586 Drivers_SOURCES.linux+= \
587 USB/USBProxyDevice.cpp \
588 USB/linux/USBProxyDevice-linux.cpp
589
590 Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
591 Drivers_SOURCES.l4 += \
592 USB/USBProxyDevice.cpp \
593 USB/linux/USBProxyDevice-linux.cpp
594
595 Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
596 Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
597 Drivers_SOURCES.os2 += \
598 USB/USBProxyDevice.cpp \
599 USB/os2/USBProxyDevice-os2.cpp
600
601 Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
602 Drivers_SOURCES.win += \
603 USB/USBProxyDevice.cpp \
604 USB/win32/USBProxyDevice-win32.cpp
605endif # VBOX_WITH_USB
606
607
608
609#
610# Ring-0 Services (library, linked into VMMR0.r0)
611#
612ServicesR0_TEMPLATE = VBOXR0
613ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
614ServicesR0_SOURCES = \
615 Network/SrvIntNetR0.cpp
616
617#
618# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
619#
620ifdef VBOX_WITH_TESTCASES
621 PROGRAMS += tstIntNetR0
622 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
623 tstIntNetR0_DEFS = IN_INTNET_R0
624 tstIntNetR0_SOURCES = \
625 Network/testcase/tstIntNetR0.cpp
626endif
627
628#
629# EEPROM device unit test requires cppunit
630#
631ifdef VBOX_WITH_CPPUNIT_TESTCASES
632ifndef VBOX_OSE
633 PROGRAMS += tstDevEEPROM
634 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
635 tstDevEEPROM_SOURCES = \
636 Network/testcase/tstDevEEPROM.cpp
637 tstDevEEPROM_LIBS = \
638 $(TARGET_DevicesR3)
639endif
640endif
641
642include $(PATH_KBUILD)/subfooter.kmk
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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