Re: link: "Recursive Make Considered Harmful"

看板DFBSD_kernel作者時間21年前 (2005/01/13 13:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串27/31 (看更多)
On Wed, 2005-01-12 at 23:24, Jonas Sundstr繹m wrote: > Andrew Hacking <ahacking@optusnet.com.au> wrote: > ... > > My interpretation of the documentation was that it is impossible to > > invoke an external tool and assign the output of a command to a > > variable. This seemed a serious limitation _if_ that is the case, > > and > > rules out interfacing source code control systems, or whatever. > > It looks possible, but I'm not that familiar with Jam. > > actions AbsSymLink > { > target="$(2)" > case "$target" in > /*) ;; > *) target=`pwd`/"$target";; > esac > $(RM) "$(1)" && $(LN) -s "$target" "$(1)" > } > > Snippet taken from here: > http://cvs.sourceforge.net/viewcvs.py/*checkout*/open-beos/current/Jamfile?rev=1.28 > http://cvs.sourceforge.net/viewcvs.py/*checkout*/open-beos/current/Jamrules?rev=1.138 > (top level Jamfile and Jamrules) > > Two sub Jamfiles. Looks simple enough: > http://cvs.sourceforge.net/viewcvs.py/*checkout*/open-beos/current/src/apps/showimage/Jamfile?rev=1.8 > http://cvs.sourceforge.net/viewcvs.py/*checkout*/open-beos/current/src/libs/zlib/Jamfile?rev=1.6 > > /Jonas Sundstr繹m. www.kirilla.com > Jam actions are used during the updating/construction phase, not the parsing phase, so the above does not allow variables to be assigned that could affect the dependency graph which is built _prior_ to the update/construction phase. This would appear to inhibit the possibility of any dependency handling where source code and/or additional jam files need to be checked out or fetched as part of the build. It would prevent fetching code, extracting tar-balls, patching and building like the ports system does. It would seem that systems which require *all dependency knowledge* up front are inappropriate where it is desirable to _not_ have a pre-patched universe checked out on your machine, unless of course you recursively used the build tool..and now we have come full circle to the typical recursive make approach. -Andrew Hacking.
文章代碼(AID): #11vW2N00 (DFBSD_kernel)
討論串 (同標題文章)
文章代碼(AID): #11vW2N00 (DFBSD_kernel)