How do I learn about building tools in Linux?

I have been writing code in embedded Linux since the last couple of years, I have been using make to generate my code and I am not at all an advanced user of it. But now I need to have better compilation, knowledge of cross-compilation, so that I can easily port my code to newer processors. So I want to know what different tools are available for creating projects in Linux? Please provide me with an external link (links, books) that you found useful in your projects.

I am writing code in C ++.

Thanks, Sunny

+2


source to share


4 answers


autoconf is a defacto standard for automatically creating build systems for unix-like systems. If your software is configured for autoconf, in theory you should be able to build it on any system that supports the GNU build environment. To be honest, I find autoconf to be incredibly ugly and overly complex and generally hate doing it.

CMake is a newer system that has the same functionality as autoconf. I hear it is a little simpler than autoconf, although I have never used it myself. Several high profile projects like KDE use CMake.



A user manual for either of these two systems is probably the perfect place for you. Take an existing program and see if you can customize it to be automated by one of them. You should also try some more complex builds with them like cross compilations, which both should support.

However, I don't know anything about build systems for windows. Seems like CMake is easier to use for Windows builds.

+2


source


Publisher O'Reilly has many good (and some not so good) developer books. In my library, they make up about 1/3 of all my books. In recent years, about 75% of the books I have purchased are from O'Reilly. This book is about Make for GNU, for example. Or this one .



+3


source


Start with this: the GNU Build System .

+3


source


Read the article Recursive evaluation is considered harmful to get a little background philosophy. Then there is a good article, GNU Make: Multi-Architecture Builds . Also, the GNU Make manual is actually quite front-to-back readable. I read it all as homework.

+2


source







All Articles