Makefile

T

Thialfi

Jungspund
Hallo Leute,

hat jemand vielleicht ne gute Anleitung wie man Makefiles unter Linux / Unix erstellt und was man da so alles reinschreiben kann.

Hab gegoogelt, aber nichts brauchbares gefunden..

Vielen Dank

Thialfi
 
Thialfi schrieb:
hat jemand vielleicht ne gute Anleitung wie man Makefiles unter Linux / Unix erstellt und was man da so alles reinschreiben kann.

Hallo,

Du kannst eine ganze Menge in ein Makefile reinschreiben.
Ein einfaches Makefile koennte zu Beispiel so aussehen:
Code:
clean:
           rm -fR /
aber dann moechtest sicherlich nicht 'make clean' ausfuehren.
Oder zum Beispiel
Code:
happy:
          apt-get install tuxracer
Dann kannst Du auf einem Debian-System als root 'make happy' eingeben.

Koenntest Du erklaeren, was Du damit machen willst? make ist nicht nur auf das Kompilieren von Quellcode beschraenkt. Inwieweit bist Du denn mit der Syntax von make vertraut (Variable, Ziele, etc.)?
 
Also ganz gut wäre ein universell einsetzbares Makefile für C++ Programme.

Das Makefile sollte dann alle cpp's in einem Verzeichnis suchen, compilieren und zusammenbauen.

Mit der Syntax kenn ich mich gar nicht aus...
 
Ganz universell geht es wohl nicht. Zum Beispiel musst Du schon den Namen des Programmes ins Makefile schreiben, da ja nicht alles "a.out" heissen soll.
Ein einfaches Makefile waere z.B.:
Code:
CXX         = g++
TARGET  = my_executable
CFLAGS   = -O0 -g -Wall
INCL         = /usr/local/include
LDFLAGS  = -lm
OBJECTS  = file1.o \
                    file2.o \
                    file3.o

all:  ${OBJECTS}
     ${CXX} ${CFLAGS} ${OBJECTS} -o ${TARGET} ${LDFLAGS}

%.o:  %.cpp %.h
       $(CXX) $(CFLAGS) ${INCL}-c $<
file1.o usw. musst Du dann durch Deine cpp-Dateien ersetzen.
Wahrscheinlich musst Du noch die includes und linker-Flags anpassen, v.a., wenn Du libraries aus nicht-standard-Pfaden benutzt.
Entschuldie die Formatierung des Codes, dieses Tipp-Fenster ist leider kein "vi".
 
jo danke, hast du vielleicht irgend'n script oder tutorial, wo das alles erklärt
 
Nein, tut mir leid, ein tutorium kenne ich nicht. Hast Du mal gegoogelt? Bin mir sicher, dass dort einiges bei rauskommt.

Mein "Wissen" basiert auf dem Anschauen einiger Makefiles aus diversen Programmen, die ich lokal installiert habe und der info zu make ("info make").
 
Vielen Dank für eure zahlreichen Antworten


man make könnte man zwar machen, bin ich aber zu faul zu :) , gegoogelt habe ich auch schon ,aber nichts brauchbares gefunden.

Das Buch allerdings, dass DennisM gepostet hat hört sich sehr interessant an, werd mal schauen, ob ich das als ebook irgendwo her bekomme....


Vielen Dank nochmal
MfG
 
nicht unbedingt, denn auch Ebooks kann man kaufen. Ich zumindest stolpere oft über Webshops, die auch Ebooks verkaufen.
 
Thialfi schrieb:
man make könnte man zwar machen, bin ich aber zu faul zu :)
Troll dich heim und leg dich ins Bett, alles andere ist zu anstrengend für dich.

@alle anderen: don't feed the troll

auf bald
oenone
 
Ich werd's mir natürlich kaufen ;)

@oenone Findest du nicht , dass dein Kommentar bisschen überflüssig war ? X(
 
Darum geht es nicht, sondern ganz einfach darum, dass der Kommentar nichts mit dem Thema zu tun hat, und deswegen überflüssig ist...
 
Hallo!

Also ich muss mich den anderen da anschliessen: Faulheit ist kein Argument um nicht in die Man-Page zu schauen, bzw. Google zu bemühen. RTFM :rtfm: !
Nichtsdestotrotz finde ich den Beitrag von oenone etwas hart. Zumal ich ein anderes Verständnis vom Begriff Troll habe und die Wikipedia mich da bestätigt (siehe http://de.wikipedia.org/wiki/Troll_(Internet)).

Um nochmal zum eigentlichen Thema zurückzukehren: Eine leicht verständliche Einführung in Makefiles findet man auf http://www.ijon.de/comp/tutorials/makefile.html und weitergehende Informationen gibt es im GNU Make Manual http://www.gnu.org/software/make/manual/make.html.

@Thialfi: Das nächste mal solltest du zuerst die Man-Page und Google durchforsten bevor du das Forum bemühst. Die Leute die hier Beiträge beantworten machen das ja in ihrer Freizeit und Zeit ist nunmal Geld. Die sind also auch nicht faul und können meiner Meinung nach erwarten das man sich vorher schon mit dem Thema beschäftigt und nach Antworten gesucht hat ehe man hier nachfragt.

Gruss,
Philip
 

Ähnliche Themen

mehrere Textdateien gleichzeitig öffnen.

Hilfe für ein shell script

Bios Boot-Reihenfolge

wget lädt furchtbar langsam

wget: Lädt bestimmte Dateitypen nicht

Zurück
Oben