A rule for building projects using the [GNU Make](https://www.gnu.org/software/make/) build tool ## make
make(name, additional_inputs, additional_tools, alwayslink, args, build_data, data, defines, deps,
     env, lib_name, lib_source, linkopts, out_bin_dir, out_binaries, out_headers_only,
     out_include_dir, out_interface_libs, out_lib_dir, out_shared_libs, out_static_libs,
     postfix_script, targets, tool_prefix, tools_deps)
Rule for building external libraries with GNU Make. GNU Make commands (make and make install by default) are invoked with prefix="install" (by default), and other environment variables for compilation and linking, taken from Bazel C/C++ toolchain and passed dependencies. **ATTRIBUTES** | Name | Description | Type | Mandatory | Default | | :------------- | :------------- | :------------- | :------------- | :------------- | | name | A unique name for this target. | Name | required | | | additional_inputs | __deprecated__: Please use the build_data attribute. | List of labels | optional | [] | | additional_tools | __deprecated__: Please use the build_data attribute. | List of labels | optional | [] | | alwayslink | Optional. if true, link all the object files from the static library, even if they are not used. | Boolean | optional | False | | args | A list of arguments to pass to the call to make | List of strings | optional | [] | | build_data | Files needed by this rule only during build/compile time. May list file or rule targets. Generally allows any target. | List of labels | optional | [] | | data | Files needed by this rule at runtime. May list file or rule targets. Generally allows any target. | List of labels | optional | [] | | defines | Optional compilation definitions to be passed to the dependencies of this library. They are NOT passed to the compiler, you should duplicate them in the configuration options. | List of strings | optional | [] | | deps | Optional dependencies to be copied into the directory structure. Typically those directly required for the external building of the library/binaries. (i.e. those that the external buidl system will be looking for and paths to which are provided by the calling rule) | List of labels | optional | [] | | env | Environment variables to set during the build. $(execpath) macros may be used to point at files which are listed as data, deps, or build_data, but unlike with other rules, these will be replaced with absolute paths to those files, because the build does not run in the exec root. No other macros are supported. | Dictionary: String -> String | optional | {} | | lib_name | Library name. Defines the name of the install directory and the name of the static library, if no output files parameters are defined (any of static_libraries, shared_libraries, interface_libraries, binaries_names) Optional. If not defined, defaults to the target's name. | String | optional | "" | | lib_source | Label with source code to build. Typically a filegroup for the source of remote repository. Mandatory. | Label | required | | | linkopts | Optional link options to be passed up to the dependencies of this library | List of strings | optional | [] | | out_bin_dir | Optional name of the output subdirectory with the binary files, defaults to 'bin'. | String | optional | "bin" | | out_binaries | Optional names of the resulting binaries. | List of strings | optional | [] | | out_headers_only | Flag variable to indicate that the library produces only headers | Boolean | optional | False | | out_include_dir | Optional name of the output subdirectory with the header files, defaults to 'include'. | String | optional | "include" | | out_interface_libs | Optional names of the resulting interface libraries. | List of strings | optional | [] | | out_lib_dir | Optional name of the output subdirectory with the library files, defaults to 'lib'. | String | optional | "lib" | | out_shared_libs | Optional names of the resulting shared libraries. | List of strings | optional | [] | | out_static_libs | Optional names of the resulting static libraries. Note that if out_headers_only, out_static_libs, out_shared_libs, and out_binaries are not set, default lib_name.a/lib_name.lib static library is assumed | List of strings | optional | [] | | postfix_script | Optional part of the shell script to be added after the make commands | String | optional | "" | | targets | A list of targets within the foreign build system to produce. An empty string ("") will result in a call to the underlying build system with no explicit target set | List of strings | optional | ["", "install"] | | tool_prefix | A prefix for build commands | String | optional | "" | | tools_deps | __deprecated__: Please use the build_data attribute. | List of labels | optional | [] |