This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: bug in cygwin build of Make


>-----Original Message-----
>From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com] On Behalf Of Jason Pearce
>Sent: Thursday, January 15, 2004 1:25 PM
>To: cygwin@cygwin.com
>Subject: Re: bug in cygwin build of Make
>
[SNIP]
>
>
>CVSVIEW    = $(shell if [ -e CVS/Repository ]; then echo ${CURDIR} | sed
>-e "s|`cat CVS/Repository | sed -e "s|^[^/]*||"`||"; else echo
>$$CVSVIEW; fi)
>
>bus_pack-pkg.vhd : ${CVSVIEW}/doc/mem_map.csv ${CVSVIEW}/etc/bus_pack.pl
>    perl ${CVSVIEW}/etc/bus_pack.pl -v ${CVSVIEW}/doc/mem_map.csv
>bus_pack-pkg.vhd
>
>
>Even though it now working, is there a better way of doing this?
>

Certainly, see this paper on non-recursive make, entitled "Recursive Make Considered Harmful":

http://aegis.sourceforge.net/auug97.pdf

I read it a few years ago and it completely changed my perspective on build systems. Using that technique, instead of executing
copies of make in subdirs, you include pieces of makefiles from subdirs and end up with only one dependency tree. This gives you
cleaner, more accurate builds with less spam. It's harder to convert a build system to that format than it is to use it when making
one from scratch :)

-- 
Rafael

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]