Makefile on make-ohjelman tekstimuotoinen määrittelytiedosto. Tiedosto sisältää yleensä ohjeet ohjelmointikielen kääntäjän ja sen apuohjelmien kuten linkkerin käyttöön, joilla lähdekoodista tuotetaan toimiva tietokoneohjelma tai kirjasto. Make ei ole sidottu ohjelmien kääntämiseen. Makefile voisi sisältää komennot esim. dokumenttien muotoiluun LaTeXilla tai MP3-tiedostojen tuottamiseen WAV-äänitiedostoista.
Makefile-tiedoston rakenteelle on POSIX-määrittely, mutta historiallisesti on ollut eri versioita sekä uudelleensuunniteltuja vaihtoehtoja samasta konseptista.[1]