automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: recursive automake w/o recursive autoconf?


From: Jay K
Subject: RE: recursive automake w/o recursive autoconf?
Date: Mon, 6 Jun 2016 08:31:44 +0000

Ok, I found the subtlety in the documentation that automake
in effect uses autoconf's directory or output list.


So if I give up non-recursive make, and if I list directories twice,
then it works nicely:


i.e. non-recursive make, less modular automake:
http://github.com/jaykrell/j/tree/master/auto1


 recursive make, more modular automake, have to list directories 
 twice; once is almost enough, but you need to tell automake the 
directories for the recursion to occur -- could almost hand-write 
 the top level Makefile instead: 
 http://github.com/jaykrell/j/tree/master/auto2 


 Ideal would be to say dirs=prog lib, instead of output prog/makefile 
lib/makefile,
 and ideally would get faster non-recursive make.


That is, auto1 has ideal performance, non-ideal, less-modular authoring.
auto2 has non-ideal performance and close to ideal authoring.


Advise?


Thank you,
 - Jay






----------------------------------------
> From: address@hidden
> To: address@hidden
> Subject: recursive automake w/o recursive autoconf?
> Date: Mon, 6 Jun 2016 07:55:11 +0000
>
> I have a system with a bunch of libraries and programs.
>
>
> I want one little autoconf at the top:
> E.g. how to compile C.
>
>
> I would prefer to compose via SUBDIRS= instead of include,
> as it feels higher level, but not a big deal.
>
>
> I would prefer non recursive make for performance and parallelism, but
> this isn't currently crucial.
>
>
> I do not want each Makefile.am to list a full path from the root,
> but instead just a leaf path.
>
>
> That is, I want the Makefile.am's to look like they do when you
> use recursive (nested) autoconf) and recursive automake.
>
>
> The only way I've found to avoid the nested autoconf though, includes
> a nonrecursive automake, where the included automake snippets have to
> use paths from the root, and where $(srcdir) is always the root.
>
> i.e. here:
>
> https://github.com/jaykrell/j/blob/master/auto1/prog/automake.inc
>
>
> bin_PROGRAMS += todo
> todo_SOURCES = prog/main.cc
>
>
> todo_CXXFLAGS=-I$(srcdir)/lib
> todo_LDADD = libtodo.a
>
>
> I would rather say:
>
>
> bin_PROGRAMS += todo
> todo_SOURCES = main.cc
>
>
> todo_CXXFLAGS=-I$(srcdir)/../lib
> todo_LDADD = ../lib/libtodo.a
>
>
> Ideally the list of directories is one place.
>
>
> Advise?
>
>
> Thank you,
> - Jay
>
>
>
                                          


reply via email to

[Prev in Thread] Current Thread [Next in Thread]