Pliki Makefile są formą pliku konfiguracyjnego, który jest używany przez narzędzie make w celu zidentyfikowania lokalizacji plików źródłowych, które będą używane w aplikacji. Makefile pomaga nie tylko zlokalizować pliki źródłowe, ale także pomaga określić, w jaki sposób będą one kompilowane i połączone ze sobą, aby umożliwić uruchamianie i działanie programu wykonywalnego. Tworzenie pliku makefile jest niezbędnym procesem przy prawie wszystkich typach programowania komputerowego.
Ponieważ plik makefile pomaga określić kierunek i funkcje różnych programów, jest on istotną częścią skryptu, która jest częścią wszystkich protokołów narzędziowych make. Narzędzia Make mogą się nieco różnić w zależności od aplikacji programistycznej. Jednak ważne jest, aby pamiętać, że prawie wszystkie odmiany narzędzi make będą zawierały te same podstawowe komponenty, które można znaleźć w takich narzędziach studyjnych, jak Unix.
Ogólnie rzecz biorąc, makefile będzie składał się z kilku linii tekstu, które definiują plik lub zestaw plików. Każda z definicji plików będzie miała do czynienia z zamierzoną funkcją tego pliku w ramach działania programu. Na przykład pliki wyjściowe będą oznaczone w wierszach tekstu w taki sposób, aby zależność tych plików od plików źródłowych była zarówno oczywista, jak i logiczna. Każda zależność wymieniona w wierszach tekstu będzie zawierać podzbiory tekstu z wcięciem tabulatora, które pomagają zdefiniować proces od wyjścia do wejścia i odwrotnie.
Użycie narzędzia make i tworzenie pliku makefile sprawia, że stosunkowo łatwo jest odwzorować kroki związane z dużymi i często szczegółowymi aplikacjami. Należy jednak zauważyć, że plik makefile może być używany z niemal każdym typem aplikacji w języku skompilowanym. Ze względu na naturę konstrukcji pliku makefile, programiście stosunkowo łatwo jest wstrzykiwać dodatkowe wiersze tekstu w strategicznych punktach, gdy pożądane jest ulepszenie programowania.