VirtualBox

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

Last change on this file since 23875 was 23659, checked in by vboxsync, 15 years ago

wrong place

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 27.4 KB
Line 
1# $Id: Makefile.kmk 23659 2009-10-09 18:03:21Z vboxsync $
2## @file
3# Top-level makefile for the devices, drivers and services.
4#
5
6#
7# Copyright (C) 2006-2007 Sun Microsystems, Inc.
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# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18# Clara, CA 95054 USA or visit http://www.sun.com if you need
19# additional information or have any questions.
20#
21
22SUB_DEPTH = ../../..
23include $(KBUILD_PATH)/subheader.kmk
24
25
26VBOX_PATH_DEVICES_SRC := $(PATH_SUB_CURRENT)
27
28# Include sub-makefiles.
29include $(PATH_SUB_CURRENT)/PC/BIOS/Makefile.kmk
30ifdef VBOX_WITH_VMI
31 include $(PATH_SUB_CURRENT)/PC/VMI/Makefile.kmk
32endif
33include $(PATH_SUB_CURRENT)/Graphics/BIOS/Makefile.kmk
34include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
35include $(PATH_SUB_CURRENT)/Storage/testcase/Makefile.kmk
36ifndef VBOX_OSE
37 include $(PATH_SUB_CURRENT)/Storage/VBoxHDDFormats/Makefile.kmk
38endif
39ifdef VBOX_WITH_EFI
40 include $(PATH_SUB_CURRENT)/EFI/Thunk/Makefile.kmk
41endif
42ifdef VBOX_WITH_INTEL_PXE
43 include $(PATH_SUB_CURRENT)/PC/PXE/Makefile.kmk
44else
45 # Subdir with complex makefile.
46 SUBDIRS_LIBRARIES += $(VBOX_PATH_DEVICES_SRC)/PC/Etherboot-src
47 SUBDIRS_CLEAN += $(VBOX_PATH_DEVICES_SRC)/PC/Etherboot-src
48 # Disable the unsafe pass order optimizations.
49 KBUILD_SAFE_PARALLEL = 1
50endif
51
52#
53# Main targets.
54#
55LIBRARIES += DevicesR3 Drivers ServicesR0
56DLLS += VBoxDDU VBoxDD VBoxDD2
57SYSMODS += VBoxDDGC VBoxDD2GC VBoxDDR0 VBoxDD2R0
58
59
60#
61# VBoxDDU (shared object)
62#
63VBoxDDU_TEMPLATE = VBOXR3
64VBoxDDU_NAME = $(basename $(notdir $(LIB_DDU)))
65VBoxDDU_INST.darwin = $(INST_DLL) $(INST_TESTCASE)
66VBoxDDU_DEFS = IN_VBOXDDU
67ifdef VBOX_WITH_USB
68 VBoxDDU_DEFS += VBOX_WITH_USB IN_USBLIB
69 VBoxDDU_SDKS.win = WINPSDK W2K3DDK
70 ifdef VBOX_WITH_EHCI
71 VBoxDDU_DEFS += VBOX_WITH_EHCI
72 endif
73 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
74 VBoxDDU_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
75 endif
76else
77 VBoxDDU_SDKS.win = WINPSDK
78endif
79ifdef VBOX_WITH_NEW_IO_CODE
80 VBoxDDU_DEFS += VBOX_WITH_NEW_IO_CODE
81endif
82VBoxDDU_SOURCES = \
83 Storage/VBoxHDD.cpp \
84 Storage/VDIHDDCore.cpp \
85 Storage/VHDHDDCore.cpp \
86 Storage/VmdkHDDCore.cpp \
87 Storage/RawHDDCore.cpp \
88 Storage/ParallelsHDDCore.cpp \
89 VBoxDDUDeps.cpp
90ifdef VBOX_WITH_USB
91 VBoxDDU_INCS.os2 += \
92 $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
93endif
94VBoxDDU_LIBS = \
95 $(LIB_RUNTIME)
96ifdef VBOX_WITH_USB
97 VBoxDDU_LIBS += \
98 $(PATH_LIB)/USBLib$(VBOX_SUFF_LIB)
99endif
100ifeq ($(KBUILD_TARGET),l4)
101 VBoxDDU_LIBS += \
102 $(L4_LIBDIR)/libl4sys.p.a
103endif
104VBoxDDU_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDDU.dylib
105ifdef VBOX_WITH_USB
106 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
107 VBoxDDU_LDFLAGS.darwin += -framework IOKit
108 endif
109endif
110
111VBoxDDU_LDFLAGS.linux = -Wl,--no-undefined
112VBoxDDU_LDFLAGS.l4 = -Wl,--no-undefined
113
114#
115# VBoxDDULnxHostR3 (Only needed for l4, currently for executing vditool on L4Linux.)
116#
117ifeq ($(KBUILD_TARGET),l4)
118 LIBRARIES += VBoxDDULnxHostR3
119 VBoxDDULnxHostR3_TEMPLATE = VBOXLNXHOSTR3LIB
120 VBoxDDULnxHostR3_DEFS = IN_VBOXDDU
121 VBoxDDULnxHostR3_SOURCES = $(VBoxDDU_SOURCES)
122endif
123
124#
125# VBoxDD (shared object)
126#
127VBoxDD_TEMPLATE = VBOXR3
128ifdef VBOX_WITH_DTRACE_R3
129 VBoxDD_TEMPLATE = VBOXR3OSX105
130endif
131VBoxDD_SDKS.win = WINPSDK DXSDK W2K3DDK VBOX_NTDLL
132VBoxDD_SOURCES = \
133 Builtins.cpp
134VBoxDD_DEFS = VBOX_ACPI
135ifdef VBOX_WITH_USB
136 VBoxDD_DEFS += VBOX_WITH_USB IN_USB_R3
137 ifdef VBOX_WITH_EHCI
138 VBoxDD_DEFS += VBOX_WITH_EHCI
139 endif
140endif
141ifdef VBOX_WITH_AHCI
142 VBoxDD_DEFS += VBOX_WITH_AHCI
143endif
144ifdef VBOX_WITH_ISCSI
145 VBoxDD_DEFS += VBOX_WITH_ISCSI
146 ifdef VBOX_WITH_INIP
147 VBoxDD_DEFS += VBOX_WITH_INIP
148 endif
149endif
150ifdef VBOX_WITH_E1000
151 VBoxDD_DEFS += VBOX_WITH_E1000
152endif
153ifdef VBOX_WITH_VIRTIO
154 VBoxDD_DEFS += VBOX_WITH_VIRTIO
155endif
156ifdef VBOX_WITH_BUSLOGIC
157 VBoxDD_DEFS += VBOX_WITH_BUSLOGIC
158endif
159ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
160 VBoxDD_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
161endif
162ifdef VBOX_WITH_SCSI
163 VBoxDD_DEFS += VBOX_WITH_SCSI
164endif
165ifdef VBOX_WITH_LSILOGIC
166 VBoxDD_DEFS += VBOX_WITH_LSILOGIC
167endif
168ifdef VBOX_WITH_HPET
169 VBoxDD_DEFS += VBOX_WITH_HPET
170endif
171ifdef VBOX_WITH_SMC
172 VBoxDD_DEFS += VBOX_WITH_SMC
173endif
174ifdef VBOX_WITH_LPC
175 VBoxDD_DEFS += VBOX_WITH_LPC
176endif
177ifdef VBOX_WITH_EFI
178 VBoxDD_DEFS += VBOX_WITH_EFI
179endif
180ifdef VBOX_WITH_FAULT_INJECTION
181 VBoxDD_DEFS += VBOX_WITH_FAULT_INJECTION
182endif
183
184VBoxDD_LIBS = \
185 $(PATH_LIB)/DevicesR3$(VBOX_SUFF_LIB) \
186 $(PATH_LIB)/Drivers$(VBOX_SUFF_LIB) \
187 $(PATH_LIB)/VgaDefBiosLogo$(VBOX_SUFF_LIB) \
188 $(LIB_VMM) \
189 $(LIB_RUNTIME)
190ifeq ($(KBUILD_TARGET),win)
191 VBoxDD_LIBS += \
192 $(LIB_DDU) \
193 $(PATH_LIB)/VBoxDD2.lib \
194 $(PATH_SDK_DXSDK_LIB)/dxguid.lib
195else
196 VBoxDD_LIBS += \
197 $(INSTARGET_VBoxDDU) \
198 $(INSTARGET_VBoxDD2)
199endif
200ifeq ($(KBUILD_TARGET),l4)
201 VBoxDD_LIBS += \
202 $(L4_LIBDIR)/libl4sys.p.a
203endif
204
205ifdef VBOX_WITH_HGSMI
206 VBoxDD_LIBS += \
207 $(PATH_LIB)/HGSMIHostR3Lib$(VBOX_SUFF_LIB)
208endif
209
210ifdef VBOX_WITH_NETFLT
211 VBoxDD_LIBS.win += $(PATH_LIB)/WinNetConfig.lib
212endif
213
214ifdef VBOX_WITH_EFI
215 VBoxDD_LIBS += $(PATH_LIB)/EfiThunkBin$(VBOX_SUFF_LIB)
216endif
217
218ifeq ($(KBUILD_TARGET),solaris)
219 VBoxDD_LIBS += adm
220 ifdef VBOX_WITH_SUID_WRAPPER
221 VBoxDD_LIBS += secdb
222 endif
223 ifdef VBOX_WITH_USB
224 VBoxDD_LIBS += aio
225 endif
226endif
227
228VBoxDD_LIBS.darwin += \
229 $(LIB_REM)
230
231VBoxDD_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDD.dylib \
232 -framework CoreAudio \
233 -framework IOKit \
234 -framework Carbon \
235 -framework DiskArbitration
236VBoxDD_LDFLAGS.linux = -Wl,--no-undefined
237VBoxDD_LDFLAGS.l4 = -Wl,--no-undefined
238
239#
240# VBoxDD2 (shared object)
241#
242VBoxDD2_TEMPLATE = VBOXR3
243VBoxDD2_DEFS = IN_VBOXDD2 \
244 $(if $(VBOX_WITH_VMI),VBOX_WITH_VMI,)
245VBoxDD2_INCS := \
246 $(PATH_SUB_CURRENT)
247VBoxDD2_SOURCES = \
248 Builtins2.cpp \
249 PC/DevAPIC.cpp
250VBoxDD2_LIBS = \
251 $(PATH_LIB)/PcBiosBin$(VBOX_SUFF_LIB) \
252 $(PATH_LIB)/VgaBiosBin$(VBOX_SUFF_LIB) \
253 $(PATH_LIB)/NetBiosBin$(VBOX_SUFF_LIB) \
254 $(if $(VBOX_WITH_VMI),$(PATH_LIB)/VmiBiosBin$(VBOX_SUFF_LIB)) \
255 $(LIB_VMM) \
256 $(LIB_RUNTIME)
257ifeq ($(KBUILD_TARGET),l4)
258VBoxDD2_LIBS += \
259 $(L4_LIBDIR)/libl4sys.p.a
260endif
261VBoxDD2_LIBS.darwin += $(LIB_REM)
262VBoxDD2_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDD2.dylib
263VBoxDD2_LDFLAGS.linux = -Wl,--no-undefined
264VBoxDD2_LDFLAGS.l4 = -Wl,--no-undefined
265
266
267#
268# DevicesR3 (library)
269#
270DevicesR3_TEMPLATE = VBOXR3
271DevicesR3_SDKS.win = WINPSDK W2K3DDK
272DevicesR3_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
273DevicesR3_DEFS += VBOX_HGCM_HOST_CODE \
274 $(if $(VBOX_WITH_VMI),VBOX_WITH_VMI,)
275DevicesR3_DEFS += VBOX_WITH_HGCM
276DevicesR3_DEFS.linux += _GNU_SOURCE
277DevicesR3_DEFS.l4 += _GNU_SOURCE
278
279DevicesR3_INCS = \
280 .
281
282DevicesR3_SOURCES = \
283 Input/DevPS2.cpp \
284 Bus/DevPCI.cpp \
285 Graphics/DevVGA.cpp \
286 Storage/DevATA.cpp \
287 PC/DevPit-i8254.cpp \
288 PC/DevPIC.cpp \
289 PC/DevACPI.cpp \
290 PC/ACPI/VBoxAcpi.cpp \
291 PC/DevRTC.cpp \
292 PC/DevPcBios.cpp \
293 PC/DevPcArch.c \
294 VMMDev/VMMDev.cpp \
295 VMMDev/VMMDevHGCM.cpp \
296 Network/DevPCNet.cpp \
297 Audio/DevIchAc97.cpp \
298 Audio/DevSB16.cpp \
299 PC/DevDMA.cpp \
300 Storage/fdc.c \
301 Serial/DevSerial.cpp \
302 Parallel/DevParallel.cpp
303
304ifdef VBOX_DYNAMIC_NET_ATTACH
305 DevicesR3_DEFS += VBOX_DYNAMIC_NET_ATTACH
306endif
307
308ifdef VBOX_WITH_E1000
309 DevicesR3_DEFS += VBOX_WITH_E1000
310 DevicesR3_SOURCES += \
311 Network/DevE1000.cpp \
312 Network/DevE1000Phy.cpp \
313 Network/DevEEPROM.cpp
314endif
315
316ifdef VBOX_WITH_VIRTIO
317 DevicesR3_DEFS += VBOX_WITH_VIRTIO
318 DevicesR3_SOURCES += \
319 Network/DevVirtioNet.cpp
320endif
321
322ifdef VBOX_WITH_HGSMI
323 DevicesR3_DEFS += VBOX_WITH_HGSMI
324 DevicesR3_SOURCES += \
325 Graphics/DevVGA_VBVA.cpp \
326 Graphics/HGSMI/HGSMIHost.cpp \
327 Graphics/HGSMI/HGSMIHostHlp.cpp
328
329endif
330ifdef VBOX_WITH_VIDEOHWACCEL
331 DevicesR3_DEFS += VBOX_WITH_VIDEOHWACCEL
332endif
333ifdef VBOX_WITH_DMI_CHASSIS
334 DevicesR3_DEFS += VBOX_WITH_DMI_CHASSIS
335endif
336ifdef VBOX_WITH_DMI_OEMSTRINGS
337 DevicesR3_DEFS += VBOX_WITH_DMI_OEMSTRINGS
338endif
339
340ifdef VBOX_WITH_INIP
341DevicesR3_INCS += \
342 Network/lwip/src/include \
343 Network/lwip/src/include/ipv4 \
344 Network/lwip/vbox/include
345DevicesR3_SOURCES += \
346 Network/lwip/src/api/api_lib.c \
347 Network/lwip/src/api/api_msg.c \
348 Network/lwip/src/api/err.c \
349 Network/lwip/src/api/sockets.c \
350 Network/lwip/src/api/tcpip.c \
351 Network/lwip/src/core/tcp_in.c \
352 Network/lwip/src/core/dhcp.c \
353 Network/lwip/src/core/inet.c \
354 Network/lwip/src/core/mem.c \
355 Network/lwip/src/core/memp.c \
356 Network/lwip/src/core/netif.c \
357 Network/lwip/src/core/pbuf.c \
358 Network/lwip/src/core/raw.c \
359 Network/lwip/src/core/stats.c \
360 Network/lwip/src/core/sys.c \
361 Network/lwip/src/core/tcp.c \
362 Network/lwip/src/core/ipv4/ip_addr.c \
363 Network/lwip/src/core/ipv4/icmp.c \
364 Network/lwip/src/core/ipv4/ip.c \
365 Network/lwip/src/core/ipv4/ip_frag.c \
366 Network/lwip/src/core/tcp_out.c \
367 Network/lwip/src/core/udp.c \
368 Network/lwip/src/netif/etharp.c \
369 Network/lwip/vbox/sys_arch.c \
370 Network/DevINIP.cpp
371DevicesR3_DEFS += VBOX_WITH_INIP
372endif
373
374ifdef VBOX_WITH_AHCI
375DevicesR3_DEFS += VBOX_WITH_AHCI IN_AHCI_R3
376DevicesR3_SOURCES += \
377 Storage/DevAHCI.cpp \
378 Storage/ATAController.cpp
379endif
380
381ifdef VBOX_WITH_BUSLOGIC
382DevicesR3_DEFS += VBOX_WITH_BUSLOGIC
383DevicesR3_SOURCES += \
384 Storage/DevBusLogic.cpp \
385 Storage/VBoxSCSI.cpp
386endif
387
388ifdef VBOX_WITH_LSILOGIC
389DevicesR3_DEFS += VBOX_WITH_LSILOGIC
390DevicesR3_SOURCES += \
391 Storage/DevLsiLogicSCSI.cpp
392endif
393
394ifdef VBOX_WITH_HPET
395DevicesR3_DEFS += VBOX_WITH_HPET
396DevicesR3_SOURCES += PC/DevHPET.cpp
397endif
398
399ifdef VBOX_WITH_SMC
400DevicesR3_DEFS += VBOX_WITH_SMC
401DevicesR3_SOURCES += PC/DevSMC.cpp
402endif
403
404ifdef VBOX_WITH_LPC
405DevicesR3_DEFS += VBOX_WITH_LPC
406DevicesR3_SOURCES += PC/DevLPC.cpp
407endif
408
409ifdef VBOX_WITH_EFI
410DevicesR3_DEFS += VBOX_WITH_EFI
411 ifdef VBOX_WITH_ALT_EFITHUNK
412 DevicesR3_DEFS += VBOX_WITH_ALT_EFITHUNK
413 endif
414DevicesR3_SOURCES += EFI/DevEFI.cpp
415EFI/DevEFI.cpp_INCS += EFI/tools/include
416EFI/DevEFI.cpp_INCS.x86 += EFI/tools/include/Ia32
417EFI/DevEFI.cpp_INCS.amd64 += EFI/tools/include/X64
418endif
419
420ifdef VBOX_WITH_DYNAMIC_DSDT
421DevicesR3_DEFS += VBOX_WITH_DYNAMIC_DSDT
422endif
423
424ifdef VBOX_WITH_USB
425DevicesR3_DEFS += VBOX_WITH_USB IN_USB_R3
426
427DevicesR3_SOURCES += \
428 USB/DevOHCI.cpp
429
430 ifdef VBOX_WITH_EHCI
431 DevicesR3_DEFS += VBOX_WITH_EHCI
432 DevicesR3_SOURCES += \
433 USB/DevEHCI.cpp
434 endif
435endif
436
437ifdef VBOX_WITH_DTRACE_R3
438 DevicesR3_TEMPLATE = VBOXR3OSX105
439 DevicesR3_DEFS += VBOX_WITH_DTRACE
440 DevicesR3_INCS += $(DevicesR3_0_OUTDIR)
441 DevicesR3_INTERMEDIATES += $(DevicesR3_0_OUTDIR)/VBoxDD-dtrace.h
442 $$(DevicesR3_0_OUTDIR)/VBoxDD-dtrace.h: $(PATH_CURRENT)/VBoxDD-dtrace.d | $$(dir $$@)
443 dtrace -C -h -o $@ -s $<
444endif
445
446ifdef VBOX_WITH_DYNAMIC_DSDT
447 DevicesR3_CLEAN += $(PATH_DevicesR3)/vboxdsl.hex
448 PC/ACPI/VBoxAcpi.cpp_DEPS = $(PATH_DevicesR3)/vboxdsl.hex
449
450 $$(PATH_DevicesR3)/vboxdsl.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
451 $(call MSG_TOOL,bin2c,DevicesR3,$<,$@)
452 $(QUIET)$(VBOX_BIN2C) -export VboxDslSource $< $@
453
454 vboxdsl.hex:: $$(PATH_DevicesR3)/vboxdsl.hex
455
456else # !VBOX_WITH_DYNAMIC_DSDT
457 # VBoxAcpi.cpp needs vboxaml.hex which we generate from PC/vbox.dsl
458 DevicesR3_CLEAN += $(PATH_DevicesR3)/vboxaml.hex $(PATH_DevicesR3)/vboxaml.aml
459 PC/ACPI/VBoxAcpi.cpp_DEPS = $(PATH_DevicesR3)/vboxaml.hex
460
461 $$(PATH_DevicesR3)/vboxaml.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
462 $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
463 $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
464
465 vboxaml.hex:: $$(PATH_DevicesR3)/vboxaml.hex
466
467endif # !VBOX_WITH_DYNAMIC_DSDT
468PC/ACPI/VBoxAcpi.cpp_INCS = $(PATH_DevicesR3)
469
470# For finding PCIInternal.h from VBox/pci.h.
471Bus/DevPCI.cpp_INCS = Bus
472
473# For finding and generating vbetables.h (see Graphics/BIOS/Makefile.kmk).
474Graphics/DevVGA.cpp_INCS = $(PATH_VgaBiosBin)
475Graphics/DevVGA.cpp_DEPS = $(PATH_VgaBiosBin)/vbetables.h
476
477
478#
479# VBoxDDGC (sysmod)
480#
481VBoxDDGC_TEMPLATE = VBOXGC
482VBoxDDGC_SYSSUFF = .gc
483ifeq ($(KBUILD_TARGET_ARCH),x86)
484 VBoxDDGC_DEFS.darwin = VBOX_WITH_2X_4GB_ADDR_SPACE
485endif
486VBoxDDGC_DEFS =
487VBoxDDGC_INCS := \
488 $(PATH_SUB_CURRENT)
489VBoxDDGC_SOURCES = \
490 Bus/DevPCI.cpp \
491 Graphics/DevVGA.cpp \
492 Input/DevPS2.cpp \
493 PC/DevACPI.cpp \
494 PC/DevPit-i8254.cpp \
495 PC/DevPIC.cpp \
496 PC/DevRTC.cpp \
497 Storage/DevATA.cpp \
498 Network/DevPCNet.cpp \
499 Serial/DevSerial.cpp \
500 Parallel/DevParallel.cpp
501
502ifdef VBOX_DYNAMIC_NET_ATTACH
503 VBoxDDGC_DEFS += VBOX_DYNAMIC_NET_ATTACH
504endif
505
506ifdef VBOX_WITH_E1000
507 VBoxDDGC_DEFS += VBOX_WITH_E1000
508 VBoxDDGC_SOURCES += \
509 Network/DevE1000.cpp \
510 Network/DevE1000Phy.cpp
511endif
512
513ifdef VBOX_WITH_VIRTIO
514 VBoxDDGC_DEFS += VBOX_WITH_VIRTIO
515 VBoxDDGC_SOURCES += \
516 Network/DevVirtioNet.cpp
517endif
518
519ifdef VBOX_WITH_HGSMI
520 VBoxDDGC_DEFS += VBOX_WITH_HGSMI
521endif
522
523ifdef VBOX_WITH_USB
524VBoxDDGC_DEFS += VBOX_WITH_USB IN_USB_GC
525VBoxDDGC_SOURCES += \
526 USB/DevOHCI.cpp
527
528 ifdef VBOX_WITH_EHCI
529 VBoxDDGC_DEFS += VBOX_WITH_EHCI
530 VBoxDDGC_SOURCES += \
531 USB/DevEHCI.cpp
532 endif
533
534endif
535
536ifdef VBOX_WITH_HGSMI
537 VBoxDDGC_DEFS += VBOX_WITH_HGSMI
538endif
539ifdef VBOX_WITH_VIDEOHWACCEL
540 VBoxDDGC_DEFS += VBOX_WITH_VIDEOHWACCEL
541endif
542
543ifdef VBOX_WITH_AHCI
544VBoxDDGC_DEFS += VBOX_WITH_AHCI IN_AHCI_GC
545VBoxDDGC_SOURCES += \
546 Storage/DevAHCI.cpp \
547 Storage/ATAController.cpp
548endif
549
550ifdef VBOX_WITH_BUSLOGIC
551VBoxDDGC_DEFS += VBOX_WITH_BUSLOGIC
552VBoxDDGC_SOURCES += \
553 Storage/DevBusLogic.cpp
554endif
555
556ifdef VBOX_WITH_LSILOGIC
557VBoxDDGC_DEFS += VBOX_WITH_LSILOGIC
558VBoxDDGC_SOURCES += \
559 Storage/DevLsiLogicSCSI.cpp
560endif
561
562ifdef VBOX_WITH_HPET
563VBoxDDGC_DEFS += VBOX_WITH_HPET
564VBoxDDGC_SOURCES += PC/DevHPET.cpp
565endif
566
567ifeq ($(VBOX_LDR_FMT32),pe)
568VBoxDDGC_LDFLAGS = -Entry:vgaMMIOWrite
569endif
570if1of ($(VBOX_LDR_FMT32), pe lx)
571VBoxDDGC_LIBS = \
572 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
573 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
574endif
575
576
577#
578# VBoxDDR0 (sysmod)
579#
580VBoxDDR0_TEMPLATE = VBOXR0
581VBoxDDR0_SYSSUFF = .r0
582VBoxDDR0_DEFS.darwin.x86= VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0 VBOX_WITH_2X_4GB_ADDR_SPACE
583VBoxDDR0_DEFS = IN_RT_R0
584VBoxDDR0_INCS := \
585 $(PATH_SUB_CURRENT)
586VBoxDDR0_SOURCES = \
587 Bus/DevPCI.cpp \
588 Graphics/DevVGA.cpp \
589 Input/DevPS2.cpp \
590 PC/DevACPI.cpp \
591 PC/DevPit-i8254.cpp \
592 PC/DevPIC.cpp \
593 PC/DevRTC.cpp \
594 Storage/DevATA.cpp \
595 Network/DevPCNet.cpp \
596 Serial/DevSerial.cpp \
597 Parallel/DevParallel.cpp
598
599ifdef VBOX_DYNAMIC_NET_ATTACH
600 VBoxDDR0_DEFS += VBOX_DYNAMIC_NET_ATTACH
601endif
602
603ifdef VBOX_WITH_E1000
604 VBoxDDR0_DEFS += VBOX_WITH_E1000
605 VBoxDDR0_SOURCES += \
606 Network/DevE1000.cpp \
607 Network/DevE1000Phy.cpp
608endif
609
610ifdef VBOX_WITH_VIRTIO
611 VBoxDDR0_DEFS += VBOX_WITH_VIRTIO
612 VBoxDDR0_SOURCES += \
613 Network/DevVirtioNet.cpp
614endif
615
616ifdef VBOX_WITH_HGSMI
617 VBoxDDR0_DEFS += VBOX_WITH_HGSMI
618endif
619
620ifdef VBOX_WITH_USB
621VBoxDDR0_DEFS += VBOX_WITH_USB IN_USB_R0
622VBoxDDR0_SOURCES += \
623 USB/DevOHCI.cpp
624
625 ifdef VBOX_WITH_EHCI
626 VBoxDDR0_DEFS += VBOX_WITH_EHCI
627 VBoxDDR0_SOURCES += \
628 USB/DevEHCI.cpp
629 endif
630endif
631
632ifdef VBOX_WITH_AHCI
633VBoxDDR0_DEFS += VBOX_WITH_AHCI IN_AHCI_R0
634VBoxDDR0_SOURCES += \
635 Storage/DevAHCI.cpp \
636 Storage/ATAController.cpp
637endif
638
639ifdef VBOX_WITH_BUSLOGIC
640VBoxDDR0_DEFS += VBOX_WITH_BUSLOGIC
641VBoxDDR0_SOURCES += \
642 Storage/DevBusLogic.cpp
643endif
644
645ifdef VBOX_WITH_LSILOGIC
646VBoxDDR0_DEFS += VBOX_WITH_LSILOGIC
647VBoxDDR0_SOURCES += \
648 Storage/DevLsiLogicSCSI.cpp
649endif
650
651ifdef VBOX_WITH_HGSMI
652 VBoxDDR0_DEFS += VBOX_WITH_HGSMI
653endif
654ifdef VBOX_WITH_VIDEOHWACCEL
655 VBoxDDR0_DEFS += VBOX_WITH_VIDEOHWACCEL
656endif
657
658
659ifdef VBOX_WITH_HPET
660VBoxDDR0_DEFS += VBOX_WITH_HPET
661VBoxDDR0_SOURCES += PC/DevHPET.cpp
662endif
663
664ifeq ($(VBOX_LDR_FMT32),pe)
665VBoxDDR0_LDFLAGS = -Entry:vgaMMIOWrite
666endif
667if1of ($(VBOX_LDR_FMT), pe lx)
668VBoxDDR0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
669endif
670
671#
672# VBoxDD2GC (LGPL sysmod)
673#
674VBoxDD2GC_TEMPLATE = VBOXGC
675VBoxDD2GC_DEFS =
676VBoxDD2GC_SYSSUFF = .gc
677VBoxDD2GC_INCS := \
678 $(PATH_SUB_CURRENT)
679VBoxDD2GC_SOURCES = \
680 PC/DevAPIC.cpp
681ifeq ($(VBOX_LDR_FMT32),pe)
682VBoxDD2GC_LDFLAGS = -Entry:apicMMIOWrite
683endif
684if1of ($(VBOX_LDR_FMT32), pe lx)
685VBoxDD2GC_LIBS = \
686 $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
687 $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
688endif
689
690
691#
692# VBoxDD2R0 (LGPL sysmod)
693#
694VBoxDD2R0_TEMPLATE = VBOXR0
695VBoxDD2R0_DEFS = IN_RT_R0
696VBoxDD2R0_SYSSUFF = .r0
697VBoxDD2R0_INCS := \
698 $(PATH_SUB_CURRENT)
699VBoxDD2R0_SOURCES = \
700 PC/DevAPIC.cpp
701ifeq ($(VBOX_LDR_FMT),pe)
702VBoxDD2R0_LDFLAGS = -Entry:apicMMIOWrite
703endif
704if1of ($(VBOX_LDR_FMT), pe lx)
705VBoxDD2R0_LIBS = $(PATH_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)
706endif
707
708
709#
710# Drivers (library)
711#
712ifeq ($(KBUILD_TARGET),l4) # We are using real Linux headers, not the cleaned up user space ones
713Drivers_TEMPLATE = VBOXR3NP
714else
715Drivers_TEMPLATE = VBOXR3
716endif
717Drivers_SDKS.win = WINPSDK W2K3DDK
718Storage/DrvHostDVD.cpp_SDKS.win = W2K3DDK
719Drivers_DEFS.win += _WIN32_WINNT=0x0510
720Drivers_DEFS = IN_IDE_R3
721ifdef VBOX_WITH_NETFLT
722Drivers_DEFS += VBOX_WITH_NETFLT
723endif
724ifdef VBOX_WITH_FAULT_INJECTION
725Drivers_DEFS += VBOX_WITH_FAULT_INJECTION
726endif
727
728Drivers_INCS := \
729 $(PATH_SUB_CURRENT) \
730 Network/slirp
731Drivers_SOURCES = \
732 Audio/audio.c \
733 Audio/audiosniffer.c \
734 Audio/mixeng.c \
735 Audio/noaudio.c \
736 Input/DrvKeyboardQueue.cpp \
737 Input/DrvMouseQueue.cpp \
738 Network/DrvIntNet.cpp \
739 PC/DrvACPI.cpp \
740 Serial/DrvChar.cpp \
741 Serial/DrvNamedPipe.cpp \
742 Serial/DrvRawFile.cpp \
743 Storage/DrvBlock.cpp \
744 Storage/DrvHostBase.cpp \
745 Storage/DrvHostDVD.cpp \
746 Storage/DrvHostFloppy.cpp \
747 Storage/DrvMediaISO.cpp \
748 Storage/DrvRawImage.cpp \
749 Storage/Debug.cpp \
750 Storage/DrvVD.cpp \
751 Network/DrvNetSniffer.cpp \
752 Network/Pcap.cpp
753
754VBOX_SLIRP_SOURCES = \
755 Network/DrvNAT.cpp \
756 Network/slirp/bootp.c \
757 Network/slirp/debug.c \
758 Network/slirp/if.c \
759 Network/slirp/ip_icmp.c \
760 Network/slirp/ip_input.c \
761 Network/slirp/ip_output.c \
762 Network/slirp/misc.c \
763 Network/slirp/sbuf.c \
764 Network/slirp/slirp.c \
765 Network/slirp/socket.c \
766 Network/slirp/tcp_input.c \
767 Network/slirp/tcp_output.c \
768 Network/slirp/tcp_subr.c \
769 Network/slirp/tcp_timer.c \
770 Network/slirp/udp.c \
771 Network/slirp/dnsproxy/hash.c \
772 Network/slirp/dnsproxy/dnsproxy.c
773
774ifdef VBOX_WITH_SLIRP_BSD_MBUF
775 VBOX_SLIRP_BSD_ARCH = $(subst x86,i386,$(KBUILD_TARGET_ARCH))
776 VBOX_SLIRP_BSD_SOURCES += \
777 Network/slirp/bsd/kern/kern_mbuf.c \
778 Network/slirp/bsd/kern/uipc_mbuf.c \
779 Network/slirp/bsd/kern/uipc_mbuf2.c \
780 Network/slirp/bsd/$(VBOX_SLIRP_BSD_ARCH)/in_cksum.c
781else
782# some notes dnsproxy will probably deprecate
783# tftp.c is temporally out of global slirp section
784 VBOX_SLIRP_SOURCES += \
785 Network/slirp/mbuf.c \
786 Network/slirp/cksum.c \
787 Network/slirp/tftp.c
788endif
789
790VBOX_SLIRP_ALIAS_SOURCES = \
791 Network/slirp/libalias/alias.c \
792 Network/slirp/libalias/alias_db.c \
793 Network/slirp/libalias/alias_mod.c \
794 Network/slirp/libalias/alias_proxy.c \
795 Network/slirp/libalias/alias_ftp.c \
796 Network/slirp/libalias/alias_dns.c \
797 Network/slirp/libalias/alias_nbt.c \
798 Network/slirp/libalias/alias_util.c
799
800# some day will be deleted
801
802Drivers_SOURCES += $(VBOX_SLIRP_SOURCES)
803define def_vbox_slirp_cflags
804 $(file)_DEFS += \
805 $(if $(VBOX_WITH_SLIRP_MEMORY_CHECK),RTMEM_WRAP_TO_EF_APIS,) \
806 $(if $(VBOX_WITH_DEBUG_NAT_SOCKETS),VBOX_WITH_DEBUG_NAT_SOCKETS,) \
807 $(if $(VBOX_WITH_SLIRP_MT),VBOX_WITH_SLIRP_MT,) \
808 $(if $(VBOX_WITH_SLIRP_BSD_MBUF),VBOX_WITH_SLIRP_BSD_MBUF,)
809 ifdef VBOX_WITH_SLIRP_BSD_MBUF
810 $(file)_INCS += $(1)/slirp/bsd/sys
811 $(file)_INCS += $(1)/slirp/bsd/sys/sys
812 $(file)_INCS += $(1)/slirp/bsd/$(VBOX_SLIRP_BSD_ARCH)/include
813 $(file)_INCS += $(1)/slirp/bsd/netinet
814 endif
815 $(file)_INCS += $(1)/slirp
816 $(file)_INCS += $(1)/slirp/libalias
817 ifeq ($(KBUILD_TARGET),win)
818 $(file)_CFLAGS = -wd4018
819 else
820 $(file)_CFLAGS += -Wno-sign-compare
821 ifdef VBOX_WITH_SLIRP_BSD_MBUF
822 $(file)_CFLAGS += -Wno-format
823 $(file)_CFLAGS += -Wno-bad-function-cast
824 endif
825 endif
826endef
827
828$(foreach file,$(VBOX_SLIRP_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
829
830Drivers_SOURCES += $(VBOX_SLIRP_ALIAS_SOURCES)
831define def_vbox_slirp_alias_cflags
832 $(file)_DEFS += VBOX_SLIRP_ALIAS
833 $(file)_INCS += $(1)/slirp/libalias
834 $(file)_INCS += $(1)/slirp
835 $(file)_INCS += $(1)/slirp/dnsproxy
836endef
837$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
838$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_alias_cflags, Network)))
839
840ifdef VBOX_WITH_SLIRP_BSD_MBUF
841VBOX_SLIRP_BSD_SOURCES += $(VBOX_SLIRP_BSD_SOURCES.${KBUILD_TARGET_ARCH})
842Drivers_SOURCES += $(VBOX_SLIRP_BSD_SOURCES)
843define def_vbox_slirp_bsd_cflags
844 $(file)_DEFS += VBOX_SLIRP_BSD
845 $(file)_INCS += $(1)/slirp/dnsproxy
846endef
847$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
848$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_bsd_cflags, Network)))
849endif
850
851# -- OS specific --
852
853ifeq ($(KBUILD_TARGET),darwin)
854Drivers_SOURCES := $(filter-out \
855 Storage/DrvHostRaw% \
856 Storage/DrvHostFloppy% \
857 , $(Drivers_SOURCES)) \
858 Audio/coreaudio.c
859Drivers_SOURCES.darwin = \
860 Serial/DrvHostSerial.cpp
861endif # darwin
862
863ifeq ($(KBUILD_TARGET),freebsd)
864Drivers_SOURCES := $(filter-out \
865 Storage/DrvHostFloppy% \
866 , $(Drivers_SOURCES)) \
867 Audio/ossaudio.c \
868 Serial/DrvHostSerial.cpp
869Drivers_SOURCES.freebsd = \
870 Network/DrvTAP.cpp
871endif # freebsd
872
873
874ifeq ($(KBUILD_TARGET),l4)
875Drivers_SOURCES = \
876 Input/DrvMouseQueue.cpp \
877 Input/DrvKeyboardQueue.cpp \
878 Storage/DrvBlock.cpp \
879 Storage/DrvMediaISO.cpp \
880 Storage/DrvRawImage.cpp \
881 Storage/DrvHostBase.cpp \
882 Storage/DrvHostDVD.cpp \
883 Storage/DrvVD.cpp \
884 PC/DrvACPI.cpp \
885 Network/DrvIntNet.cpp \
886 Network/DHCPServerRunner.cpp \
887 Network/DrvNetSniffer.cpp \
888 Network/Pcap.cpp \
889 Audio/audio.c \
890 Audio/mixeng.c \
891 Audio/noaudio.c \
892 Audio/audiosniffer.c
893
894Drivers_SOURCES.l4 = \
895 Audio/ossaudio.c
896endif # l4
897
898Drivers_SOURCES.linux = \
899 Network/DrvTAP.cpp \
900 Audio/ossaudio.c \
901 Parallel/DrvHostParallel.cpp \
902 Serial/DrvHostSerial.cpp
903
904ifeq ($(KBUILD_TARGET),os2)
905Drivers_SOURCES := $(filter-out \
906 Storage/DrvHost% \
907 , $(Drivers_SOURCES))
908endif
909
910ifeq ($(KBUILD_TARGET),solaris)
911Drivers_SOURCES := $(filter-out \
912 Storage/DrvHost% \
913 , $(Drivers_SOURCES))
914Drivers_SOURCES.solaris = \
915 Audio/solaudio.c \
916 Storage/DrvHostBase.cpp \
917 Storage/DrvHostDVD.cpp \
918 Serial/DrvHostSerial.cpp
919 ifdef VBOX_WITH_SOLARIS_OSS
920 Drivers_SOURCES += Audio/ossaudio.c
921 Drivers_DEFS += VBOX_WITH_SOLARIS_OSS
922 endif
923 ifdef VBOX_WITH_CROSSBOW
924 Drivers_SOURCES += Network/solaris/vbox-libdlpi.cpp
925 Drivers_DEFS += VBOX_WITH_CROSSBOW
926 endif
927 ifdef VBOX_WITH_SUID_WRAPPER
928 Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
929 endif
930endif
931
932Drivers_SOURCES.win = \
933 Audio/dsoundaudio.c \
934 Serial/DrvHostSerial.cpp
935
936if defined(VBOX_WITH_NETFLT)
937 if defined(VBOX_NETFLT_ONDEMAND_BIND)
938 Drivers_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
939 endif
940endif
941
942# -- features --
943
944ifdef VBOX_WITH_ISCSI
945 VBoxDDU_SOURCES += \
946 Storage/ISCSIHDDCore.cpp
947 VBoxDDU_DEFS += VBOX_WITH_ISCSI
948 Storage/DrvVD.cpp_INCS = \
949 Network/lwip/src/include \
950 Network/lwip/src/include/ipv4 \
951 Network/lwip/vbox/include
952endif # VBOX_WITH_ISCSI
953
954ifdef VBOX_WITH_ALSA
955 Drivers_DEFS.linux += VBOX_WITH_ALSA
956 Drivers_SOURCES.linux+= \
957 Audio/alsaaudio.c \
958 Audio/alsa_stubs.c
959endif
960
961ifdef VBOX_WITH_PULSE
962 Drivers_DEFS.linux += VBOX_WITH_PULSE
963 Drivers_SOURCES.linux+= \
964 Audio/pulseaudio.c \
965 Audio/pulse_stubs.c
966endif
967
968ifdef VBOX_WITH_USB
969 Drivers_DEFS += VBOX_WITH_USB IN_USB_R3
970 Drivers_SOURCES += \
971 USB/DrvVUSBRootHub.cpp \
972 USB/VUSBDevice.cpp \
973 USB/VUSBReadAhead.cpp \
974 USB/VUSBUrb.cpp
975 ifdef VBOX_WITH_VRDP
976 Drivers_DEFS += VBOX_WITH_VRDP
977 Drivers_SOURCES += \
978 USB/vrdp/USBProxyDevice-vrdp.cpp
979 endif
980
981 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
982 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
983 Drivers_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
984 endif
985 Drivers_SOURCES.darwin += \
986 USB/USBProxyDevice.cpp \
987 USB/darwin/USBProxyDevice-darwin.cpp
988
989 Drivers_DEFS.linux += \
990 VUSB_HAVE_USBPROXY_DEVICE \
991 $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
992 $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,)
993 Drivers_SOURCES.linux += \
994 USB/USBProxyDevice.cpp \
995 USB/linux/USBProxyDevice-linux.cpp
996
997 Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
998 Drivers_SOURCES.l4 += \
999 USB/USBProxyDevice.cpp \
1000 USB/linux/USBProxyDevice-linux.cpp
1001
1002 Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
1003 Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
1004 Drivers_SOURCES.os2 += \
1005 USB/USBProxyDevice.cpp \
1006 USB/os2/USBProxyDevice-os2.cpp
1007
1008 Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
1009 Drivers_SOURCES.win += \
1010 USB/USBProxyDevice.cpp \
1011 USB/win/USBProxyDevice-win.cpp
1012
1013 Drivers_DEFS.solaris += VUSB_HAVE_USBPROXY_DEVICE
1014 Drivers_SOURCES.solaris += \
1015 USB/USBProxyDevice.cpp \
1016 USB/solaris/$(if $(VBOX_WITH_NEW_USB_CODE_ON_SOLARIS),USBProxyDevice2-solaris.cpp,USBProxyDevice-solaris.cpp)
1017
1018 Drivers_DEFS.freebsd += VUSB_HAVE_USBPROXY_DEVICE
1019 Drivers_SOURCES.freebsd += \
1020 USB/USBProxyDevice.cpp \
1021 USB/freebsd/USBProxyDevice-freebsd.cpp
1022endif # VBOX_WITH_USB
1023
1024ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
1025 Drivers_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
1026endif #VBOX_WITH_PDM_ASYNC_COMPLETION
1027
1028ifdef VBOX_WITH_SCSI
1029 Drivers_DEFS += VBOX_WITH_SCSI
1030 Drivers_SOURCES += \
1031 Storage/DrvSCSI.cpp
1032 Drivers_SOURCES.linux += \
1033 Storage/DrvSCSIHost.cpp
1034endif # VBOX_WITH_SCSI
1035
1036#
1037# Ring-0 Services (library, linked into VMMR0.r0)
1038#
1039ServicesR0_TEMPLATE = VBOXR0
1040ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
1041ServicesR0_SOURCES = \
1042 Network/SrvIntNetR0.cpp
1043
1044if defined(VBOX_WITH_NETFLT)
1045 ServicesR0_SOURCES.win.amd64 += Network/win/SrvIntNetR0A-win.asm
1046 ServicesR0_DEFS.win.amd64 += RT_WITH_W64_UNWIND_HACK
1047endif
1048
1049
1050#
1051# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1052#
1053ifdef VBOX_WITH_TESTCASES
1054 PROGRAMS += tstIntNetR0
1055 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
1056 tstIntNetR0_DEFS = IN_INTNET_R0
1057 tstIntNetR0_SOURCES = \
1058 Network/testcase/tstIntNetR0.cpp
1059endif
1060
1061#
1062# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1063#
1064ifdef VBOX_WITH_TESTCASES
1065 PROGRAMS += tstIntNet-1
1066 tstIntNet-1_TEMPLATE = VBOXR3TSTEXE
1067 tstIntNet-1_SOURCES = \
1068 Network/testcase/tstIntNet-1.cpp \
1069 Network/Pcap.cpp
1070endif
1071
1072
1073#
1074# EEPROM device unit test requires cppunit
1075#
1076ifdef VBOX_WITH_CPPUNIT_TESTCASES
1077ifdef VBOX_WITH_E1000
1078 PROGRAMS += tstDevEEPROM
1079 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
1080 tstDevEEPROM_SOURCES = \
1081 Network/testcase/tstDevEEPROM.cpp
1082 tstDevEEPROM_LIBS = \
1083 $(TARGET_DevicesR3)
1084 PROGRAMS += tstDevPhy
1085 tstDevPhy_TEMPLATE = VBOXCPPUNITEXE
1086 tstDevPhy_SOURCES = \
1087 Network/testcase/tstDevPhy.cpp \
1088 Network/DevE1000Phy.cpp
1089 tstDevPhy_DEFS = PHY_UNIT_TEST
1090endif
1091endif
1092
1093include $(KBUILD_PATH)/subfooter.kmk
1094
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