build system: support for multiple modules dirs
authorAndrei Pelinescu-Onciul <andrei@iptel.org>
Fri, 27 Mar 2009 19:44:36 +0000 (20:44 +0100)
committerAndrei Pelinescu-Onciul <andrei@iptel.org>
Fri, 3 Apr 2009 14:22:48 +0000 (16:22 +0200)
commit27cdfd2c39e28b846c81640c84f00f1e282ab91c
treebe158b47c6bf44c88cc78069000da4ecc9399dfc
parent583ea36b97bf1f2669086b30d022ba619c3fa1b3
build system: support for multiple modules dirs

Multiple modules directories are now supported.
The list of the modules directories is in Makefile.dirs in
 $(modules_dirs).
Name restrictions: the names must not match any makefile variable name
and they shouldn't contain any '-' char.

The modules and modules doc/READMEs will be installed in separate dirs
(e.g. for modules_dirs="modules modules_s modules_k" , the modules
 will be installed in .../lib/ser/modules , ...lib/ser/modules_s
 and ...lib/ser/modules_k).
The module man pages will all be installed in the same man dir
(but so far only some ser modules have man pages so we should be
safe).

New make targets:
every-module          -  make all the modules in all the module dirs
install-every-module  - like above, but install
install-every-module-doc
install-every-module-man

Targets dependent on $(modules_dirs) content:
$(m), $(m)-doc, $(m)-readme, $(m)-man, install-$(m),
install-$(m)-doc,  install-$(m)-man.

E.g.: for modules_dirs=modules modules_k modules_s
make modules - make all modules in the directory "modules".
make modules_k - make all the modules in the directory modules_k.
make every-module - make all the modules in the directories
                     modules, modules_k and modules_s.
make install-modules_s - install all the modules in the directory
                        modules_s.
Makefile
Makefile.defs
Makefile.dirs [new file with mode: 0644]
Makefile.modules
Makefile.rules
Makefile.sources
Makefile.targets