[riot-devel] Updates to the build system - modules definition
gaetan.harter at fu-berlin.de
Fri Nov 24 17:56:30 CET 2017
On 11/24/2017 04:55 PM, Martine Lenders wrote:
> Hi Daniel,
> 2017-11-24 16:47 GMT+01:00 Daniel Petry <daniel.petry at fu-berlin.de
> <mailto:daniel.petry at fu-berlin.de>>:
> 1) Move build information concerning a particular module into that
> module's Makefile
> 2) Make the module makefiles able to be written with purely
> 3) Retain backwards compatibility with the current build system
> I don't think it is possible this way and I don't think that's what
> Gaëtan meant. Makefiles demand to be in make's language, so you can't
> just make up your own declarative language in them. You could however
> use some declaritive language files like json or yaml and generate
> Makefiles from them (or let make parse them).
I may have mixed 'Makefile' and file written in a 'GNUMake' language in
They address different steps of the build:
* Makefile is when you actually compile the source files to an archive
with a given configuration (CC, CFLAGS, INCLUDES)
* All the Makefile.dep/Makefile.include/Makefile.features files that
prepare this configuration and say which Makefile to execute
And its the part of configuration I would like to address.
Regarding `Makefile` I just want to remove the `DIRS +=` part of it.
What I want is add another file `module.desc` grouping the existing
information and metadata on the module:
* is it a pseudomodule
* includes path
* global CFLAGS
* … and add more.
Regarding the "purely declarative", I would like to express it in
GNUMake syntax and restrict to setting specially named variables.
My rational about this, is that if its written in XML, and let make
parse them, it is still required to translate the information to
variables that the make build system can understand.
So still needs to have a syntax to describe, for example, that a module
has an optional dependency on another, and so be definable in a gnu make
> devel mailing list
> devel at riot-os.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the devel