diff options
| author | ruki <[email protected]> | 2018-05-16 00:44:01 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-05-15 22:24:08 +0800 |
| commit | 0e7791da7d897a809ea3922ddc772d700a7b491e (patch) | |
| tree | a1909331956160b7464b73e79eb0ddfbb1f9b00d /xmake/rules/wdk/load.lua | |
| parent | 7fdf5ff81ea4c4fb95ec26a82cf353692cbb231d (diff) | |
improve wdk entry and fix build progress
Diffstat (limited to 'xmake/rules/wdk/load.lua')
| -rw-r--r-- | xmake/rules/wdk/load.lua | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/xmake/rules/wdk/load.lua b/xmake/rules/wdk/load.lua index 5632b601c..7ea5d1aba 100644 --- a/xmake/rules/wdk/load.lua +++ b/xmake/rules/wdk/load.lua @@ -115,14 +115,28 @@ function kmdf_driver(target) target:add("linkdirs", path.join(wdk.libdir, "wdf", "kmdf", arch, wdk.kmdfver)) -- add links - target:add("links", "BufferOverflowFastFailK", "ntoskrnl", "hal", "wmilib", "WdfLdr", "WdfDriverEntry", "ntstrsafe", "wdmsec") + target:add("links", "BufferOverflowFastFailK", "ntoskrnl", "hal", "wmilib", "WdfLdr", "ntstrsafe", "wdmsec") -- 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}) + -- set subsystem: native, TODO 10.00 + target:add("ldflags", "-subsystem:native,10.00", {force = true}) + + -- set default driver entry if does not exist + local entry = false + for _, ldflag in ipairs(target:get("ldflags")) do + ldflag = ldflag:lower() + if ldflag:find("[/%-]entry:") then + entry = true + break + end + end + if not entry then + target:add("links", "WdfDriverEntry") + target:add("ldflags", "-entry:FxDriverEntry", {force = true}) + end end -- load for kmdf binary |
