<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">In thinking again about Pd's build system(s) while working on the Windows build, I think there is a good solution which would allow combining both the Makefiles and autoconf.<div class=""><br class=""></div><div class="">As far as I see it, the pros/cons of the various systems we have now are:<div class=""><div class=""><br class=""></div><div class="">* makefiles: easy to understand & fast, less adaptable / configurable</div><div class="">* autotools: easy to use and configurable, harder to understand, lots of files</div><div class=""><br class=""></div><div class="">I think we definitely want to pros of both: easy to understand, easy to use, configurable.</div><div class=""><br class=""></div><div class="">Since the autotools (autoconf. automake, etc) are built around make already, it's not like these systems are mutually exclusive. The Makefile.am automaker files are used to generate Makefile.in files which are used to generate the Makefiles.</div><div class=""><br class=""></div><div class="">I propose that we transition from using automake directly and write our own Makefile.ins. This way more of the actually logic is shifted to the Makefile.in files themselves while we still get the configuration variables from the configure script. The con for this is we lose a lot of the boilerplate stuff that automaker handles but would gain Makefiles which basically look like Miller's original makefiles.</div><div class=""><br class=""></div><div class="">Additionally, the cross platform stuff like file lists and install rules, etc could be defined in a shared Makefile and we keep the platform specific makefiles. Last, we would be able to handle custom rules & approaches by not having to fight automake for things like generating binaries in the bin folder and making a "sourceful" release build in place with ./configure.</div><div class=""><br class=""></div><div class="">There are a number of projects which use this approach, including Tcl/Tk.</div><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">--------</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Dan Wilcox</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://twitter.com/danomatika" class="">@danomatika</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://danomatika.com" class="">danomatika.com</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://robotcowboy.com" class="">robotcowboy.com</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><br class="Apple-interchange-newline">
</div>

<br class=""></div></div></div></body></html>