The chain rule makes sure that only one instance of lilypond-book
is running at once. However, it also adds superficial dependencies
between manuals. We can avoid this using GNU make's order-only
syntax for prerequisites, which adds a pipe (|) character in front.
# This allows -j make option while making sure only one lilypond-book instance
-# is running at the same time
+# is running at the same time, using GNU make's order-only prerequisites so
+# as to not create superficial dependencies between unrelated manuals.
define CHAIN_RULE
-$(i)
+| $(i)
$(i):
endef