Anonymous
Anonymous

Reputation: 4757

Linux: Create automatically C++ makefile from given source files

I have a project structure like that:

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

In addition I need some libs so that I can link, e.g. lboost_system. How can I simply create a makefile with these given information? I read all the time about creating a makefile manually, CMake and so on but this is in my opinion way to complicated! Isn't there any tool where I can specify the following information:

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

And a makefile is generated?! Is it really that hard?

Upvotes: 9

Views: 26250

Answers (1)

Mariusz Lotko
Mariusz Lotko

Reputation: 384

You can write a Makefile in a generic way - that is you won't have to specify each source file one by one. Have a look at http://www.puxan.com/Computers/Howto-write-generic-Makefiles, I did it quite a long time ago, so I don't remember details, but in the end adding *.cpp files does not (usually) require a Makefile change.

You can also have a look at automake (http://www.gnu.org/software/automake/manual/automake.html) which is some step ahead to bare cmake. It standardizes make goals and looks like make your life easier if you want to distribute your software as source files.

Upvotes: 6

Related Questions