Make needs to build this target internal-all. In
rules.make this target appears as

internal-all::

because of the double colons (that is, because it is
internal-all:: rather than internal-all:) this
target can have multiple totally separated rules. Each rule must be a
double colon rule, and is processed separately from the other rules
(even if they refer to the same target).

The real rules for internal-all are included by the specific
makefiles; in our example, tool.make includes

internal-all:: $(TOOL_NAME:=.all.tool.variables)

now - in our case - because TOOL_NAME is decrypt, then
this rule actually means

internal-all:: decrypt.all.tool.variables

This means that to build internal-all, make has to build (at
least) the decrypt.all.tool.variables target.
library.make includes the completely analogous rule

internal-all:: $(LIBRARY_NAME:=.all.library.variables)

which in our case means

internal-all:: libDvd.all.library.variables

This rule is completely separated from the other one; to build
internal-all, make has to build the two different targets: