source: trunk/kBuild/sdks/WINSDK10.kmk@ 3500

Last change on this file since 3500 was 3500, checked in by bird, 4 years ago

sdks/WINSDK10*kmk: Corrected INCS properties for the windows 10 SDKs.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 8.5 KB
Line 
1# $Id: WINSDK10.kmk 3500 2021-12-14 09:38:34Z bird $
2## @file
3# kBuild SDK - The Microsoft Windows SDK v10.
4#
5
6#
7# Copyright (c) 2006-2020 knut st. osmundsen <bird-kBuild-spam-xx@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
34SDK_WINSDK10 := The Windows Platform SDK v7.1, targeting (KBUILD_TARGET).
35
36ifndef INCLUDED_WIN_COMMON_KMK
37 include $(KBUILD_PATH)/win-common.kmk
38endif
39
40#
41# SDK Specific Properties
42#
43
44## @def PATH_SDK_WINSDK10
45## The base path of the Windows 10 SDK.
46## @def SDK_WINSDK10_VERSION
47## The SDK version for subdirectories.
48ifndef PATH_SDK_WINSDK10
49 ifndef SDK_WINSDK10_VERSION
50 PATH_SDK_WINSDK10 := $(firstfile $(foreachfile toolsdir, \
51 $(KBUILD_DEVTOOLS_BLD) $(KBUILD_DEVTOOLS_TRG) $(KBUILD_DEVTOOLS)/win.x86 $(KBUILD_DEVTOOLS)/win.amd64 \
52 , $(rsortfiles $(qwildcard ,$(toolsdir)/sdk/v10*/[Ii][Nn][Cc][Ll][Uu][Dd][Ee]/10.0.*))))
53 ifeq ($(PATH_SDK_WINSDK10),)
54 PATH_SDK_WINSDK10 := $(firstfile $(foreachfile progfilesdir,$(WINCMN_PROGRAM_FILES_LIST)\
55 ,$(rsortfiles $(qwildcard ,$(progfilesdir)/Windows\ Kits/10/[Ii][Nn][Cc][Ll][Uu][Dd][Ee]/10.0.*)) ))
56 ifeq ($(PATH_SDK_WINSDK10),)
57 $(warning kBuild: PATH_SDK_WINSDK10 couldn't be determined!)
58 PATH_SDK_WINSDK10 := $(KBUILD_DEVTOOLS_BLD)/sdk/v10-not-found/Include/10.0.10240.0
59 endif
60 endif
61 SDK_WINSDK10_VERSION := $(qnotdir ,$(PATH_SDK_WINSDK10))
62 else
63 PATH_SDK_WINSDK10 := $(firstfile $(foreachfile toolsdir, \
64 $(KBUILD_DEVTOOLS_BLD) $(KBUILD_DEVTOOLS_TRG) $(KBUILD_DEVTOOLS)/win.x86 $(KBUILD_DEVTOOLS)/win.amd64 \
65 , $(rsortfiles $(qwildcard ,$(toolsdir)/sdk/v10*/[Ii][Nn][Cc][Ll][Uu][Dd][Ee]/$(SDK_WINSDK10_VERSION)))))
66 ifeq ($(PATH_SDK_WINSDK10),)
67 PATH_SDK_WINSDK10 := $(firstfile $(foreachfile progfilesdir,$(WINCMN_PROGRAM_FILES_LIST)\
68 ,$(rsortfiles $(qwildcard ,$(progfilesdir)/Windows\ Kits/10/[Ii][Nn][Cc][Ll][Uu][Dd][Ee]/$(SDK_WINSDK10_VERSION))) ))
69 ifeq ($(PATH_SDK_WINSDK10),)
70 $(warning kBuild: PATH_SDK_WINSDK10 couldn't be determined!)
71 PATH_SDK_WINSDK10 := $(KBUILD_DEVTOOLS_BLD)/sdk/v10-not-found/Include/$(SDK_WINSDK10_VERSION)
72 endif
73 endif
74 SDK_WINSDK10_VERSION := $(qnotdir ,$(PATH_SDK_WINSDK10))
75 endif
76 PATH_SDK_WINSDK10 := $(substr $(qdir ,$(PATH_SDK_WINSDK10)),1,-9)
77else
78 PATH_SDK_WINSDK10 := $(PATH_SDK_WINSDK10)
79 ifndef SDK_WINSDK10_VERSION
80 SDK_WINSDK10_VERSION := $(qnotdir ,$(firstfile $(rsortfiles $(qwildcard ,$(PATH_SDK_WINSDK10)/[Ii][Nn][Cc][Ll][Uu][Dd][Ee]/10.0.*))))
81 ifeq ($(SDK_WINSDK10_VERSION),)
82 $(warning kBuild: SDK_WINSDK10_VERSION could not be determined for PATH_SDK_WINSDK10=$(PATH_SDK_WINSDK10))
83 SDK_WINSDK10_VERSION := 10.0.10240.0
84 endif
85 endif
86endif
87
88# Non-versioned base directory paths:
89ifndef PATH_SDK_WINSDK10_BASE_INC
90PATH_SDK_WINSDK10_BASE_INC := $(firstfile $(qwildcard ,$(PATH_SDK_WINSDK10)/[Ii][Nn][Cc][Ll][Uu][Dd][Ee]) $(PATH_SDK_WINSDK10)/Include)
91endif
92ifndef PATH_SDK_WINSDK10_BASE_LIB
93PATH_SDK_WINSDK10_BASE_LIB := $(firstfile $(qwildcard ,$(PATH_SDK_WINSDK10)/[Ll][Ii][Bb]) $(PATH_SDK_WINSDK10)/lib)
94endif
95ifndef PATH_SDK_WINSDK10_BASE_BIN
96PATH_SDK_WINSDK10_BASE_BIN := $(firstfile $(qwildcard ,$(PATH_SDK_WINSDK10)/[Bb][Ii][Nn]) $(PATH_SDK_WINSDK10)/bin)
97endif
98
99# Universal CRT (UCRT).
100ifndef PATH_SDK_WINSDK10_UCRT_INC
101PATH_SDK_WINSDK10_UCRT_INC := $(PATH_SDK_WINSDK10_BASE_INC)/$(SDK_WINSDK10_VERSION)/ucrt
102endif
103ifndef PATH_SDK_WINSDK10_UCRT_LIB.amd64
104PATH_SDK_WINSDK10_UCRT_LIB.amd64 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/ucrt/x64
105endif
106ifndef PATH_SDK_WINSDK10_UCRT_LIB.arm32
107PATH_SDK_WINSDK10_UCRT_LIB.arm32 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/ucrt/arm
108endif
109ifndef PATH_SDK_WINSDK10_UCRT_LIB.arm64
110PATH_SDK_WINSDK10_UCRT_LIB.arm64 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/ucrt/arm64
111endif
112ifndef PATH_SDK_WINSDK10_UCRT_LIB.x86
113PATH_SDK_WINSDK10_UCRT_LIB.x86 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/ucrt/x86
114endif
115PATH_SDK_WINSDK10_UCRT_LIB = $(PATH_SDK_WINSDK10_UCRT_LIB.$(KBUILD_TARGET_ARCH))
116SDK_WINSDK10_UCRT_IMPLIB_NAME := ucrt.lib
117SDK_WINSDK10_UCRT_IMPLIB_DBG_NAME := ucrtd.lib
118SDK_WINSDK10_UCRT_STATIC_NAME := libucrt.lib
119SDK_WINSDK10_UCRT_STATIC_DBG_NAME := libucrtd.lib
120
121# Shared API headers
122ifndef PATH_SDK_WINSDK10_SHARED_INC
123PATH_SDK_WINSDK10_SHARED_INC := $(PATH_SDK_WINSDK10_BASE_INC)/$(SDK_WINSDK10_VERSION)/shared
124endif
125
126# User-mode API (MS WIN SDK)
127ifndef PATH_SDK_WINSDK10_UM_INC
128PATH_SDK_WINSDK10_UM_INC := $(PATH_SDK_WINSDK10_BASE_INC)/$(SDK_WINSDK10_VERSION)/um
129endif
130ifndef PATH_SDK_WINSDK10_UM_LIB.amd64
131PATH_SDK_WINSDK10_UM_LIB.amd64 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/um/x64
132endif
133ifndef PATH_SDK_WINSDK10_UM_LIB.arm32
134PATH_SDK_WINSDK10_UM_LIB.arm32 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/um/arm
135endif
136ifndef PATH_SDK_WINSDK10_UM_LIB.arm64
137PATH_SDK_WINSDK10_UM_LIB.arm64 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/um/arm64
138endif
139ifndef PATH_SDK_WINSDK10_UM_LIB.x86
140PATH_SDK_WINSDK10_UM_LIB.x86 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/um/x86
141endif
142PATH_SDK_WINSDK10_UM_LIB = $(PATH_SDK_WINSDK10_UM_LIB.$(KBUILD_TARGET_ARCH))
143ifndef SDK_WINSDK10_UM_LIB_NAMES
144SDK_WINSDK10_UM_LIB_NAMES := \
145 Kernel32.Lib \
146 User32.Lib \
147 Gdi32.Lib \
148 AdvAPI32.Lib \
149 shell32.lib \
150 ShLwApi.Lib \
151 SetupAPI.Lib \
152 Uuid.Lib \
153 Version.Lib \
154 WS2_32.Lib \
155 \
156 Ole32.Lib \
157 OleAut32.Lib \
158 OleDlg.Lib \
159 RpcRT4.Lib \
160 DbgHelp.Lib \
161 \
162 ImageHlp.Lib \
163 IPHlpApi.Lib \
164 ComCtl32.Lib \
165 ComDlg32.Lib \
166 WinSpool.Lib \
167 WinMM.Lib
168endif
169
170# Kernel-mode API headers (WDK).
171ifndef PATH_SDK_WINSDK10_KM_INC
172PATH_SDK_WINSDK10_KM_INC := $(PATH_SDK_WINSDK10_BASE_INC)/$(SDK_WINSDK10_VERSION)/km
173endif
174ifndef PATH_SDK_WINSDK10_KM_LIB.amd64
175PATH_SDK_WINSDK10_KM_LIB.amd64 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/km/x64
176endif
177ifndef PATH_SDK_WINSDK10_KM_LIB.arm32
178PATH_SDK_WINSDK10_KM_LIB.arm32 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/km/arm
179endif
180ifndef PATH_SDK_WINSDK10_KM_LIB.arm64
181PATH_SDK_WINSDK10_KM_LIB.arm64 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/km/arm64
182endif
183ifndef PATH_SDK_WINSDK10_KM_LIB.x86
184PATH_SDK_WINSDK10_KM_LIB.x86 := $(PATH_SDK_WINSDK10_BASE_LIB)/$(SDK_WINSDK10_VERSION)/km/x86
185endif
186PATH_SDK_WINSDK10_KM_LIB = $(PATH_SDK_WINSDK10_KM_LIB.$(KBUILD_TARGET_ARCH))
187
188# Binary directory for host.
189ifndef PATH_SDK_WINSDK10_BIN
190 ifeq ($(KBUILD_HOST_ARCH),amd64)
191PATH_SDK_WINSDK10_BIN := $(PATH_SDK_WINSDK10_BASE_BIN)/$(SDK_WINSDK10_VERSION)/x64
192 else ifeq ($(KBUILD_HOST_ARCH),arm)
193PATH_SDK_WINSDK10_BIN := $(PATH_SDK_WINSDK10_BASE_BIN)/$(SDK_WINSDK10_VERSION)/arm
194 else
195PATH_SDK_WINSDK10_BIN := $(PATH_SDK_WINSDK10_BASE_BIN)/$(SDK_WINSDK10_VERSION)/$(KBUILD_HOST_ARCH)
196 endif
197endif
198
199#
200# Properties used by kBuild.
201#
202SDK_WINSDK10_INCS ?= \
203 $(PATH_SDK_WINSDK10_UM_INC) \
204 $(PATH_SDK_WINSDK10_SHARED_INC)
205SDK_WINSDK10_LIBPATH.amd64 ?= $(PATH_SDK_WINSDK10_UM_LIB.amd64)
206SDK_WINSDK10_LIBPATH.arm32 ?= $(PATH_SDK_WINSDK10_UM_LIB.arm32)
207SDK_WINSDK10_LIBPATH.arm64 ?= $(PATH_SDK_WINSDK10_UM_LIB.arm64)
208SDK_WINSDK10_LIBPATH.x86 ?= $(PATH_SDK_WINSDK10_UM_LIB.x86)
209ifndef SDK_WINSDK10_LIBS.amd64
210SDK_WINSDK10_LIBS.amd64 := $(addprefix $(PATH_SDK_WINSDK10_UM_LIB.amd64)/,$(SDK_WINSDK10_UM_LIB_NAMES))
211endif
212ifndef SDK_WINSDK10_LIBS.arm32
213SDK_WINSDK10_LIBS.arm32 := $(addprefix $(PATH_SDK_WINSDK10_UM_LIB.arm32)/,$(SDK_WINSDK10_UM_LIB_NAMES))
214endif
215ifndef SDK_WINSDK10_LIBS.arm64
216SDK_WINSDK10_LIBS.arm64 := $(addprefix $(PATH_SDK_WINSDK10_UM_LIB.arm64)/,$(SDK_WINSDK10_UM_LIB_NAMES))
217endif
218ifndef SDK_WINSDK10_LIBS.x86
219SDK_WINSDK10_LIBS.x86 := $(addprefix $(PATH_SDK_WINSDK10_UM_LIB.x86)/,$(SDK_WINSDK10_UM_LIB_NAMES))
220endif
221
Note: See TracBrowser for help on using the repository browser.