VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk@ 60556

最後變更 在這個檔案從60556是 60554,由 vboxsync 提交於 9 年 前

bs3kit: far updates.

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 16.0 KB
 
1# $Id: Makefile.kmk 60554 2016-04-18 19:11:32Z vboxsync $
2## @file
3# VirtualBox Validation Kit - Bootsector Kit v3
4#
5
6#
7# Copyright (C) 2006-2016 Oracle Corporation
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 (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# The contents of this file may alternatively be used under the terms
18# of the Common Development and Distribution License Version 1.0
19# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20# VirtualBox OSE distribution, in which case the provisions of the
21# CDDL are applicable instead of those of the GPL.
22#
23# You may elect to license modified versions of this file under the
24# terms and conditions of either the GPL or the CDDL or both.
25#
26
27SUB_DEPTH = ../../../../..
28include $(KBUILD_PATH)/subheader.kmk
29
30
31
32# Boot Sector post-link tool (used via the parent Config.kmk).
33BLDPROGS += VBoxBs3Linker
34VBoxBs3Linker_TEMPLATE = VBoxBldProg
35VBoxBs3Linker_SOURCES = $(VBOX_PATH_BS3KIT_SRC)/VBoxBs3Linker.cpp
36
37
38# 64-bit relocation conversion tool (used via the parent Config.kmk).
39BLDPROGS += VBoxBs3ObjConverter
40VBoxBs3ObjConverter_TEMPLATE = VBoxAdvBldProg
41VBoxBs3ObjConverter_DEFS = BS3KIT_BS3CLASS16CODE=$(BS3KIT_BS3CLASS16CODE)
42VBoxBs3ObjConverter_SOURCES = $(VBOX_PATH_BS3KIT_SRC)/VBoxBs3ObjConverter.cpp
43
44
45# The boot sector.
46MISCBINS += bs3-bootsector
47bs3-bootsector_TEMPLATE = VBoxBS3KitBS
48bs3-bootsector_SOURCES = bs3-bootsector.asm
49
50
51#
52# Common sources to be compiled into _p16, _p32 and _p64 versions.
53#
54VBOX_BS3KIT_COMMON_SOURCES = \
55 bs3-cmn-A20Disable.asm \
56 bs3-cmn-A20Enable.asm \
57 bs3-cmn-KbdRead.asm \
58 bs3-cmn-KbdWait.asm \
59 bs3-cmn-KbdWrite.asm \
60 bs3-cmn-Shutdown.asm \
61 bs3-cmn-Panic.asm \
62 bs3-cmn-PrintChr.asm \
63 bs3-cmn-Printf.c \
64 bs3-cmn-PrintU32.asm \
65 bs3-cmn-PrintX32.asm \
66 bs3-cmn-PrintStr.c \
67 bs3-cmn-PrintStrN.asm \
68 bs3-cmn-StrFormatV.c \
69 bs3-cmn-StrPrintf.c \
70 bs3-cmn-StrLen.c \
71 bs3-cmn-StrNLen.c \
72 bs3-cmn-StrCpy.c \
73 bs3-cmn-MemCpy.c \
74 bs3-cmn-MemPCpy.c \
75 bs3-cmn-MemMove.c \
76 bs3-cmn-MemZero.asm \
77 bs3-cmn-MemAlloc.c \
78 bs3-cmn-MemAllocZ.c \
79 bs3-cmn-MemFree.c \
80 bs3-cmn-PagingData.c \
81 bs3-cmn-PagingInitRootForPP.c \
82 bs3-cmn-PagingInitRootForPAE.c \
83 bs3-cmn-PagingInitRootForLM.c \
84 bs3-cmn-PagingProtect.c \
85 bs3-cmn-PicMaskAll.c \
86 bs3-cmn-RegCtxRestore.asm \
87 bs3-cmn-RegCtxConvertToRingX.c \
88 bs3-cmn-RegCtxPrint.c \
89 bs3-cmn-RegCtxSave.asm \
90 bs3-cmn-SelFar32ToFlat32.c \
91 bs3-cmn-SelProtFar32ToFlat32.c \
92 bs3-cmn-SelProtModeCodeToRealMode.asm \
93 bs3-cmn-SelRealModeCodeToProtMode.asm \
94 bs3-cmn-SelFlatCodeToRealMode.asm \
95 bs3-cmn-SelFlatCodeToProtFar16.asm \
96 bs3-cmn-SlabInit.c \
97 bs3-cmn-SlabAlloc.c \
98 bs3-cmn-SlabAllocEx.c \
99 bs3-cmn-SlabFree.c \
100 bs3-cmn-SlabListInit.c \
101 bs3-cmn-SlabListAdd.c \
102 bs3-cmn-SlabListAlloc.c \
103 bs3-cmn-SlabListAllocEx.c \
104 bs3-cmn-SlabListFree.c \
105 bs3-cmn-SwitchHlpConvRealModeRetfPopBpDecBpAndReturn.asm \
106 bs3-cmn-SwitchHlpConvProtModeRetfPopBpDecBpAndReturn.asm \
107 bs3-cmn-SwitchToRing0.asm \
108 bs3-cmn-SwitchToRing1.asm \
109 bs3-cmn-SwitchToRing2.asm \
110 bs3-cmn-SwitchToRing3.asm \
111 bs3-cmn-SwitchToRingX.asm \
112 bs3-cmn-SwitchTo16Bit.asm \
113 bs3-cmn-SwitchTo16BitV86.asm \
114 bs3-cmn-SwitchTo32Bit.asm \
115 bs3-cmn-SwitchTo64Bit.asm \
116 bs3-cmn-Syscall.asm \
117 bs3-cmn-TestData.c \
118 bs3-cmn-TestInit.c \
119 bs3-cmn-TestFailed.c \
120 bs3-cmn-TestSkipped.c \
121 bs3-cmn-TestSub.c \
122 bs3-cmn-TestSubDone.c \
123 bs3-cmn-TestSubErrorCount.c \
124 bs3-cmn-TestTerm.c \
125 bs3-cmn-TestSendCmdWithStr.asm \
126 bs3-cmn-TestSendCmdWithU32.asm \
127 bs3-cmn-TestIsVmmDevTestingPresent.asm \
128 bs3-cmn-TestCheckRegCtxEx.c \
129 bs3-cmn-TestPrintf.c \
130 bs3-cmn-TrapRmV86Init.c \
131 bs3-cmn-TrapRmV86SetGate.c \
132 bs3-cmn-Trap16Init.c \
133 bs3-cmn-Trap16SetGate.c \
134 bs3-cmn-Trap32Init.c \
135 bs3-cmn-Trap32SetGate.c \
136 bs3-cmn-Trap64Init.c \
137 bs3-cmn-Trap64SetGate.c \
138 bs3-cmn-TrapDefaultHandler.c \
139 bs3-cmn-TrapPrintFrame.c \
140 bs3-cmn-TrapSetHandler.c \
141 bs3-cmn-TrapSetJmp.asm \
142 bs3-cmn-TrapSetJmpAndRestore.c \
143 bs3-cmn-TrapUnsetJmp.c \
144 ../../../Runtime/common/asm/ASMBitFirstClear.asm \
145 ../../../Runtime/common/asm/ASMBitFirstSet.asm \
146 ../../../Runtime/common/asm/ASMBitNextClear.asm \
147 ../../../Runtime/common/asm/ASMBitNextSet.asm \
148 ../../../Runtime/common/asm/ASMBitFirstSetU16.asm \
149 ../../../Runtime/common/asm/ASMBitFirstSetU32.asm \
150 ../../../Runtime/common/asm/ASMBitFirstSetU64.asm \
151 ../../../Runtime/common/asm/ASMBitLastSetU16.asm \
152 ../../../Runtime/common/asm/ASMBitLastSetU32.asm \
153 ../../../Runtime/common/asm/ASMBitLastSetU64.asm \
154 ../../../Runtime/common/asm/ASMMemFirstMismatchingU8.asm \
155 ../../../Runtime/common/asm/ASMSerializeInstruction-cpuid.asm \
156 ../../../Runtime/common/asm/ASMSerializeInstruction-iret.asm \
157 ../../../Runtime/common/asm/ASMSerializeInstruction-rdtscp.asm \
158
159#
160# We generate a list of files with 16-bit far functions for which we generate
161# near jump stubs.
162#
163#$(PATH_OUT_OBJ)/bs3kit-common-16-near-to-far.kmk.ts \
164#+| $(PATH_OUT_OBJ)/bs3kit-common-16-near-to-far.kmk: $(VBOX_PATH_BS3KIT_SRC)/bs3kit.h
165# $(SED) \
166# -n -e '/no-near-stub/d' \
167# -e 's/^ *BS3_DECL(.*) *\([a-zA-Z][a-zA-Z0-9_]*\)(.*[;,][^;]*$/\1/p' \
168# --output $@ \
169# bs3kit.h
170# .$(CP_CHANGED) --changed -f -- $@ $(PATH_OUT_OBJ)/bs3kit-common-16-near-to-far.kmk
171#include $(PATH)
172
173
174# The 16-bit BS3Kit library.
175LIBRARIES += bs3kit-common-16
176bs3kit-common-16_TEMPLATE = VBoxBS3KitImg
177bs3kit-common-16_INSTTYPE = none
178bs3kit-common-16_DEFS = TMPL_PE16 BS3_CMN_ONLY
179bs3kit-common-16_ASDEFS = RT_ASMDEFS_INC_FIRST_FILE
180bs3kit-common-16_SOURCES = $(VBOX_BS3KIT_COMMON_SOURCES) \
181 bs3-system-data.asm \
182 bs3-rm-InitAll.c \
183 bs3-rm-InitMemory.c \
184 bs3-rm-InitGdt.c \
185 bs3-cmn-hexdigits.c \
186 bs3-cmn-CpuDetectData.c \
187 bs3-cmn-PerCpuData.c \
188 bs3-cmn-ConvertRMStackToP16UsingCxReturnToAx.asm \
189 bs3-cmn-UInt64Div.c \
190 bs3-cmn-UInt32Div.c \
191 bs3-wc16-U8DR.asm \
192 bs3-wc16-U8DQ.asm \
193 bs3-wc16-I8DR.asm \
194 bs3-wc16-I8DQ.asm \
195 bs3-wc16-I8RS.asm \
196 bs3-wc16-U8RS.asm \
197 bs3-wc16-U8LS.asm \
198 bs3-wc16-U4D.asm \
199 bs3-wc16-I4D.asm \
200 bs3-c16-Trap16Generic.asm \
201 bs3-c16-CreateHybridFarRet.asm
202bs3kit-common-16_bs3-cmn-UInt64Div.c_CFLAGS = -oh -d0 # -d1+ vs -d0 saves 0x6a3-0x577 = 0x12C (300)!
203bs3kit-common-16_VBOX_NEAR_TO_FAR_FUNCTIONS := \
204 $(sort $(subst bs3-cmn-,Bs3,$(basename $(filter-out \
205 %Data.c \
206 bs3-rm-% \
207 bs3-cmn-hexdigits.c \
208 ,$(filter %.c,$(bs3kit-common-16_SOURCES)))))) \
209 Bs3PrintfV \
210 Bs3StrPrintfV \
211 Bs3TestPrintfV \
212 Bs3TestFailedF \
213 Bs3TestFailedV \
214 Bs3TestSkippedF \
215 Bs3TestSkippedV \
216 Bs3TestSubF \
217 Bs3TestSubV \
218 Bs3Trap16InitEx \
219
220bs3kit-common-16_VBOX_NEAR_TO_FAR_MODE_FUNCTIONS := \
221 Bs3TestDoModes \
222 Bs3TrapInit \
223
224$(call BS3KIT_FN_GEN_NEARSTUBS,bs3kit-common-16,$(bs3kit-common-16_VBOX_NEAR_TO_FAR_FUNCTIONS))
225$(call BS3KIT_FN_GEN_MODE_NEARSTUBS,bs3kit-common-16,$(bs3kit-common-16_VBOX_NEAR_TO_FAR_MODE_FUNCTIONS))
226
227# The 32-bit BS3Kit library.
228LIBRARIES += bs3kit-common-32
229bs3kit-common-32_TEMPLATE = VBoxBS3KitImg32
230bs3kit-common-32_INSTTYPE = none
231bs3kit-common-32_DEFS = TMPL_PE32 BS3_CMN_ONLY
232bs3kit-common-32_ASDEFS = RT_ASMDEFS_INC_FIRST_FILE
233bs3kit-common-32_SOURCES = $(VBOX_BS3KIT_COMMON_SOURCES) \
234 bs3-cmn-UInt64Div.c \
235 bs3-wc32-U8D.asm \
236 bs3-wc32-I8D.asm \
237 bs3-wc32-I8RS.asm \
238 bs3-wc32-U8RS.asm \
239 bs3-wc32-U8LS.asm \
240 bs3-c32-Trap32Generic.asm
241
242# The 64-bit BS3Kit library.
243LIBRARIES += bs3kit-common-64
244bs3kit-common-64_TEMPLATE = VBoxBS3KitImg64
245bs3kit-common-64_INSTTYPE = none
246bs3kit-common-64_DEFS = TMPL_LM64 BS3_CMN_ONLY
247bs3kit-common-64_ASDEFS = RT_ASMDEFS_INC_FIRST_FILE
248bs3kit-common-64_SOURCES = $(VBOX_BS3KIT_COMMON_SOURCES) \
249 bs3-c64-Trap64Generic.asm \
250 ../../../Runtime/common/asm/ASMGetIDTR.asm \
251 ../../../Runtime/common/asm/ASMSetIDTR.asm \
252 ../../../Runtime/common/asm/ASMGetGDTR.asm \
253 ../../../Runtime/common/asm/ASMSetGDTR.asm \
254
255
256#
257# Common sources to be compiled for each CPU mode.
258#
259VBOX_BS3KIT_MODE_SOURCES = \
260 bs3-mode-Name.asm \
261 bs3-mode-SwitchToRM.asm \
262 bs3-mode-SwitchToPE16.asm \
263 bs3-mode-SwitchToPE16_32.asm \
264 bs3-mode-SwitchToPE16_V86.asm \
265 bs3-mode-SwitchToPE32.asm \
266 bs3-mode-SwitchToPE32_16.asm \
267 bs3-mode-SwitchToPEV86.asm \
268 bs3-mode-SwitchToPP16.asm \
269 bs3-mode-SwitchToPP16_32.asm \
270 bs3-mode-SwitchToPP16_V86.asm \
271 bs3-mode-SwitchToPP32.asm \
272 bs3-mode-SwitchToPP32_16.asm \
273 bs3-mode-SwitchToPPV86.asm \
274 bs3-mode-SwitchToPAE16.asm \
275 bs3-mode-SwitchToPAE16_32.asm \
276 bs3-mode-SwitchToPAE16_V86.asm \
277 bs3-mode-SwitchToPAE32.asm \
278 bs3-mode-SwitchToPAE32_16.asm \
279 bs3-mode-SwitchToPAEV86.asm \
280 bs3-mode-SwitchToLM64.asm \
281 bs3-mode-SwitchToLM32.asm \
282 bs3-mode-SwitchToLM16.asm \
283 bs3-mode-EnteredMode.asm \
284 bs3-mode-PagingGetRootForPP16.asm \
285 bs3-mode-PagingGetRootForPP32.asm \
286 bs3-mode-PagingGetRootForPAE16.asm \
287 bs3-mode-PagingGetRootForPAE32.asm \
288 bs3-mode-PagingGetRootForLM64.asm \
289 bs3-mode-TrapInit.c \
290 bs3-mode-TrapSystemCallHandler.asm \
291 bs3-mode-TestDoModes.c \
292 bs3-mode-TestDoModesHlp.asm \
293
294# The 16-bit real mode BS3Kit library.
295LIBRARIES += bs3kit-rm
296bs3kit-rm_TEMPLATE = VBoxBS3KitImg
297bs3kit-rm_INSTTYPE = none
298bs3kit-rm_DEFS = TMPL_MODE=BS3_MODE_RM
299bs3kit-rm_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES) \
300 bs3-first-rm.asm \
301 bs3-mode-CpuDetect.asm
302
303
304# The 16-bit BS3Kit library for 16-bit protected kernel+tss.
305LIBRARIES += bs3kit-pe16
306bs3kit-pe16_TEMPLATE = VBoxBS3KitImg
307bs3kit-pe16_INSTTYPE = none
308bs3kit-pe16_DEFS = TMPL_MODE=BS3_MODE_PE16
309bs3kit-pe16_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES) \
310 bs3-first-pe16.asm \
311# bs3-mode-CpuDetect.asm
312
313# The 32-bit BS3Kit library for 16-bit protected kernel+tss.
314LIBRARIES += bs3kit-pe16_32
315bs3kit-pe16_32_TEMPLATE = VBoxBS3KitImg32
316bs3kit-pe16_32_INSTTYPE = none
317bs3kit-pe16_32_DEFS = TMPL_MODE=BS3_MODE_PE16_32
318bs3kit-pe16_32_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
319
320# The v86 BS3Kit library for 16-bit protected kernel+tss.
321LIBRARIES += bs3kit-pe16_v86
322bs3kit-pe16_v86_TEMPLATE = VBoxBS3KitImg
323bs3kit-pe16_v86_INSTTYPE = none
324bs3kit-pe16_v86_DEFS = TMPL_MODE=BS3_MODE_PE16_V86
325bs3kit-pe16_v86_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
326
327# The 32-bit BS3Kit library for 32-bit protected kernel+tss.
328LIBRARIES += bs3kit-pe32
329bs3kit-pe32_TEMPLATE = VBoxBS3KitImg32
330bs3kit-pe32_INSTTYPE = none
331bs3kit-pe32_DEFS = TMPL_MODE=BS3_MODE_PE32
332bs3kit-pe32_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
333
334# The 16-bit BS3Kit library for 32-bit protected kernel+tss.
335LIBRARIES += bs3kit-pe32_16
336bs3kit-pe32_16_TEMPLATE = VBoxBS3KitImg
337bs3kit-pe32_16_INSTTYPE = none
338bs3kit-pe32_16_DEFS = TMPL_MODE=BS3_MODE_PE32_16
339bs3kit-pe32_16_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
340
341# The v8086 BS3Kit library for 32-bit protected kernel+tss.
342LIBRARIES += bs3kit-pev86
343bs3kit-pev86_TEMPLATE = VBoxBS3KitImg
344bs3kit-pev86_INSTTYPE = none
345bs3kit-pev86_DEFS = TMPL_MODE=BS3_MODE_PEV86
346bs3kit-pev86_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
347
348
349# The 16-bit BS3Kit library for 16-bit paged protected kernel+tss.
350LIBRARIES += bs3kit-pp16
351bs3kit-pp16_TEMPLATE = VBoxBS3KitImg
352bs3kit-pp16_INSTTYPE = none
353bs3kit-pp16_DEFS = TMPL_MODE=BS3_MODE_PP16
354bs3kit-pp16_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES) \
355 bs3-mode-CpuDetect.asm
356
357# The 32-bit BS3Kit library for 16-bit paged protected kernel+tss.
358LIBRARIES += bs3kit-pp16_32
359bs3kit-pp16_32_TEMPLATE = VBoxBS3KitImg32
360bs3kit-pp16_32_INSTTYPE = none
361bs3kit-pp16_32_DEFS = TMPL_MODE=BS3_MODE_PP16_32
362bs3kit-pp16_32_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
363
364# The v8086 BS3Kit library for 16-bit paged protected kernel+tss.
365LIBRARIES += bs3kit-pp16_v86
366bs3kit-pp16_v86_TEMPLATE = VBoxBS3KitImg
367bs3kit-pp16_v86_INSTTYPE = none
368bs3kit-pp16_v86_DEFS = TMPL_MODE=BS3_MODE_PP16_V86
369bs3kit-pp16_v86_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
370
371# The 32-bit BS3Kit library for 32-bit paged protected kernel+tss.
372LIBRARIES += bs3kit-pp32
373bs3kit-pp32_TEMPLATE = VBoxBS3KitImg32
374bs3kit-pp32_INSTTYPE = none
375bs3kit-pp32_DEFS = TMPL_MODE=BS3_MODE_PP32
376bs3kit-pp32_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
377
378# The 16-bit BS3Kit library for 32-bit paged protected kernel+tss.
379LIBRARIES += bs3kit-pp32_16
380bs3kit-pp32_16_TEMPLATE = VBoxBS3KitImg
381bs3kit-pp32_16_INSTTYPE = none
382bs3kit-pp32_16_DEFS = TMPL_MODE=BS3_MODE_PP32_16
383bs3kit-pp32_16_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
384
385# The v8086 BS3Kit library for 32-bit paged protected kernel+tss.
386LIBRARIES += bs3kit-ppv86
387bs3kit-ppv86_TEMPLATE = VBoxBS3KitImg
388bs3kit-ppv86_INSTTYPE = none
389bs3kit-ppv86_DEFS = TMPL_MODE=BS3_MODE_PPV86
390bs3kit-ppv86_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
391
392
393# The 16-bit BS3Kit library for 16-bit PAE paged protected kernel+tss.
394LIBRARIES += bs3kit-pae16
395bs3kit-pae16_TEMPLATE = VBoxBS3KitImg
396bs3kit-pae16_INSTTYPE = none
397bs3kit-pae16_DEFS = TMPL_MODE=BS3_MODE_PAE16
398bs3kit-pae16_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES) \
399 bs3-mode-CpuDetect.asm
400
401# The 16-bit BS3Kit library for 16-bit PAE paged protected kernel+tss.
402LIBRARIES += bs3kit-pae16_32
403bs3kit-pae16_32_TEMPLATE = VBoxBS3KitImg32
404bs3kit-pae16_32_INSTTYPE = none
405bs3kit-pae16_32_DEFS = TMPL_MODE=BS3_MODE_PAE16_32
406bs3kit-pae16_32_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
407
408# The v8086 BS3Kit library for 16-bit PAE paged protected kernel+tss.
409LIBRARIES += bs3kit-pae16_v86
410bs3kit-pae16_v86_TEMPLATE = VBoxBS3KitImg
411bs3kit-pae16_v86_INSTTYPE = none
412bs3kit-pae16_v86_DEFS = TMPL_MODE=BS3_MODE_PAE16_V86
413bs3kit-pae16_v86_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
414
415# The 32-bit BS3Kit library for 32-bit PAE paged protected kernel+tss.
416LIBRARIES += bs3kit-pae32
417bs3kit-pae32_TEMPLATE = VBoxBS3KitImg32
418bs3kit-pae32_INSTTYPE = none
419bs3kit-pae32_DEFS = TMPL_MODE=BS3_MODE_PAE32
420bs3kit-pae32_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
421
422# The 16-bit BS3Kit library for 32-bit PAE paged protected kernel+tss.
423LIBRARIES += bs3kit-pae32_16
424bs3kit-pae32_16_TEMPLATE = VBoxBS3KitImg
425bs3kit-pae32_16_INSTTYPE = none
426bs3kit-pae32_16_DEFS = TMPL_MODE=BS3_MODE_PAE32_16
427bs3kit-pae32_16_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
428
429# The v8086 BS3Kit library for 32-bit PAE paged protected kernel+tss.
430LIBRARIES += bs3kit-paev86
431bs3kit-paev86_TEMPLATE = VBoxBS3KitImg
432bs3kit-paev86_INSTTYPE = none
433bs3kit-paev86_DEFS = TMPL_MODE=BS3_MODE_PAEV86
434bs3kit-paev86_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
435
436
437# The 16-bit long mode BS3Kit library.
438LIBRARIES += bs3kit-lm16
439bs3kit-lm16_TEMPLATE = VBoxBS3KitImg
440bs3kit-lm16_INSTTYPE = none
441bs3kit-lm16_DEFS = TMPL_MODE=BS3_MODE_LM16
442bs3kit-lm16_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
443
444# The 32-bit long mode BS3Kit library.
445LIBRARIES += bs3kit-lm32
446bs3kit-lm32_TEMPLATE = VBoxBS3KitImg32
447bs3kit-lm32_INSTTYPE = none
448bs3kit-lm32_DEFS = TMPL_MODE=BS3_MODE_LM32
449bs3kit-lm32_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
450
451# The 64-bit long mode BS3Kit library.
452LIBRARIES += bs3kit-lm64
453bs3kit-lm64_TEMPLATE = VBoxBS3KitImg64
454bs3kit-lm64_INSTTYPE = none
455bs3kit-lm64_DEFS = TMPL_MODE=BS3_MODE_LM64
456bs3kit-lm64_SOURCES = $(VBOX_BS3KIT_MODE_SOURCES)
457
458
459#
460# shutdown example.
461#
462MISCBINS += bs3-shutdown
463bs3-shutdown_TEMPLATE = VBoxBS3KitImg
464bs3-shutdown_SOURCES = \
465 bs3-first-pe16.asm \
466 bs3-shutdown.c
467
468
469#
470# DOS Utilities / Testcases.
471#
472MISCBINS += bs3cpudt
473bs3cpudt_TEMPLATE = VBoxBS3KitUtil
474bs3cpudt_SOURCES = \
475 bs3-first-dosexe.asm \
476 bs3cpudt.c
477
478
479#
480# Rule for regenerating bs3kit-mangling-functions-undef.h.
481#
482bs3kit-mangling-code-undef.h: $(PATH_SUB_CURRENT)/bs3kit-mangling-code-define.h
483 $(SED) \
484 -e 's/#define \([a-zA-Z_][a-zA-Z0-9_]*\) .*$(DOLLAR)/#undef \1/' \
485 -e 's/Function needing mangling\./Undefining function mangling - automatically generated by the $@ makefile rule./' \
486 --output $(dir $<)bs3kit-mangling-code-undef.h \
487 $<
488
489
490include $(FILE_KBUILD_SUB_FOOTER)
491
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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