A new credo: no more complex makefiles.

112 views
Skip to first unread message

Jason Catena

unread,
Apr 19, 2011, 7:44:15 PM4/19/11
to infern...@vitanuova.com, acme...@googlegroups.com, redo...@googlegroups.com
Since the last thing the world needs is more complicated makefiles,
I am developing in sh in Acme SAC a little tool that strips down
the task of related-file management to remove makefiles per se,
but keep the part that only builds if prerequisites change.

Instead of one file which combines target, prereqs, and commands,
credo (a bit inspired by djb's redo, but without the redo-* commands)
uses a shell script or program (per target) to store commands,
and a list of files and checksums (per target) to store a target's
view of its prerequisites.

I also wrote a little script (mkdodep) to take templates for the build
scripts and dependency lists from a library directory and customize
them for the targets the user wants to create.

The idea is to automate as much as possible, at as fine-grained a level
as possible, the task of writing and customizing the build system.
Simple, small, separate files of single purpose with defined interfaces
seem better than the little language of makefiles in that regard.

For your consideration, I posted manual pages for credo and mkdodep.

http://jasoncatena-acmesac.googlecode.com/hg/test/1/credo/man1/credo.1

http://jasoncatena-acmesac.googlecode.com/hg/test/1/credo/man1/mkdodep.1

The code is in /dis and /lib/do in my clone of the Acme-SAC repository,
ever under development.

http://code.google.com/r/jasoncatena-acmesac/source/browse/#hg%2Fdis

http://code.google.com/r/jasoncatena-acmesac/source/browse/#hg%2Flib%2Fdo

Comments and constructive criticism welcome.

Jason Catena

Reply all
Reply to author
Forward
0 new messages