Changeset 1653 for trunk/kBuild


Ignore:
Timestamp:
Jun 27, 2008, 1:33:34 AM (17 years ago)
Author:
bird
Message:

WinDDK (vista / w2k8).

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/sdks/WINDDK.kmk

    r1652 r1653  
    11# $Id$
    22## @file
    3 # kBuild SDK - The Microsoft Windows 2003 DDK, targeting $(KBUILD_TARGET).
     3# kBuild SDK - The Microsoft Windows Vista and Server 2008 DDKs.
     4#              Defaults to $(KBUILD_TARGET_ARCH). Base SDK.
    45#
    56
     
    2526#
    2627# 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. 
     28# the kmk include directive, as you wish without this in itself causing the
     29# resulting makefile, program or whatever to be covered by the GPL license.
    2930# This exception does not however invalidate any other reasons why the makefile,
    3031# program, whatever should not be covered the GPL.
     
    3233#
    3334
    34 SDK_W2K3DDK := The Microsoft Windows 2003 DDK, targeting $(KBUILD_TARGET).
     35SDK_WINDDK := The Microsoft Windows Vista and Server 2008 DDKs. \
     36              Defaults to $(KBUILD_TARGET_ARCH). Base SDK.
    3537
    3638# SDK Specific Properties
    37 ifndef PATH_SDK_W2K3DDK
    38  PATH_SDK_W2K3DDK := $(wildcard $(PATH_DEVTOOLS_TRG)/ddkwin2k3/2*)
    39  ifeq ($(PATH_SDK_W2K3DDK),)
    40   PATH_SDK_W2K3DDK := $(wildcard $(PATH_DEVTOOLS_BLD)/ddkwin2k3/2*)
     39ifndef PATH_SDK_WINDDK
     40 PATH_SDK_WINDDK := $(wildcard $(PATH_DEVTOOLS_TRG)/ddk/6*)
     41 ifeq ($(PATH_SDK_WINDDK),)
     42  PATH_SDK_WINDDK := $(wildcard $(PATH_DEVTOOLS)/win.x86/ddk/6*)
    4143 endif
    42  ifeq ($(PATH_SDK_W2K3DDK),)
    43   PATH_SDK_W2K3DDK := $(wildcard $(PATH_DEVTOOLS)/win.x86/ddkwin2k3/2*)
     44 ifeq ($(PATH_SDK_WINDDK),)
     45  PATH_SDK_WINDDK := $(wildcard $(PATH_DEVTOOLS)/win.amd64/ddk/6*)
    4446 endif
    45  ifeq ($(PATH_SDK_W2K3DDK),)
    46   PATH_SDK_W2K3DDK := $(wildcard $(PATH_DEVTOOLS)/win.amd64/ddkwin2k3/2*)
    47  endif
    48  ifeq ($(PATH_SDK_W2K3DDK),)
    49   PATH_SDK_W2K3DDK := $(wildcard $(PATH_DEVTOOLS)/x86.win32/ddkwin2k3/2*)
    50  endif
    51  ifeq ($(PATH_SDK_W2K3DDK),)
    52   ifneq ($(wildcard $(PATH_DEVTOOLS)/x86.win32/ddkwin2k3/lib/wnet/i386/*.lib),)
    53    PATH_SDK_W2K3DDK := $(PATH_DEVTOOLS)/x86.win32/ddkwin2k3
     47 ifeq ($(PATH_SDK_WINDDK),)
     48  ifeq ($(KBUILD_HOST),win)
     49   PATH_SDK_WINDDK := $(wildcard C:/WinDDK/6*)
    5450  endif
    5551 endif
    56  ifneq ($(PATH_SDK_W2K3DDK),)
    57   PATH_SDK_W2K3DDK := $(lastword $(sort $(PATH_SDK_W2K3DDK)))
     52 ifneq ($(PATH_SDK_WINDDK),)
     53  PATH_SDK_WINDDK := $(lastword $(sort $(PATH_SDK_WINDDK)))
    5854 else
    59   $(warning kBuild: PATH_SDK_W2K3DDK couldn't be determined!)
    60   PATH_SDK_W2K3DDK := $(PATH_DEVTOOLS)/win.x86/ddkwin2k3/not/found
     55  $(warning kBuild: PATH_SDK_WINDDK couldn't be determined!)
     56  PATH_SDK_WINDDK := $(PATH_DEVTOOLS)/win.x86/ddk/not/found
    6157 endif
    6258else
    6359 # Resolve any fancy stuff once and for all.
    64  PATH_SDK_W2K3DDK := $(PATH_SDK_W2K3DDK)
     60 PATH_SDK_WINDDK := $(PATH_SDK_WINDDK)
    6561endif
    66 PATH_SDK_W2K3DDK_INC ?= $(PATH_SDK_W2K3DDK)/inc
    67 PATH_SDK_W2K3DDK_LIB.amd64 ?= $(PATH_SDK_W2K3DDK)/lib/wnet/AMD64
    68 PATH_SDK_W2K3DDK_LIB.x86 ?= $(PATH_SDK_W2K3DDK)/lib/wnet/i386
    69 PATH_SDK_W2K3DDK_LIB ?= $(PATH_SDK_W2K3DDK_LIB.$(KBUILD_TARGET_ARCH))
     62
     63PATH_SDK_WINDDK_INC     ?= $(PATH_SDK_WINDDK)/inc
     64PATH_SDK_WINDDK_INC_API ?= $(PATH_SDK_WINDDK_INC)/api
     65PATH_SDK_WINDDK_INC_CRT ?= $(PATH_SDK_WINDDK_INC)/crt
     66PATH_SDK_WINDDK_INC_DDK ?= $(PATH_SDK_WINDDK_INC)/ddk
     67
     68PATH_SDK_WINDDK_LIB_ROOT      ?= $(PATH_SDK_WINDDK)/lib
     69PATH_SDK_WINDDK_LIB_WLH_ROOT  ?= $(PATH_SDK_WINDDK_LIB_ROOT)/wlh
     70PATH_SDK_WINDDK_LIB_WNET_ROOT ?= $(PATH_SDK_WINDDK_LIB_ROOT)/wnet
     71PATH_SDK_WINDDK_LIB_WXP_ROOT  ?= $(PATH_SDK_WINDDK_LIB_ROOT)/wxp
     72PATH_SDK_WINDDK_LIB_W2K_ROOT  ?= $(PATH_SDK_WINDDK_LIB_ROOT)/w2k
     73PATH_SDK_WINDDK_LIB_WDF_ROOT  ?= $(PATH_SDK_WINDDK_LIB_ROOT)/w2k
     74
     75PATH_SDK_WINDDK_LIB_WLH.amd64 ?= $(PATH_SDK_WINDDK_LIB_WLH_ROOT)/amd64
     76PATH_SDK_WINDDK_LIB_WLH.ia64  ?= $(PATH_SDK_WINDDK_LIB_WLH_ROOT)/ia64
     77PATH_SDK_WINDDK_LIB_WLH.x86   ?= $(PATH_SDK_WINDDK_LIB_WLH_ROOT)/i386
     78PATH_SDK_WINDDK_LIB_WLH       ?= $(PATH_SDK_WINDDK_LIB_WLH.$(KBUILD_TARGET_ARCH))
     79
     80PATH_SDK_WINDDK_LIB_WNET.amd64?= $(PATH_SDK_WINDDK_LIB_WNET_ROOT)/amd64
     81PATH_SDK_WINDDK_LIB_WNET.ia64 ?= $(PATH_SDK_WINDDK_LIB_WNET_ROOT)/ia64
     82PATH_SDK_WINDDK_LIB_WNET.x86  ?= $(PATH_SDK_WINDDK_LIB_WNET_ROOT)/i386
     83PATH_SDK_WINDDK_LIB_WNET      ?= $(PATH_SDK_WINDDK_LIB_WNET.$(KBUILD_TARGET_ARCH))
     84
     85PATH_SDK_WINDDK_LIB_WXP.x86   ?= $(PATH_SDK_WINDDK_LIB_WXP_ROOT)/i386
     86PATH_SDK_WINDDK_LIB_WXP       ?= $(PATH_SDK_WINDDK_LIB_WXP.$(KBUILD_TARGET_ARCH))
     87
     88PATH_SDK_WINDDK_LIB_W2K.x86   ?= $(PATH_SDK_WINDDK_LIB_W2K_ROOT)/i386
     89PATH_SDK_WINDDK_LIB_W2K       ?= $(PATH_SDK_WINDDK_LIB_W2K.$(KBUILD_TARGET_ARCH))
     90
     91PATH_SDK_WINDDK_LIB.amd64     ?= $(PATH_SDK_WINDDK_LIB_WLH.amd64)
     92PATH_SDK_WINDDK_LIB.ia64      ?= $(PATH_SDK_WINDDK_LIB_WLH.ia64)
     93PATH_SDK_WINDDK_LIB.x86       ?= $(PATH_SDK_WINDDK_LIB_WLH.x86)
     94PATH_SDK_WINDDK_LIB           ?= $(PATH_SDK_WINDDK_LIB.$(KBUILD_TARGET_ARCH))
    7095
    7196# General Properties used by kBuild
    72 SDK_W2K3DDK_DEFS.amd64 ?= _AMD64_
    73 SDK_W2K3DDK_DEFS.x86 ?= _X86_
    74 SDK_W2K3DDK_INCS ?= \
    75         $(PATH_SDK_W2K3DDK_INC)/ddk \
    76         $(PATH_SDK_W2K3DDK_INC)/ddk/wnet \
    77         $(PATH_SDK_W2K3DDK_INC)/wnet \
    78         $(PATH_SDK_W2K3DDK_INC)/ddk/wdm/wnet
    79 SDK_W2K3DDK_LIBPATH.amd64 ?= $(PATH_SDK_W2K3DDK_LIB.amd64)
    80 SDK_W2K3DDK_LIBPATH.x86 ?= $(PATH_SDK_W2K3DDK_LIB.x86)
     97SDK_WINDDK_DEFS.amd64    ?= _AMD64_ AMD64 _WIN64
     98SDK_WINDDK_DEFS.ia64     ?= _IA64_=1 IA64=1 _WIN64
     99SDK_WINDDK_DEFS.x86      ?= _X86_=1 i386=1
     100SDK_WINDDK_INCS          ?= \
     101        $(PATH_SDK_WINDDK_INC_API) \
     102        $(PATH_SDK_WINDDK_INC_DDK)
     103# The compiler tool(s) will have to select the appropriate crt includes.
     104SDK_WINDDK_LIBPATH.amd64 ?= $(PATH_SDK_WINDDK_LIB_WLH.amd64)
     105SDK_WINDDK_LIBPATH.ia64  ?= $(PATH_SDK_WINDDK_LIB_WLH.ia64)
     106SDK_WINDDK_LIBPATH.x86   ?= $(PATH_SDK_WINDDK_LIB_WLH.x86)
    81107
     108#
     109# CDFS defines for the various build environments. Just to give an idea what
     110# you should put in your templates and target DEFS.
     111#
     112
     113# Vista / Server Longhorn x64 Free:  NT_INST=0 WIN32=100 _WIN32_WINNT=0x0600 WINVER=0x0600 _WIN32_IE=0x0700 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x06000000 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL
     114# Vista / Server Longhorn ia64 Free: NT_INST=0 WIN32=100 _WIN32_WINNT=0x0600 WINVER=0x0600 _WIN32_IE=0x0700 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x06000000 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL NO_HW_DETECT _MSC_EXTENSIONS _MERCED_A0_=1 FPO=0
     115# Vista / Server Longhorn x86 Free:  NT_INST=0 WIN32=100 _WIN32_WINNT=0x0600 WINVER=0x0600 _WIN32_IE=0x0700 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x06000000 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL STD_CALL FPO=0
     116# Windows Server 2003 amd64 Free:    NT_INST=0 WIN32=100 _WIN32_WINNT=0x0502 WINVER=0x0502 _WIN32_IE=0x0603 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x05020100 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL
     117# Windows Server 2003 ia64 Free:     NT_INST=0 WIN32=100 _WIN32_WINNT=0x0502 WINVER=0x0502 _WIN32_IE=0x0603 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x05020100 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL NO_HW_DETECT _MSC_EXTENSIONS _MERCED_A0_=1 FPO=0
     118# Windows Server 2003 x86 Free:      NT_INST=0 WIN32=100 _WIN32_WINNT=0x0502 WINVER=0x0502 _WIN32_IE=0x0603 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x05020100 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL STD_CALL FPO=0
     119# Windows XP Free:                   NT_INST=0 WIN32=100 _WIN32_WINNT=0x0501 WINVER=0x0501 _WIN32_IE=0x0603 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x05010200 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL STD_CALL FPO=0
     120# Windows 2000 Free:                 NT_INST=0 WIN32=100 _WIN32_WINNT=0x0500 WINVER=0x0500 _WIN32_IE=0x0501 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x05000400 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL STD_CALL FPO=0
     121# Windows 2000 Checked:              NT_INST=0 WIN32=100 _WIN32_WINNT=0x0500 WINVER=0x0500 _WIN32_IE=0x0501 WIN32_LEAN_AND_MEAN=1 NTDDI_VERSION=0x05000400 KMDF_MAJOR_VERSION=01 KMDF_MINOR_VERSION=005 CONDITION_HANDLING=1 DEVL=1 NDEBUG __BUILDMACHINE__=WinDDK _DLL STD_CALL FPO=0 MSC_NOOPT
     122
     123# Some notes about the defines:
     124#  NTDDI_VERSION indicates the target NT version, looks kind of important to get right.
     125#  _WIN32_WINNT, WINVER and _WIN32_IE are used by a bunch of headers for selecting features.
     126#  WIN32_LEAN_AND_MEAN is used by api\WINDOWS.H to drop a bunch of includes.
     127#  WIN32 is just used for some ifdef'ing by a handful headers.
     128#  __BUILDMACHINE__ is used by api\common.ver (for resources it seems).
     129#  STD_CALL is used by ddk\stdcall.inc (masm).
     130#  DEVL governs the IF_NTOS_DEBUG() macro in ddk\wdm.h.
     131#  NDEBUG is used by crt\assert.h dictated by the standards.
     132#  CONDITION_HANDLING, FPO, KMDF_MAJOR_VERSION, KMDF_MINOR_VERSION, MSC_NOOPT and NT_INST are not referenced in any headers.
     133
Note: See TracChangeset for help on using the changeset viewer.