VirtualBox

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

Last change on this file since 22982 was 22968, checked in by vboxsync, 15 years ago

Devices: Add option VBOX_WITH_NEW_IO_CODE to enable new I/O interface

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 27.2 KB
Line 
1# $Id: Makefile.kmk 22968 2009-09-11 22:47:10Z 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 VBOX_SLIRP_SOURCES += \
783 Network/slirp/mbuf.c \
784 Network/slirp/cksum.c \
785 Network/slirp/tftp.c
786endif
787
788VBOX_SLIRP_ALIAS_SOURCES = \
789 Network/slirp/libalias/alias.c \
790 Network/slirp/libalias/alias_db.c \
791 Network/slirp/libalias/alias_mod.c \
792 Network/slirp/libalias/alias_proxy.c \
793 Network/slirp/libalias/alias_ftp.c \
794 Network/slirp/libalias/alias_dns.c \
795 Network/slirp/libalias/alias_nbt.c \
796 Network/slirp/libalias/alias_util.c
797
798# some day will be deleted
799
800Drivers_SOURCES += $(VBOX_SLIRP_SOURCES)
801define def_vbox_slirp_cflags
802 $(file)_DEFS += \
803 $(if $(VBOX_WITH_SLIRP_MEMORY_CHECK),RTMEM_WRAP_TO_EF_APIS,) \
804 $(if $(VBOX_WITH_DEBUG_NAT_SOCKETS),VBOX_WITH_DEBUG_NAT_SOCKETS,) \
805 $(if $(VBOX_WITH_SLIRP_MT),VBOX_WITH_SLIRP_MT,) \
806 $(if $(VBOX_WITH_SLIRP_BSD_MBUF),VBOX_WITH_SLIRP_BSD_MBUF,)
807 ifdef VBOX_WITH_SLIRP_BSD_MBUF
808 $(file)_INCS += $(1)/slirp/bsd/sys
809 $(file)_INCS += $(1)/slirp/bsd/sys/sys
810 $(file)_INCS += $(1)/slirp/bsd/$(BSD_ARCH)/include
811 $(file)_INCS += $(1)/slirp/bsd/netinet
812 endif
813 $(file)_INCS += $(1)/slirp
814 $(file)_INCS += $(1)/slirp/libalias
815 ifeq ($(KBUILD_TARGET),win)
816 $(file)_CFLAGS = -wd4018
817 else
818 $(file)_CFLAGS += -Wno-sign-compare
819 ifdef VBOX_WITH_SLIRP_BSD_MBUF
820 $(file)_CFLAGS += -Wno-format
821 $(file)_CFLAGS += -Wno-bad-function-cast
822 endif
823 endif
824endef
825
826$(foreach file,$(VBOX_SLIRP_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
827
828Drivers_SOURCES += $(VBOX_SLIRP_ALIAS_SOURCES)
829define def_vbox_slirp_alias_cflags
830 $(file)_DEFS += VBOX_SLIRP_ALIAS
831 $(file)_INCS += $(1)/slirp/libalias
832 $(file)_INCS += $(1)/slirp
833 $(file)_INCS += $(1)/slirp/dnsproxy
834endef
835$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
836$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_slirp_alias_cflags, Network)))
837
838ifdef VBOX_WITH_SLIRP_BSD_MBUF
839VBOX_SLIRP_BSD_SOURCES += $(VBOX_SLIRP_BSD_SOURCES.${KBUILD_TARGET_ARCH})
840Drivers_SOURCES += $(VBOX_SLIRP_BSD_SOURCES)
841define def_vbox_slirp_bsd_cflags
842 $(file)_DEFS += VBOX_SLIRP_BSD
843 $(file)_INCS += $(1)/slirp/dnsproxy
844endef
845$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_cflags, Network)))
846$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_slirp_bsd_cflags, Network)))
847endif
848
849# -- OS specific --
850
851ifeq ($(KBUILD_TARGET),darwin)
852Drivers_SOURCES := $(filter-out \
853 Storage/DrvHostRaw% \
854 Storage/DrvHostFloppy% \
855 , $(Drivers_SOURCES)) \
856 Audio/coreaudio.c
857Drivers_SOURCES.darwin = \
858 Serial/DrvHostSerial.cpp
859endif # darwin
860
861ifeq ($(KBUILD_TARGET),freebsd)
862Drivers_SOURCES := $(filter-out \
863 Storage/DrvHostFloppy% \
864 , $(Drivers_SOURCES)) \
865 Audio/ossaudio.c \
866 Serial/DrvHostSerial.cpp
867Drivers_SOURCES.freebsd = \
868 Network/DrvTAP.cpp
869endif # freebsd
870
871
872ifeq ($(KBUILD_TARGET),l4)
873Drivers_SOURCES = \
874 Input/DrvMouseQueue.cpp \
875 Input/DrvKeyboardQueue.cpp \
876 Storage/DrvBlock.cpp \
877 Storage/DrvMediaISO.cpp \
878 Storage/DrvRawImage.cpp \
879 Storage/DrvHostBase.cpp \
880 Storage/DrvHostDVD.cpp \
881 Storage/DrvVD.cpp \
882 PC/DrvACPI.cpp \
883 Network/DrvIntNet.cpp \
884 Network/DHCPServerRunner.cpp \
885 Network/DrvNetSniffer.cpp \
886 Network/Pcap.cpp \
887 Audio/audio.c \
888 Audio/mixeng.c \
889 Audio/noaudio.c \
890 Audio/audiosniffer.c
891
892Drivers_SOURCES.l4 = \
893 Audio/ossaudio.c
894endif # l4
895
896Drivers_SOURCES.linux = \
897 Network/DrvTAP.cpp \
898 Audio/ossaudio.c \
899 Parallel/DrvHostParallel.cpp \
900 Serial/DrvHostSerial.cpp
901
902ifeq ($(KBUILD_TARGET),os2)
903Drivers_SOURCES := $(filter-out \
904 Storage/DrvHost% \
905 , $(Drivers_SOURCES))
906endif
907
908ifeq ($(KBUILD_TARGET),solaris)
909Drivers_SOURCES := $(filter-out \
910 Storage/DrvHost% \
911 , $(Drivers_SOURCES))
912Drivers_SOURCES.solaris = \
913 Audio/solaudio.c \
914 Storage/DrvHostBase.cpp \
915 Storage/DrvHostDVD.cpp \
916 Serial/DrvHostSerial.cpp
917 ifdef VBOX_WITH_SOLARIS_OSS
918 Drivers_SOURCES += Audio/ossaudio.c
919 Drivers_DEFS += VBOX_WITH_SOLARIS_OSS
920 endif
921 ifdef VBOX_WITH_CROSSBOW
922 Drivers_SOURCES += Network/solaris/vbox-libdlpi.cpp
923 Drivers_DEFS += VBOX_WITH_CROSSBOW
924 endif
925 ifdef VBOX_WITH_SUID_WRAPPER
926 Drivers_DEFS += VBOX_WITH_SUID_WRAPPER
927 endif
928endif
929
930Drivers_SOURCES.win = \
931 Audio/dsoundaudio.c \
932 Serial/DrvHostSerial.cpp
933
934if defined(VBOX_WITH_NETFLT)
935 if defined(VBOX_NETFLT_ONDEMAND_BIND)
936 Drivers_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
937 endif
938endif
939
940# -- features --
941
942ifdef VBOX_WITH_ISCSI
943 VBoxDDU_SOURCES += \
944 Storage/ISCSIHDDCore.cpp
945 VBoxDDU_DEFS += VBOX_WITH_ISCSI
946 Storage/DrvVD.cpp_INCS = \
947 Network/lwip/src/include \
948 Network/lwip/src/include/ipv4 \
949 Network/lwip/vbox/include
950endif # VBOX_WITH_ISCSI
951
952ifdef VBOX_WITH_ALSA
953 Drivers_DEFS.linux += VBOX_WITH_ALSA
954 Drivers_SOURCES.linux+= \
955 Audio/alsaaudio.c \
956 Audio/alsa_stubs.c
957endif
958
959ifdef VBOX_WITH_PULSE
960 Drivers_DEFS.linux += VBOX_WITH_PULSE
961 Drivers_SOURCES.linux+= \
962 Audio/pulseaudio.c \
963 Audio/pulse_stubs.c
964endif
965
966ifdef VBOX_WITH_USB
967 Drivers_DEFS += VBOX_WITH_USB IN_USB_R3
968 Drivers_SOURCES += \
969 USB/DrvVUSBRootHub.cpp \
970 USB/VUSBDevice.cpp \
971 USB/VUSBReadAhead.cpp \
972 USB/VUSBUrb.cpp
973 ifdef VBOX_WITH_VRDP
974 Drivers_DEFS += VBOX_WITH_VRDP
975 Drivers_SOURCES += \
976 USB/vrdp/USBProxyDevice-vrdp.cpp
977 endif
978
979 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE
980 ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
981 Drivers_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
982 endif
983 Drivers_SOURCES.darwin += \
984 USB/USBProxyDevice.cpp \
985 USB/darwin/USBProxyDevice-darwin.cpp
986
987 Drivers_DEFS.linux += \
988 VUSB_HAVE_USBPROXY_DEVICE \
989 $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
990 $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,)
991 Drivers_SOURCES.linux += \
992 USB/USBProxyDevice.cpp \
993 USB/linux/USBProxyDevice-linux.cpp
994
995 Drivers_DEFS.l4 += VUSB_HAVE_USBPROXY_DEVICE
996 Drivers_SOURCES.l4 += \
997 USB/USBProxyDevice.cpp \
998 USB/linux/USBProxyDevice-linux.cpp
999
1000 Drivers_DEFS.os2 += VUSB_HAVE_USBPROXY_DEVICE
1001 Drivers_INCS.os2 += $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
1002 Drivers_SOURCES.os2 += \
1003 USB/USBProxyDevice.cpp \
1004 USB/os2/USBProxyDevice-os2.cpp
1005
1006 Drivers_DEFS.win += VUSB_HAVE_USBPROXY_DEVICE
1007 Drivers_SOURCES.win += \
1008 USB/USBProxyDevice.cpp \
1009 USB/win/USBProxyDevice-win.cpp
1010
1011 Drivers_DEFS.solaris += VUSB_HAVE_USBPROXY_DEVICE
1012 Drivers_SOURCES.solaris += \
1013 USB/USBProxyDevice.cpp \
1014 USB/solaris/$(if $(VBOX_WITH_NEW_USB_CODE_ON_SOLARIS),USBProxyDevice2-solaris.cpp,USBProxyDevice-solaris.cpp)
1015endif # VBOX_WITH_USB
1016
1017ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
1018 Drivers_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
1019endif #VBOX_WITH_PDM_ASYNC_COMPLETION
1020
1021ifdef VBOX_WITH_SCSI
1022 Drivers_DEFS += VBOX_WITH_SCSI
1023 Drivers_SOURCES += \
1024 Storage/DrvSCSI.cpp
1025 Drivers_SOURCES.linux += \
1026 Storage/DrvSCSIHost.cpp
1027endif # VBOX_WITH_SCSI
1028
1029#
1030# Ring-0 Services (library, linked into VMMR0.r0)
1031#
1032ServicesR0_TEMPLATE = VBOXR0
1033ServicesR0_DEFS = IN_INTNET_R0 IN_RT_R0
1034ServicesR0_SOURCES = \
1035 Network/SrvIntNetR0.cpp
1036
1037if defined(VBOX_WITH_NETFLT)
1038 ServicesR0_SOURCES.win.amd64 += Network/win/SrvIntNetR0A-win.asm
1039 ServicesR0_DEFS.win.amd64 += RT_WITH_W64_UNWIND_HACK
1040endif
1041
1042
1043#
1044# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1045#
1046ifdef VBOX_WITH_TESTCASES
1047 PROGRAMS += tstIntNetR0
1048 tstIntNetR0_TEMPLATE = VBOXR3TSTEXE
1049 tstIntNetR0_DEFS = IN_INTNET_R0
1050 tstIntNetR0_SOURCES = \
1051 Network/testcase/tstIntNetR0.cpp
1052endif
1053
1054#
1055# Internal Networking - Ring-3 Testcase for the Ring-0 code (a bit hackish).
1056#
1057ifdef VBOX_WITH_TESTCASES
1058 PROGRAMS += tstIntNet-1
1059 tstIntNet-1_TEMPLATE = VBOXR3TSTEXE
1060 tstIntNet-1_SOURCES = \
1061 Network/testcase/tstIntNet-1.cpp \
1062 Network/Pcap.cpp
1063endif
1064
1065
1066#
1067# EEPROM device unit test requires cppunit
1068#
1069ifdef VBOX_WITH_CPPUNIT_TESTCASES
1070ifdef VBOX_WITH_E1000
1071 PROGRAMS += tstDevEEPROM
1072 tstDevEEPROM_TEMPLATE = VBOXCPPUNITEXE
1073 tstDevEEPROM_SOURCES = \
1074 Network/testcase/tstDevEEPROM.cpp
1075 tstDevEEPROM_LIBS = \
1076 $(TARGET_DevicesR3)
1077 PROGRAMS += tstDevPhy
1078 tstDevPhy_TEMPLATE = VBOXCPPUNITEXE
1079 tstDevPhy_SOURCES = \
1080 Network/testcase/tstDevPhy.cpp \
1081 Network/DevE1000Phy.cpp
1082 tstDevPhy_DEFS = PHY_UNIT_TEST
1083endif
1084endif
1085
1086include $(KBUILD_PATH)/subfooter.kmk
1087
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