Re: [dev] Build system: redo

From: Sergey Matveev <stargrave_AT_stargrave.org>
Date: Wed, 6 Jan 2021 18:05:07 +0300

*** Greg Reagle [2021-01-06 09:50]:
>I have made one improvement already, adding this to the end of the case statement:
> echo "no rule to build '$1'" >&2

By using separate .do files, that won't be needed, because redo itself
will tell you about unknown target. You single .do just shows how
complex everything is became, not flexible and inconvenient.

Also do not forget (it is not related to st) that all that .do's, being
the ordinary shell script (by default), can be called from other .do-s.
For example if there is some documentation written on Texinfo and you
want to generate .info and .html files, then you create two
corresponding .do target files. But they differs only by single option
to "makeinfo" invocation. It is easy just to add some kind of
"$MAKEINFO_OPTS" to the dst.info.do and call it directly from
dst.info.html:

    dst.info.do:
        [many other commands and dependencies]
        $MAKEINFO $MAKEINFO_OPTS -o $3 index.texi

    dst.html.do:
        MAKEINFO_OPTS="--html" . dst.info.do

I saw people create single .do with the case/esac to differentiate
info/html, that is much more complex.

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF
Received on Wed Jan 06 2021 - 16:05:07 CET

This archive was generated by hypermail 2.3.0 : Wed Jan 06 2021 - 16:12:09 CET