Makefile
-
Ich versuche mich gerade an meinem ersten Makefile - bisher habe ich immer so tolle klicki-bunti-windows-gui-compiler benutzt
Aus einer Vorlage habe ich mir das hier zusammengebaut:
INCDIR = -I /usr/local/ein/langer/pfad/ LIBDIR = LIBS = OBJ = test.o SRC = test.cpp #Compilerflags mit Optimierung #FLAGS = -Wall -pipe -O2 -fno-strength-reduce -DCPU=586 $(INCDIR) #Compilerflags mit Debugmode ohne Optimierung FLAGS = -g -Wall $(INCDIR) all: patch test.o: $(OBJ): $(SRC) g++ -c $(FLAGS) -o $(OBJ) $(SRC) patch: $(OBJ) g++ -o patch $(OBJ) $(LIBDIR) $(LIBS) clean: rm patch *.o
Das Programm besteht nur aus einer Datei test.cpp. Wenn ich es mit
g++ -c -I /usr/local/ein/langer/pfad/ -o test.o test.cpp
übersetze, geht es gut. Make beschwert sich aber über die Zeile
g++ -c $(FLAGS) -o $(OBJ) $(SRC)
mit der Meldung "makefile:18: *** missing separator. Stop."Wie muss es richtig heissen?
ps: Das makefile ist absichtlich zu lang, weil ich (sobald das Minimalbeispiel läuft) ein echtes Projekt mit mehreren Dateien kompilieren möchte.
-
vor den Anweisungen in einem target MUSS ein tabulator kommen. vllt ist das der fehler.
-
Ah, danke! Das war es.
-
-
Ah, das ist ja noch besser. Danke!
Ich hatte nur den Thread
http://www.c-plusplus.net/forum/viewtopic-var-t-is-41477.html
gefunden, und das war weniger hilfreich. Die meisten Links dort sind auch tot.