diff options
| author | ruki <[email protected]> | 2018-05-12 00:51:18 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-05-11 23:07:50 +0800 |
| commit | 166a68fd2868db1cea82bfe2e3172d0ca1bd0ae6 (patch) | |
| tree | bb6f6296a18233d811233341557de7a88698cc32 | |
| parent | 7d6f2128d571092ddd6fb8e3c6f25bcca432aced (diff) | |
improve wdk.man
| -rw-r--r-- | tests/projects/wdk/kmdf/perfcounters/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/rules/wdk/load.lua | 8 | ||||
| -rw-r--r-- | xmake/rules/wdk/man/xmake.lua | 33 |
3 files changed, 15 insertions, 28 deletions
diff --git a/tests/projects/wdk/kmdf/perfcounters/xmake.lua b/tests/projects/wdk/kmdf/perfcounters/xmake.lua index 94b7f661b..17fd5d5cb 100644 --- a/tests/projects/wdk/kmdf/perfcounters/xmake.lua +++ b/tests/projects/wdk/kmdf/perfcounters/xmake.lua @@ -9,7 +9,7 @@ target("kcs") add_rules("wdk.kmdf.driver") -- add flags for rule: wdk.man - add_values("wdk.man.flags", "-prefix Kcs") + add_values("wdk.man.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") diff --git a/xmake/rules/wdk/load.lua b/xmake/rules/wdk/load.lua index 6d78ecf7a..5632b601c 100644 --- a/xmake/rules/wdk/load.lua +++ b/xmake/rules/wdk/load.lua @@ -116,7 +116,13 @@ function kmdf_driver(target) -- add links target:add("links", "BufferOverflowFastFailK", "ntoskrnl", "hal", "wmilib", "WdfLdr", "WdfDriverEntry", "ntstrsafe", "wdmsec") - target:add("ldflags", "-entry:FxDriverEntry", "-subsystem:native,10.00", "-driver", "-kernel", {force = true}) + + -- compile as kernel driver + target:add("cxflags", "-kernel", {force = true}) + target:add("ldflags", "-kernel", "-driver", {force = true}) + + -- set driver entry + target:add("ldflags", "-entry:FxDriverEntry", "-subsystem:native,10.00", {force = true}) end -- load for kmdf binary diff --git a/xmake/rules/wdk/man/xmake.lua b/xmake/rules/wdk/man/xmake.lua index 52620a8ec..76dd493a4 100644 --- a/xmake/rules/wdk/man/xmake.lua +++ b/xmake/rules/wdk/man/xmake.lua @@ -57,7 +57,6 @@ rule("wdk.man") -- imports import("core.base.option") import("core.project.depend") - import("core.tool.compiler") -- get ctrpp local ctrpp = target:data("wdk.ctrpp") @@ -86,6 +85,13 @@ rule("wdk.man") raise("please call `set_values(\"wdk.man.header\", \"header.h\")` to set the provider header file name!") end + -- add prefix + local prefix = target:values("wdk.man.prefix") + if prefix then + table.insert(args, "-prefix") + table.insert(args, prefix) + end + -- add counter header file local counter_header = target:values("wdk.man.counter_header") local counter_headerfile = counter_header and path.join(outputdir, counter_header) or nil @@ -124,31 +130,6 @@ rule("wdk.man") end os.vrunv(ctrpp, args) - -- has resource file? compile it - if resourcefile and os.isfile(resourcefile) then - - -- trace progress info - if option.get("verbose") then - cprint("${green}[%02d%%]:${dim} compiling.wdk.rc %s", opt.progress, resource) - else - cprint("${green}[%02d%%]:${clear} compiling.wdk.rc %s", opt.progress, resource) - end - - -- get resource object file - local objectfile = target:objectfile(resourcefile) - - -- trace - if option.get("verbose") then - print(compiler.compcmd(resourcefile, objectfile, {target = target})) - end - - -- compile resource file - compiler.compile(resourcefile, objectfile, {target = target}) - - -- add object file - table.insert(target:objectfiles(), objectfile) - end - -- update files and values to the dependent file dependinfo.files = {sourcefile} dependinfo.values = args |
