Writing portable makefiles is an art. Since a makefile’s commands are
executed by the shell, you must consider the shell portability issues
already mentioned. However, other issues are specific to make
itself.
$< in Ordinary Make Rulesmake macro=value and SubmakesSHELLmake -kVPATH and Make