
On Thu, 30 Jan 2014 20:11:14 +0100 Johan Engelen <jbc.engelen@...2592...> wrote:
On 30-1-2014 20:02, Isobel Knowles wrote:
PS. My offer to write some 'nice' makefiles is still open.
No-one is stopping you :-) Make us dazzle...
:) Johan
Dear Johan,
OK. Before I do, do you think you could tell me what it is you want from the build? What are the essentials and what are the nice-to-haves? Where do you see the problems in the current architecture and what are its strengths?
I'm only after some pointers so I don't set off in the wrong direction.
I'll start the ball rolling with these:
- Documentation. People who are new to Inkscape should find it easy to edit the makefiles.
- Separate configuration and build cleanly so when the configuration phase doesn't do what you want for one reason or another, it is straight-forward to manually configure the build options in one or two files.
- Separate compilation and installation/packaging. Installation is generally performed as root, and all too often in GNU software libtool and the like get their teeth into a 'make install', turning it into compilation job. This is wrong.
- An ordinary build job should do the minimum work in the minimum time. For this I propose a flat makefile structure, perhaps composed of included makefiles. Parallel makes like this perform correctly and have no scalability issues whereas recursive makefiles are beset with problems and complication.
- It should be simple to modify build flags and make alternative targets for debugging purposes.
I wouldn't describe it as dazzling, but it's a start.
Yours,
Is.