2013-09-28 13 views
8

ich eine Projektstruktur wie die haben:Linux: Erstellen Sie automatisch C++ Makefile aus bestimmten Quelldateien

src/main.cpp 
src/Folder/this.cpp 
src/Folder/that.cpp 
src/NewFolder/foo.cp 
// etc. 

Außerdem brauche ich einige Libs, so dass ich einen Link, z.B. lboost_system. Wie kann ich einfach ein Makefile mit diesen gegebenen Informationen erstellen? Ich lese die ganze Zeit über das Erstellen eines Makefiles manuell, CMake und so weiter, aber das ist meiner Meinung nach viel zu kompliziert! Gibt es nicht jedes Werkzeug, wo ich die folgenden Informationen angeben:

Source folder: /home/bla/src/ 
Additional Libs: lboost_system 
Compiler Flags: -std=c++0x (or whatever) 

Und eine Make-Datei erzeugt wird ?! Ist es wirklich so schwer?

+0

Das ist praktisch alles, was es zu einer cmake-Datei gibt. Und es ist nicht viel schwieriger mit althergebrachten Produkten zu machen. – Flexo

+0

auch können Sie einige IDE verwenden, es wird es für Sie tun – 4pie0

+0

Eigentlich habe ich Netbeans verwendet, um Makefiles zu generieren. Aber zuerst ist das irgendwie "überentwickelt", nur um ein Makefile zu erzeugen und zweitens benutze ich jetzt einen PC mit sehr geringer Rechenleistung. Die Installation von Eclipse oder Netbeans ist schrecklich – Anonymous

Antwort

5

Sie können ein Makefile generisch schreiben - das heißt, Sie müssen nicht jede Quelldatei einzeln angeben. Schauen Sie sich http://www.puxan.com/Computers/Howto-write-generic-Makefiles an, ich habe es ziemlich lange her, also erinnere ich mich nicht an Details, aber am Ende erfordert das Hinzufügen von * .cpp-Dateien (normalerweise) keine Makefile-Änderung.

Sie können auch Automake (http://www.gnu.org/software/automake/manual/automake.html) betrachten, die einige Schritte voraus sind, um bare cmake zu machen. Es standardisiert Ziele und sieht so aus, als würde es Ihnen das Leben leichter machen, wenn Sie Ihre Software als Quelldateien verteilen möchten.

Verwandte Themen