diff options
| author | ruki <waruqi@gmail.com> | 2018-06-05 00:57:39 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-06-04 23:45:57 +0800 |
| commit | df20bad780dd14fc1f1773f95c58e0ca61a13923 (patch) | |
| tree | 67256d6e6df07a16aa9bb4b07eeb237fc42f8277 | |
| parent | 27e8717e8966bdb908ef22f51b7d41be47b79d64 (diff) | |
| download | xmake-docs-df20bad780dd14fc1f1773f95c58e0ca61a13923.tar.gz xmake-docs-df20bad780dd14fc1f1773f95c58e0ca61a13923.zip | |
modify wdk rules
| -rw-r--r-- | README.md | 27 | ||||
| -rw-r--r-- | manual.md | 83 | ||||
| -rw-r--r-- | zh/README.md | 29 | ||||
| -rw-r--r-- | zh/manual.md | 79 |
4 files changed, 111 insertions, 107 deletions
@@ -409,13 +409,13 @@ If you want to known more information, you can see [#159](https://github.com/tbo ```lua target("echo") - add_rules("wdk.umdf.driver") + add_rules("wdk.driver", "wdk.env.umdf") add_files("driver/*.c") add_files("driver/*.inx") add_includedirs("exe") target("app") - add_rules("wdk.umdf.binary") + add_rules("wdk.binary", "wdk.env.umdf") add_files("exe/*.cpp") ``` @@ -423,13 +423,13 @@ target("app") ```lua target("nonpnp") - add_rules("wdk.kmdf.driver") + add_rules("wdk.driver", "wdk.env.kmdf") add_values("wdk.tracewpp.flags", "-func:TraceEvents(LEVEL,FLAGS,MSG,...)", "-func:Hexdump((LEVEL,FLAGS,MSG,...))") add_files("driver/*.c", {rule = "wdk.tracewpp"}) add_files("driver/*.rc") target("app") - add_rules("wdk.kmdf.binary") + add_rules("wdk.binary", "wdk.env.kmdf") add_files("exe/*.c") add_files("exe/*.inf") ``` @@ -438,7 +438,7 @@ target("app") ```lua target("kcs") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") add_values("wdk.man.flags", "-prefix Kcs") add_values("wdk.man.resource", "kcsCounters.rc") add_values("wdk.man.header", "kcsCounters.h") @@ -448,7 +448,7 @@ target("kcs") ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") add_values("wdk.tracewpp.flags", "-func:TracePrint((LEVEL,FLAGS,MSG,...))") add_files("*.c", {rule = "wdk.tracewpp"}) add_files("*.rc", "*.inf") @@ -487,7 +487,7 @@ We can use test certificate of xmake to do testsign, but please run `$xmake l ut ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") set_values("wdk.sign.mode", "test") ``` @@ -495,7 +495,7 @@ Or we set a valid certificate thumbprint to do it in local machine. ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") set_values("wdk.sign.mode", "test") set_values("wdk.sign.thumbprint", "032122545DCAA6167B1ADBE5F7FDF07AE2234AAA") ``` @@ -504,7 +504,7 @@ We can also do testsign via setting store/company info. ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") set_values("wdk.sign.mode", "test") set_values("wdk.sign.store", "PrivateCertStore") set_values("wdk.sign.company", "tboox.org(test)") @@ -516,7 +516,7 @@ We can set a certificate file for release signing. ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") set_values("wdk.sign.mode", "release") set_values("wdk.sign.company", "xxxx") set_values("wdk.sign.certfile", path.join(os.projectdir(), "xxxx.cer")) @@ -537,6 +537,13 @@ set_values("wdk.env.winver", "win7_sp2") set_values("wdk.env.winver", "win7_sp3") ``` +We can also set windows version for WDK driver program: + +```console +$ xmake f --wdk_winver=[win10_rs3|win8|win7|win7_sp1] +$ xmake +``` + #### WinSDK Application Program ```lua @@ -3592,16 +3592,32 @@ target("qt_widgetapp") 更多Qt相关描述见:[#160](https://github.com/tboox/xmake/issues/160) -###### wdk.umdf.driver -编译生成windows下基于WDK环境的umdf驱动程序,目前仅支持WDK10环境。 + +###### wdk.env.kmdf + +应用WDK下kmdf的编译环境设置,需要配合:`wdk.[driver|binary|static|shared]`等规则来使用。 + +###### wdk.env.umdf + +应用WDK下umdf的编译环境设置,需要配合:`wdk.[driver|binary|static|shared]`等规则来使用。 + +###### wdk.env.wdm + +应用WDK下wdm的编译环境设置,需要配合:`wdk.[driver|binary|static|shared]`等规则来使用。 + +###### wdk.driver + +编译生成windows下基于WDK环境的驱动程序,目前仅支持WDK10环境。 + +注:需要配合:`wdk.env.[umdf|kmdf|wdm]`等环境规则使用。 ```lua -- add target target("echo") -- add rules - add_rules("wdk.umdf.driver") + add_rules("wdk.driver", "wdk.env.kmdf") -- add files add_files("driver/*.c") @@ -3611,82 +3627,61 @@ target("echo") add_includedirs("exe") ``` -###### wdk.umdf.binary +###### wdk.binary -编译生成windows下基于WDK环境的umdf驱动应用程序,目前仅支持WDK10环境。 +编译生成windows下基于WDK环境的可执行程序,目前仅支持WDK10环境。 + +注:需要配合:`wdk.env.[umdf|kmdf|wdm]`等环境规则使用。 ```lua -- add target target("app") -- add rules - add_rules("wdk.umdf.binary") + add_rules("wdk.binary", "wdk.env.umdf") -- add files add_files("exe/*.cpp") ``` -###### wdk.kmdf.driver +###### wdk.static + +编译生成windows下基于WDK环境的静态库程序,目前仅支持WDK10环境。 -编译生成windows下基于WDK环境的kmdf驱动程序,目前仅支持WDK10环境。 +注:需要配合:`wdk.env.[umdf|kmdf|wdm]`等环境规则使用。 ```lua target("nonpnp") -- add rules - add_rules("wdk.kmdf.driver") + add_rules("wdk.static", "wdk.env.kmdf") -- add flags for rule: wdk.tracewpp add_values("wdk.tracewpp.flags", "-func:TraceEvents(LEVEL,FLAGS,MSG,...)", "-func:Hexdump((LEVEL,FLAGS,MSG,...))") -- add files add_files("driver/*.c", {rule = "wdk.tracewpp"}) - add_files("driver/*.rc") ``` -###### wdk.kmdf.binary +###### wdk.shared -编译生成windows下基于WDK环境的kmdf驱动应用程序,目前仅支持WDK10环境。 +编译生成windows下基于WDK环境的动态库程序,目前仅支持WDK10环境。 -```lua --- add target -target("app") - - -- add rules - add_rules("wdk.kmdf.binary") - - -- add files - add_files("exe/*.c") - add_files("exe/*.inf") -``` - -###### wdk.wdm.driver - -编译生成windows下基于WDK环境的wdm驱动程序,目前仅支持WDK10环境。 +注:需要配合:`wdk.env.[umdf|kmdf|wdm]`等环境规则使用。 ```lua --- add target -target("kcs") +target("nonpnp") -- add rules - add_rules("wdk.wdm.driver") + add_rules("wdk.shared", "wdk.env.wdm") + + -- add flags for rule: wdk.tracewpp + add_values("wdk.tracewpp.flags", "-func:TraceEvents(LEVEL,FLAGS,MSG,...)", "-func:Hexdump((LEVEL,FLAGS,MSG,...))") - -- add flags for rule: wdk.man - add_values("wdk.man.flags", "-prefix Kcs") - add_values("wdk.man.resource", "kcsCounters.rc") - add_values("wdk.man.header", "kcsCounters.h") - add_values("wdk.man.counter_header", "kcsCounters_counters.h") - -- add files - add_files("*.c", "*.rc", "*.man") + add_files("driver/*.c", {rule = "wdk.tracewpp"}) ``` -###### wdk.wdm.binary - -编译生成windows下基于WDK环境的wdm驱动应用程序,目前仅支持WDK10环境。 - -用法跟[wdk.umdf.binary](#wdk-umdf-binary)和[wdk.kmdf.binary](#wdk-kmdf-binary)类似。 - ###### wdk.tracewpp 用于启用tracewpp预处理源文件: @@ -3705,6 +3700,8 @@ target("nonpnp") add_files("driver/*.rc") ``` +更多WDK规则描述见:[#159](https://github.com/tboox/xmake/issues/159) + ###### win.sdk.application 编译生成winsdk应用程序。 diff --git a/zh/README.md b/zh/README.md index aeda2a95..c2fe5fc8 100644 --- a/zh/README.md +++ b/zh/README.md @@ -427,7 +427,7 @@ $ xmake 默认会自动探测wdk所在环境,当然也可以指定wdk sdk环境目录: ```console -$ xmake f --wdk="G:\Program Files\Windows Kits\10" -c +$ xmake f --wdk="G:\Program Files\Windows Kits\10" -c $ xmake ``` @@ -437,13 +437,13 @@ $ xmake ```lua target("echo") - add_rules("wdk.umdf.driver") + add_rules("wdk.driver", "wdk.env.umdf") add_files("driver/*.c") add_files("driver/*.inx") add_includedirs("exe") target("app") - add_rules("wdk.umdf.binary") + add_rules("wdk.binary", "wdk.env.umdf") add_files("exe/*.cpp") ``` @@ -451,13 +451,13 @@ target("app") ```lua target("nonpnp") - add_rules("wdk.kmdf.driver") + add_rules("wdk.driver", "wdk.env.kmdf") add_values("wdk.tracewpp.flags", "-func:TraceEvents(LEVEL,FLAGS,MSG,...)", "-func:Hexdump((LEVEL,FLAGS,MSG,...))") add_files("driver/*.c", {rule = "wdk.tracewpp"}) add_files("driver/*.rc") target("app") - add_rules("wdk.kmdf.binary") + add_rules("wdk.binary", "wdk.env.kmdf") add_files("exe/*.c") add_files("exe/*.inf") ``` @@ -466,7 +466,7 @@ target("app") ```lua target("kcs") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") add_values("wdk.man.flags", "-prefix Kcs") add_values("wdk.man.resource", "kcsCounters.rc") add_values("wdk.man.header", "kcsCounters.h") @@ -476,7 +476,7 @@ target("kcs") ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") add_values("wdk.tracewpp.flags", "-func:TracePrint((LEVEL,FLAGS,MSG,...))") add_files("*.c", {rule = "wdk.tracewpp"}) add_files("*.rc", "*.inf") @@ -514,7 +514,7 @@ $ xmake [p|package] -o outputdir ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") set_values("wdk.sign.mode", "test") ``` @@ -527,7 +527,7 @@ target("msdsm") ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") set_values("wdk.sign.mode", "test") set_values("wdk.sign.thumbprint", "032122545DCAA6167B1ADBE5F7FDF07AE2234AAA") ``` @@ -536,7 +536,7 @@ target("msdsm") ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") set_values("wdk.sign.mode", "test") set_values("wdk.sign.store", "PrivateCertStore") set_values("wdk.sign.company", "tboox.org(test)") @@ -548,7 +548,7 @@ target("msdsm") ```lua target("msdsm") - add_rules("wdk.wdm.driver") + add_rules("wdk.driver", "wdk.env.wdm") set_values("wdk.sign.mode", "release") set_values("wdk.sign.company", "xxxx") set_values("wdk.sign.certfile", path.join(os.projectdir(), "xxxx.cer")) @@ -569,6 +569,13 @@ set_values("wdk.env.winver", "win7_sp2") set_values("wdk.env.winver", "win7_sp3") ``` +我们也可以手动指定编译的目标程序支持的windows版本: + +```console +$ xmake f --wdk_winver=[win10_rs3|win8|win7|win7_sp1] +$ xmake +``` + #### WinSDK程序 ```lua diff --git a/zh/manual.md b/zh/manual.md index 11534198..78d4a1b4 100644 --- a/zh/manual.md +++ b/zh/manual.md @@ -3611,16 +3611,30 @@ target("qt_widgetapp") 更多Qt相关描述见:[#160](https://github.com/tboox/xmake/issues/160) -###### wdk.umdf.driver +###### wdk.env.kmdf -编译生成windows下基于WDK环境的umdf驱动程序,目前仅支持WDK10环境。 +应用WDK下kmdf的编译环境设置,需要配合:`wdk.[driver|binary|static|shared]`等规则来使用。 + +###### wdk.env.umdf + +应用WDK下umdf的编译环境设置,需要配合:`wdk.[driver|binary|static|shared]`等规则来使用。 + +###### wdk.env.wdm + +应用WDK下wdm的编译环境设置,需要配合:`wdk.[driver|binary|static|shared]`等规则来使用。 + +###### wdk.driver + +编译生成windows下基于WDK环境的驱动程序,目前仅支持WDK10环境。 + +注:需要配合:`wdk.env.[umdf|kmdf|wdm]`等环境规则使用。 ```lua -- add target target("echo") -- add rules - add_rules("wdk.umdf.driver") + add_rules("wdk.driver", "wdk.env.kmdf") -- add files add_files("driver/*.c") @@ -3630,82 +3644,61 @@ target("echo") add_includedirs("exe") ``` -###### wdk.umdf.binary +###### wdk.binary + +编译生成windows下基于WDK环境的可执行程序,目前仅支持WDK10环境。 -编译生成windows下基于WDK环境的umdf驱动应用程序,目前仅支持WDK10环境。 +注:需要配合:`wdk.env.[umdf|kmdf|wdm]`等环境规则使用。 ```lua -- add target target("app") -- add rules - add_rules("wdk.umdf.binary") + add_rules("wdk.binary", "wdk.env.umdf") -- add files add_files("exe/*.cpp") ``` -###### wdk.kmdf.driver +###### wdk.static -编译生成windows下基于WDK环境的kmdf驱动程序,目前仅支持WDK10环境。 +编译生成windows下基于WDK环境的静态库程序,目前仅支持WDK10环境。 + +注:需要配合:`wdk.env.[umdf|kmdf|wdm]`等环境规则使用。 ```lua target("nonpnp") -- add rules - add_rules("wdk.kmdf.driver") + add_rules("wdk.static", "wdk.env.kmdf") -- add flags for rule: wdk.tracewpp add_values("wdk.tracewpp.flags", "-func:TraceEvents(LEVEL,FLAGS,MSG,...)", "-func:Hexdump((LEVEL,FLAGS,MSG,...))") -- add files add_files("driver/*.c", {rule = "wdk.tracewpp"}) - add_files("driver/*.rc") ``` -###### wdk.kmdf.binary - -编译生成windows下基于WDK环境的kmdf驱动应用程序,目前仅支持WDK10环境。 +###### wdk.shared -```lua --- add target -target("app") +编译生成windows下基于WDK环境的动态库程序,目前仅支持WDK10环境。 - -- add rules - add_rules("wdk.kmdf.binary") - - -- add files - add_files("exe/*.c") - add_files("exe/*.inf") -``` - -###### wdk.wdm.driver - -编译生成windows下基于WDK环境的wdm驱动程序,目前仅支持WDK10环境。 +注:需要配合:`wdk.env.[umdf|kmdf|wdm]`等环境规则使用。 ```lua --- add target -target("kcs") +target("nonpnp") -- add rules - add_rules("wdk.wdm.driver") + add_rules("wdk.shared", "wdk.env.wdm") + + -- add flags for rule: wdk.tracewpp + add_values("wdk.tracewpp.flags", "-func:TraceEvents(LEVEL,FLAGS,MSG,...)", "-func:Hexdump((LEVEL,FLAGS,MSG,...))") - -- add flags for rule: wdk.man - add_values("wdk.man.flags", "-prefix Kcs") - add_values("wdk.man.resource", "kcsCounters.rc") - add_values("wdk.man.header", "kcsCounters.h") - add_values("wdk.man.counter_header", "kcsCounters_counters.h") - -- add files - add_files("*.c", "*.rc", "*.man") + add_files("driver/*.c", {rule = "wdk.tracewpp"}) ``` -###### wdk.wdm.binary - -编译生成windows下基于WDK环境的wdm驱动应用程序,目前仅支持WDK10环境。 - -用法跟[wdk.umdf.binary](#wdk-umdf-binary)和[wdk.kmdf.binary](#wdk-kmdf-binary)类似。 - ###### wdk.tracewpp 用于启用tracewpp预处理源文件: |
