# ------------- # | Variables | # ------------- [env] CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true VC_BUILD_DIR="C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Auxiliary\\Build\\vcvars64.bat" [env.development] TARGET_PATH = "target/debug" [env.production] TARGET_PATH = "target/release" BUILD_RELEASE = "--release" # ------------ # | Wrappers | # ------------ [tasks.fmt] command = "cargo" args = ["fmt"] private = true [tasks.check] command = "cargo" args = ["check"] private = true [tasks.clippy] command = "cargo" args = ["clippy"] private = true # ------------- # | Executors | # ------------- [tasks.checkf] workspace = false dependencies = ["fmt", "check"] [tasks.checkfc] workspace = false dependencies = ["fmt", "check", "clippy"] [tasks.build-driver] workspace = false script = ''' cargo b %BUILD_FLAGS% ''' [tasks.rename] workspace = false ignore_errors = true script = ''' cd %TARGET_PATH% rename driver.dll driver.sys ''' [tasks.clean-cert] workspace = false script_runner = "@shell" script = ''' if exist Fuwn.cer ( rm Fuwn.cer ) ''' [tasks.sign] workspace = false dependencies = ["build-driver", "rename", "clean-cert"] script = ''' call "%VC_BUILD_DIR%" if not exist Fuwn.cer ( makecert -r -pe -ss PrivateCertStore -n CN=Fuwn Fuwn.cer ) else ( echo Certificate already exists. ) # https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe signtool sign /a /v /s PrivateCertStore /n Fuwn /fd certHash /t http://timestamp.digicert.com %TARGET_PATH%/driver.sys '''