moddir = ${builddir}/{{ name }}.dir

{% block variables %}
ccflags = $ccflags $
    {%- for dep in depmods %}
    {%- for inc in dep.includes %}
    -I${srcroot}/{{ inc }} $
    {%- endfor %}
    {%- endfor %}
    {%- for inc in module.includes %}
    -I${srcroot}/{{ inc }} $
    {%- endfor %}
    {%- for define in module.defines %}
    -D{{ define }} $
    {%- endfor %}
{% endblock %}

{% for source in module.source %}
build ${moddir}/{{ source.output }} : {{ source.action }} ${srcroot}/{{ source.input }} || {{ buildfile }}
    name = {{ source.name }}
{% endfor %}

build ${builddir}/{{ module.output }} : {{ module.kind }} $
{%- for source in module.source %}
    ${moddir}/{{ source.output }} $
{%- endfor -%}
{%- for dep in deplibs %}
    ${builddir}/{{ dep.output }} $
{%- endfor %}
    | $
{%- for dep in depexes %}
    ${builddir}/{{ dep.output }} $
{%- endfor %}
    {{ buildfile }}
    name = {{ name }}

{% if module.default %}
default ${builddir}/{{ module.output }}
{% endif %}

{% block extra %}
{% endblock %}

# vim: ft=ninja et ts=4 sts=4 sw=4

