Makefiles on konfiguratsioonifaili vorm, mida utiliit make kasutab rakenduses kasutatavate lähtefailide asukoha tuvastamiseks. Makefile aitab mitte ainult leida lähtefaile, vaid aitab ka määratleda, kuidas need kompileeritakse ja üksteisega lingitakse, et võimaldada käivitatava programmi käivitamist ja toimimist. Makefile’i loomine on peaaegu igat tüüpi arvutiprogrammeerimisega oluline protsess.
Kuna makefile aitab määratleda erinevate programmide suunda ja funktsioone, on see skripti oluline osa, mis on osa kõigist make-utiliidi protokollidest. Make-utiliidid võivad erinevates programmeerimisrakendustes mõnevõrra erineda. Siiski on oluline märkida, et peaaegu kõik utiliidi mudeli variatsioonid sisaldavad samu põhikomponente, mida leidub sellistes utiliitides nagu Unix.
Üldiselt koosneb makefile mitmest tekstireast, mis määratlevad faili või failide komplekti. Kõik failide määratlused on seotud selle faili kavandatud funktsiooniga programmi töös. Näiteks väljundfailid märgitakse tekstiridadele nii, et nende failide sõltuvus lähtefailidest on nii ilmne kui ka loogiline. Iga tekstiridadel loetletud sõltuvus sisaldab tabeldusmärgiga teksti alamhulka, mis aitavad määratleda protsessi väljundist sisendini ja vastupidi.
Make-utiliidi kasutamine ja makefile’i loomine võimaldab suhteliselt kaardistada suurte ja sageli üksikasjalike rakenduste etapid. Siiski tuleb märkida, et makefile’i saab kasutada peaaegu igat tüüpi kompileeritud keelerakendustega. Makefile’i ehituse olemuse tõttu on programmeerijal suhteliselt lihtne sisestada strateegilistesse punktidesse täiendavaid tekstiridu, kui programmeerimist on soovitav täiustada.