make: Force Targets

1 
1 4.7 Rules without Recipes or Prerequisites
1 ==========================================
1 
1 If a rule has no prerequisites or recipe, and the target of the rule is
1 a nonexistent file, then 'make' imagines this target to have been
1 updated whenever its rule is run.  This implies that all targets
1 depending on this one will always have their recipe run.
1 
1    An example will illustrate this:
1 
1      clean: FORCE
1              rm $(objects)
1      FORCE:
1 
1    Here the target 'FORCE' satisfies the special conditions, so the
1 target 'clean' that depends on it is forced to run its recipe.  There is
1 nothing special about the name 'FORCE', but that is one name commonly
1 used this way.
1 
1    As you can see, using 'FORCE' this way has the same results as using
1 '.PHONY: clean'.
1 
1    Using '.PHONY' is more explicit and more efficient.  However, other
1 versions of 'make' do not support '.PHONY'; thus 'FORCE' appears in many
1 makefiles.  ⇒Phony Targets.
1