Makefileとは、プログラムのビルド作業を自動化するツール「make」で使われるルールを記述したテキストファイルです。
Makefileには方言がいっぱいあります。その中でも「BSD Make」と「GNU Make」が二大勢力として今なお争っており、前者はデスクトップに強いmacOS界隈で、後者はサーバーに強いLinux界隈で人気があるため、この争いは終結する気配がまったくありません。
これらのことから導かれる結論は「CMake使っとけ」です。