# This file is used to extend the standard rust-driver-makefile to build official sample drivers. See examples at https://github.com/microsoft/Windows-rust-drivers-samples # Using this file requires extending both the standard makefile and this makefile in order, as follows: # extend = [ { path = "target/rust-driver-makefile.toml" }, { path = "target/rust-driver-sample-makefile.toml" } ] [tasks.wdk-samples-setup] private = true install_crate = { crate_name = "rust-script", min_version = "0.30.0" } plugin = "rust-env-update" script_runner = "@rust" script = ''' //! ```cargo //! [dependencies] //! wdk-build = { path = ".", version = "0.5.1" } //! ``` #![allow(unused_doc_comments)] let env_string = std::env::var_os(wdk_build::cargo_make::WDK_VERSION_ENV_VAR) .map_or_else( || panic!("Couldn't read WDK build version that should have been set in init"), |os_env_string| os_env_string.to_string_lossy().into_owned(), ); let samples_infverif_env_vars = wdk_build::cargo_make::setup_infverif_for_samples(&env_string)?; wdk_build::cargo_make::forward_printed_env_vars( samples_infverif_env_vars, ); ''' [tasks.infverif] dependencies = ["wdk-samples-setup", "stampinf"] condition_script_runner_args = [ "--base-path", "${CARGO_MAKE_CURRENT_TASK_INITIAL_MAKEFILE_DIRECTORY}", ] condition_script = ''' #!@rust //! ```cargo //! [dependencies] //! wdk-build = { path = ".", version = "0.5.1" } //! anyhow = "1" //! ``` #![allow(unused_doc_comments)] fn main() -> anyhow::Result<()> { wdk_build::cargo_make::driver_sample_infverif_condition_script() } '''