Automake and deep directory structure
I would like to learn a bit more about how to use automake (and the GNU build system in general) to build projects which are organized in a deep directory structure (apparently, also known as deep topology[¹]). Consider the following directory structure: . └──src ├── bar │ └── component ├── baz └── foo ├── component1 ├── component2 ├── ... └── component-n From what I've gathered, for this case automake offers essentially two approaches: set the project as a shallow directory structure, where ./src/Makefile.am is used to list all files in the project, and convert subdirs into convenience libraries[²]. As there any other options worth mentioning? And what's the recommended option? Thanks, Zé [¹] http://seul.org/docs/autotut/ [²] http://www.gnu.org/software/automake/manual/html_node/Libtool-Convenience-Libraries.html
Add convenience libraries to the include path
I'm refactoring a small C++ project and in the process I've migrated a component to a convenience library. I would like to add the convenience library's root directory to the project's include path, but I haven't found any reference on how to do this. The closest I could find was adding ${srcdir} to the include path, but that doesn't sound right. Does anyone know how to pull this off? Zé
Set dependencies between convenience libraries
Is there a way to specify dependencies between convenience libraries, and also set the relevant include paths? Thanks, Zé
Re: Extending Automake to build non-file objects?
On 06/14/2014 01:00 PM, Conrad Dean wrote: Hey! I have a project where I need to generate datasets that are not stored as flat files. I can use a CLI interface to generate them off of others and the same CLI to check when datasets were last modified. I think I want to use automake to describe the relationships between datasets, and detect when an upstream dataset has been generated to update the downstream ones. Would make be a good fit for that? or is it too-closely tied to just dealing with files? Thanks! Conrad As no one replied yet, here are my 0,02€. Automake lets you specify makefile rules, as the contents of a Makefile.am are copied to Makefile.in verbatim[¹]. Therefore, if you can write a makefile that generates your datasets then you can extend automake to build them too. And make certainly can generate your datasets. Hope this helps, -- Zé [¹] http://www.gnu.org/software/automake/manual/automake.html#Extending
Official way to add unit testing to autotools project?
Is there an official guide on how to add unit testing to an autotools project? Thanks, Zé