There are two more special macros used in implicit rules. Items in brackets are optional, ellipsis means one or more. Note the tab to preface each command is required. The semantics is pretty simple. It is important to list all the dependencies on the target line.
Many people forget to include the header file in the dependencies.
The result is that the executable will not be changed when the header file is changed. Make will echo the commands, after macro substitution to show you what's happening as it happens. Sometimes you might want to turn that off. If you get used to using macros you'll be able to make a few rules that you can use over and over again. This makes for some interesting constructs and long continuation lines.