Changeset 60585 in vbox for trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk
- Timestamp:
- Apr 20, 2016 9:48:09 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk
r60578 r60585 157 157 ../../../Runtime/common/asm/ASMSerializeInstruction-rdtscp.asm \ 158 158 159 #160 # We generate a list of files with 16-bit far functions for which we generate161 # 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.h165 # $(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.h170 # .$(CP_CHANGED) --changed -f -- $@ $(PATH_OUT_OBJ)/bs3kit-common-16-near-to-far.kmk171 #include $(PATH)172 173 174 159 # The 16-bit BS3Kit library. 175 160 LIBRARIES += bs3kit-common-16 … … 199 184 bs3-wc16-I4D.asm \ 200 185 bs3-c16-Trap16Generic.asm \ 186 bs3-c16-TrapRmV86Generic.asm \ 187 bs3-c16-Trap16RmV86Data.asm \ 188 bs3-c16-TrapRmV86Data.c \ 201 189 bs3-c16-CreateHybridFarRet.asm 202 190 bs3kit-common-16_bs3-cmn-UInt64Div.c_CFLAGS = -oh -d0 # -d1+ vs -d0 saves 0x6a3-0x577 = 0x12C (300)! 203 bs3kit-common-16_VBOX_NEAR_TO_FAR_CMN_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 220 bs3kit-common-16_VBOX_NEAR_TO_FAR_MODE_FUNCTIONS := \ 221 Bs3TrapInit \ 222 223 bs3kit-common-16_VBOX_FAR_TO_NEAR_CMN_FUNCTIONS := \ 224 ASMMemFirstMismatchingU8:8 \ 225 ASMMemFirstNonZero:6 \ 226 227 $(call BS3KIT_FN_GEN_CMN_NEARSTUBS,bs3kit-common-16,$(bs3kit-common-16_VBOX_NEAR_TO_FAR_CMN_FUNCTIONS)) 228 $(call BS3KIT_FN_GEN_MODE_NEARSTUBS,bs3kit-common-16,$(bs3kit-common-16_VBOX_NEAR_TO_FAR_MODE_FUNCTIONS)) 229 $(call BS3KIT_FN_GEN_CMN_FARSTUBS,bs3kit-common-16,$(bs3kit-common-16_VBOX_FAR_TO_NEAR_CMN_FUNCTIONS)) 191 192 $(call BS3KIT_FN_GEN_CMN_FARSTUB,bs3kit-common-16,ASMMemFirstMismatchingU8,8) 193 $(call BS3KIT_FN_GEN_CMN_FARSTUB,bs3kit-common-16,ASMMemFirstNonZero,6) 194 -include $(PATH_SUB_CURRENT)/bs3kit-autostubs.kmk # manually generated from headers, see bottom of this file. 230 195 231 196 # The 32-bit BS3Kit library. … … 488 453 bs3kit-mangling-code-undef.h: $(PATH_SUB_CURRENT)/bs3kit-mangling-code-define.h 489 454 $(SED) \ 490 -e 's/# define \([a-zA-Z_][a-zA-Z0-9_]*\) .*$(DOLLAR)/#undef \1/' \491 -e 's/Function needing mangling \./Undefining function mangling - automatically generated by the $@ makefile rule./' \455 -e 's/#\( *\)define \([a-zA-Z_][a-zA-Z0-9_]*\) .*$(DOLLAR)/#\1undef \2/' \ 456 -e 's/Function needing mangling.*$(DOLLAR)/Undefining function mangling - automatically generated by the $@ makefile rule./' \ 492 457 --output $(dir $<)bs3kit-mangling-code-undef.h \ 493 458 $< 494 459 460 # 461 # Rule for regenerating bs3kit-mangling-functions-define.h. 462 # 463 bs3kit-mangling-code-define.h: \ 464 $(PATH_SUB_CURRENT)/bs3kit.h \ 465 $(PATH_SUB_CURRENT)/bs3-cmn-paging.h \ 466 $(PATH_SUB_CURRENT)/bs3-cmn-test.h 467 $(APPEND) -tn "$(dir $<)$@" \ 468 '/* $(DOLLAR)Id: $(DOLLAR) */' \ 469 '/** @file' \ 470 ' * BS3Kit - Function needing mangling - generated by the $@ makefile rule.' \ 471 ' */' \ 472 '' \ 473 '/*' \ 474 ' * Copyright (C) 2007-2016 Oracle Corporation' \ 475 ' *' \ 476 ' * This file is part of VirtualBox Open Source Edition (OSE), as' \ 477 ' * available from http://www.virtualbox.org. This file is free software;' \ 478 ' * you can redistribute it and/or modify it under the terms of the GNU' \ 479 ' * General Public License (GPL) as published by the Free Software' \ 480 ' * Foundation, in version 2 as it comes in the "COPYING" file of the' \ 481 ' * VirtualBox OSE distribution. VirtualBox OSE is distributed in the' \ 482 ' * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.' \ 483 ' *' \ 484 ' * The contents of this file may alternatively be used under the terms' \ 485 ' * of the Common Development and Distribution License Version 1.0' \ 486 ' * (CDDL) only, as it comes in the "COPYING.CDDL" file of the' \ 487 ' * VirtualBox OSE distribution, in which case the provisions of the' \ 488 ' * CDDL are applicable instead of those of the GPL.' \ 489 ' *' \ 490 ' * You may elect to license modified versions of this file under the' \ 491 ' * terms and conditions of either the GPL or the CDDL or both.' \ 492 ' */' \ 493 '' 494 $(SED) -n \ 495 -e 's/^ *BS3_CMN_PROTO_STUB([^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/#define \1 BS3_CMN_MANGLER(\1)/p' \ 496 -e 's/^ *BS3_CMN_PROTO_NOSB([^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/#define \1 BS3_CMN_MANGLER(\1)/p' \ 497 -e 's/^ *BS3_CMN_PROTO_FARSTUB([^,]*,[^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/#define \1 BS3_CMN_MANGLER(\1)/p' \ 498 $< | sort >> "$(dir $<)bs3kit-mangling-code-define.h" 499 $(APPEND) -n "$(dir $<)$@" '#ifndef BS3_CMN_ONLY' 500 $(SED) -n \ 501 -e 's/^ *BS3_MODE_PROTO_STUB([^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/# define \1 BS3_MODE_MANGLER(\1)/p' \ 502 -e 's/^ *BS3_MODE_PROTO_NOSB([^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/# define \1 BS3_MODE_MANGLER(\1)/p' \ 503 -e 's/^ *BS3_MODE_PROTO_FARSTUB([^,]*,[^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/# define \1 BS3_MODE_MANGLER(\1)/p' \ 504 $< | sort >> "$(dir $<)bs3kit-mangling-code-define.h" 505 $(APPEND) -n "$(dir $<)$@" '#endif /* !BS3_CMN_ONLY */' 506 507 # 508 # Rule for regenerating bs3kit-autostubs.kmk. 509 # 510 bs3kit-autostubs.kmk: \ 511 $(PATH_SUB_CURRENT)/bs3kit.h \ 512 $(PATH_SUB_CURRENT)/bs3-cmn-memory.h \ 513 $(PATH_SUB_CURRENT)/bs3-cmn-paging.h \ 514 $(PATH_SUB_CURRENT)/bs3-cmn-test.h 515 $(APPEND) -tn "$(dir $<)$@" \ 516 '# $(DOLLAR)Id: $(DOLLAR)' \ 517 '## @file' \ 518 '# BS3Kit - Automatic near/far stubs - generated by the $@ makefile rule.' \ 519 '#' \ 520 '' \ 521 '#' \ 522 '# Copyright (C) 2007-2016 Oracle Corporation' \ 523 '#' \ 524 '# This file is part of VirtualBox Open Source Edition (OSE), as' \ 525 '# available from http://www.virtualbox.org. This file is free software;' \ 526 '# you can redistribute it and/or modify it under the terms of the GNU' \ 527 '# General Public License (GPL) as published by the Free Software' \ 528 '# Foundation, in version 2 as it comes in the "COPYING" file of the' \ 529 '# VirtualBox OSE distribution. VirtualBox OSE is distributed in the' \ 530 '# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.' \ 531 '#' \ 532 '# The contents of this file may alternatively be used under the terms' \ 533 '# of the Common Development and Distribution License Version 1.0' \ 534 '# (CDDL) only, as it comes in the "COPYING.CDDL" file of the' \ 535 '# VirtualBox OSE distribution, in which case the provisions of the' \ 536 '# CDDL are applicable instead of those of the GPL.' \ 537 '#' \ 538 '# You may elect to license modified versions of this file under the' \ 539 '# terms and conditions of either the GPL or the CDDL or both.' \ 540 '#' \ 541 '' 542 $(SED) -n \ 543 -e '/^ *BS3_CMN_PROTO_STUB/p' \ 544 -e '/^ *BS3_CMD_PROTO_FARSTUB/p' \ 545 -e '/^ *BS3_MODE_PROTO_STUB/p' \ 546 -e '/^ *BS3_MODE_PROTO_FARSTUB/p' \ 547 $< \ 548 | sort \ 549 | $(SED) -n \ 550 -e 's/^ *BS3_CMN_PROTO_STUB([^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/\$(DOLLAR)(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,\1)/p' \ 551 -e 's/^ *BS3_MODE_PROTO_STUB([^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/\$(DOLLAR)(call BS3KIT_FN_GEN_MODE_NEARSTUB,bs3kit-common-16,\1)/p' \ 552 -e 's/^ *BS3_CMN_PROTO_FARSTUB( *\([^,]*\),[^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/\$(DOLLAR)(call BS3KIT_FN_GEN_CMN_FARSTUB,bs3kit-common-16,\2,\1)/p' \ 553 -e 's/^ *BS3_MODE_PROTO_FARSTUB( *\([^,]*\),[^,]*, *\([a-zA-Z_][a-zA-Z0-9_]*\) *,.*$(DOLLAR)/\$(DOLLAR)(call BS3KIT_FN_GEN_MODE_FARSTUB,bs3kit-common-16,\2,\1)/p' \ 554 --append "$(dir $<)$@" 555 556 bs3kit-update:: bs3kit-autostubs.kmk bs3kit-mangling-code-define.h bs3kit-mangling-code-undef.h 557 .NOTPARALLEL: bs3kit-autostubs.kmk bs3kit-mangling-code-define.h bs3kit-mangling-code-undef.h 558 495 559 496 560 include $(FILE_KBUILD_SUB_FOOTER)
Note:
See TracChangeset
for help on using the changeset viewer.