Ne tabuláld (azaz a sor elején legyen az "ifeq", "else", "endif"). Makefileban egyébként viccesen működik az if, félúton van a precompiler direktíva és az interpretált között. Azaz nem a helyén hajtódik végre a rule-ban, hanem lefuttás előtt "szabja át" a rule parancsait.
Még pár észrevétel: a legelső rule-t szokás "all:"-nak hívni, és itt szokás megadni a célfájlt, jellemzően TARGET változóban. Szóval valami ilyesmi:
TARGET=build all: $(TARGET) ...
Ez azért jó, mert paraméter nélkül meghívva a make-t az a legelső rule-t hajtja végre (jelen esetben az "all"-t, aminek meg az előfeltétele a tényleges kimenet, ez meg azért jó, ha külön van, mert később bővítheted az "all"-t annélkül, hogy szét kéne mást barmolni).