Twój make powinien wyglądać podobnie:
all : program
program : main.o
g++ main.o -o program
main.o : main.cpp
g++ -c main.cpp
Krótkie wytłumaczenie:
w linijce "all: program" mówisz: "to jest główna recepta, zacznij od komendy "program"".
w linijce "program: main.o" mówisz: "to jest komenda "program", zależy od pliku main.o, który robię niżej."
w linijce "main.o: main.cpp" make sprawdza, czy plik main.cpp jest nowszy od main.o, jeżeli tak to buduje main.o za pomocą komendy "g++ -c main.cpp" w poniższej linijce.
"Missing separator oznacza, że przed receptami (czyli g++ ... ) masz zły znak. Najedz kursorem przed g++, ciapnij backspace aż dotrzesz do początku liniki, potem nacisnij tab. Walnij "make" w shellu. Jezeli tak nie zadziała to spróbuj z dwoma lub czterema spacjami zamiast taba.
Ps. Napisany wyżej przeze mnie mejk działa ;)