The command mk -s clean all causes the existing library to be updated, or created if it doesn't already exist. The override of the rule for target nuke removes the libraries for all architectures as opposed to the default recipe for this target which removes the library for the current architecture. The mksyslib generic mkfile is similar to the mklib mkfile except that it operates on a system library instead of a local library. The rules provided by a generic mkfile or the variables used to control the evaluation of those rules may be overridden in most circumstances. The value of a variable is overridden by assigning a new value to the variable.
Most variable overrides modify the values of flags or the names of commands executed in recipes.
Modifying rules is trickier than modifying variables. Additional constraints can be added to a rule by specifying the target and the new prerequisite. A rule is overridden only when the replacement rule matches the target and prerequisite portions of the original rule exactly. The recipe associated with the new rule then replaces the recipe of the original rule. In the first, a file needed to build an executable is generated by a program that, in turn, is built from a source file that is not part of the product.