Either use dependencies or recursive making to connect from one rule to another.
Dependencies would be done like this (though the order will be different):
rule1:
echo "bye"
rule2:
date
rule3: rule1
@echo "hello"
Recursive make would be done like this (though it does involve a subprocess):
rule1:
echo "bye"
rule2:
date
rule3:
@echo "hello"
$(MAKE) rule1
Neither is perfect; indeed, with recursive make you can get into significant problems if you build a loop. You also probably ought to add a .PHONY
rule so as to mark those rules above as synthetic, so that a stray rule1
(etc.) in the directory won’t cause confusion.