| 1 | # $Id: win-common.kmk 3597 2023-06-16 20:56:17Z bird $
 | 
|---|
| 2 | ## @file
 | 
|---|
| 3 | # kBuild Common Windows Definitions - Used by tools and SDKs.
 | 
|---|
| 4 | #
 | 
|---|
| 5 | 
 | 
|---|
| 6 | #
 | 
|---|
| 7 | # Copyright (c) 2004-2020 knut st. osmundsen <bird-kBuild-spam-xviiv@anduin.net>
 | 
|---|
| 8 | #
 | 
|---|
| 9 | # This file is part of kBuild.
 | 
|---|
| 10 | #
 | 
|---|
| 11 | # kBuild is free software; you can redistribute it and/or modify
 | 
|---|
| 12 | # it under the terms of the GNU General Public License as published by
 | 
|---|
| 13 | # the Free Software Foundation; either version 2 of the License, or
 | 
|---|
| 14 | # (at your option) any later version.
 | 
|---|
| 15 | #
 | 
|---|
| 16 | # kBuild is distributed in the hope that it will be useful,
 | 
|---|
| 17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
| 18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|---|
| 19 | # GNU General Public License for more details.
 | 
|---|
| 20 | #
 | 
|---|
| 21 | # You should have received a copy of the GNU General Public License
 | 
|---|
| 22 | # along with kBuild; if not, write to the Free Software
 | 
|---|
| 23 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
|---|
| 24 | #
 | 
|---|
| 25 | #
 | 
|---|
| 26 | # As a special exception you are granted permission to include this file, via
 | 
|---|
| 27 | # the kmk include directive, as you wish without this in itself causing the
 | 
|---|
| 28 | # resulting makefile, program or whatever to be covered by the GPL license.
 | 
|---|
| 29 | # This exception does not however invalidate any other reasons why the makefile,
 | 
|---|
| 30 | # program, whatever should not be covered the GPL.
 | 
|---|
| 31 | #
 | 
|---|
| 32 | #
 | 
|---|
| 33 | 
 | 
|---|
| 34 | INCLUDED_WIN_COMMON_KMK := 1
 | 
|---|
| 35 | 
 | 
|---|
| 36 | ## @def WINCMN_PROGRAM_FILES
 | 
|---|
| 37 | ## The 'Program Files' directory, with forward slashes and GNU make quoted.
 | 
|---|
| 38 | WINCMN_PROGRAM_FILES := $(quote $(subst \,/,${ProgramFiles}))
 | 
|---|
| 39 | 
 | 
|---|
| 40 | ## @def WINCMN_PROGRAM_FILES_ALT
 | 
|---|
| 41 | ## The 'Program Files (x86)' directory, with forward slashes and GNU make quoted.
 | 
|---|
| 42 | WINCMN_PROGRAM_FILES_ALT := $(quote $(subst \,/,${ProgramFiles(x86)}))
 | 
|---|
| 43 | 
 | 
|---|
| 44 | ## @def WINCMN_PROGRAM_FILES_LIST_EXTRA
 | 
|---|
| 45 | ## Additional 'Program Files'-like locations to search for stuff.  Handy for EWDK.
 | 
|---|
| 46 | ## GNU make quoting.
 | 
|---|
| 47 | WINCMN_PROGRAM_FILES_LIST_EXTRA ?=
 | 
|---|
| 48 | 
 | 
|---|
| 49 | ## @def WINCMN_PROGRAM_FILES_LIST
 | 
|---|
| 50 | ## The 'Program Files'-like locations to search for stuff.  GNU make quoting.
 | 
|---|
| 51 | WINCMN_PROGRAM_FILES_LIST := $(WINCMN_PROGRAM_FILES_LIST_EXTRA) $(WINCMN_PROGRAM_FILES) $(WINCMN_PROGRAM_FILES_ALT)
 | 
|---|
| 52 | 
 | 
|---|
| 53 | ## @def WINCMN_MAP_ARCH.*
 | 
|---|
| 54 | ## Maps kBuild architecture names to one used by newer windows tools and kits.
 | 
|---|
| 55 | ## @{
 | 
|---|
| 56 | WINCMN_MAP_ARCH.amd64 := x64
 | 
|---|
| 57 | WINCMN_MAP_ARCH.arm32 := arm
 | 
|---|
| 58 | WINCMN_MAP_ARCH.arm64 := arm64
 | 
|---|
| 59 | WINCMN_MAP_ARCH.ia64  := ia64
 | 
|---|
| 60 | WINCMN_MAP_ARCH.x86   := x86
 | 
|---|
| 61 | ## @}
 | 
|---|
| 62 | 
 | 
|---|
| 63 | ## @def WINCMN_MT_RETRY
 | 
|---|
| 64 | ## Invocation of script for retrying MT.EXE when it clashes with AV software.
 | 
|---|
| 65 | WINCMN_MT_RETRY = $(ASH) $(KBUILD_PATH)/retry-10-delay-500ms.sh
 | 
|---|