Make Befehl funktioniert nicht !

kle-ben

Erfahrenes Mitglied
Hi,

Ich versuche gerade ein Makefile zu starten, aber es
funktioniert nicht. Bekomme folgenden Fehler:

bash: make: command not found

Ich bin in dem Verzeichnis in dem das Makefile
liegt und dort sind auch alle benötigten Dateien.

Das Makefile heißt "Makefile".

Ich muss doch nichts installieren um ein Makefile auszuführen?
Zumindest mußte ich das nicht an meinem andern PC.
Arbeite unter ubuntu.

:confused:
 
Ah danke es funktioniert!
Hatte hier an dem Pc mal alles einzeln installiert
Dachte immer das wäre beim gnu compiler dabei.

Das Paket heißt übrigens : build-essential
ohne s

Danke, und frohe Whynachten !

Benny
 
Ich hab da noch mal ein kleines Problem:

Mein Makefile sieht wie folgt aus:


Code:
CXX=g++
OBJECTS= main.o hello.o 

hello: $(OBJECTS)
    $(CXX) $^ -o $@

clean:
    rm $(OBJECTS)
    rm hello


hello.o: ../cpp/hello.cpp ../lib/hello.h
main.o: ../cpp/main.cpp  ../lib/hello.h
Wenn ich es nun ausführe bekomm ich folgende Ausgabe:

g++ main.o hello.o -o hello
g++: main.o: No such file or directory
g++: hello.o: No such file or directory
g++: no input files
make: *** [hello] Fehler 1

Wenn ich unter jede der Abhängigkeiten folgende Regel schreib:
Code:
   g++ -c $^ $@
funktioniert das ganze auch.

Aber sollte das nicht ohne funktionieren ?
Oder muss ich dafür noch was ergänzen?
[ Auser der Regel unter jeder Abhängigkeit ]

Benny
 
Ich hab jetzt gesehn das man eine Regel dafuer schreiben kann.
Code:
%.o: %.cpp
        $(CXX) -c &<

das ist allerdings nur fuer eine o Datei die aus genau einer cpp Datei
erstellt wird. Wie mueßte das aussehen wenn ich da mehere Abhängigkeiten
stehen hab?
 
Zurück