delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/01/15/16:37:57

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Originating-IP: [66.167.121.135]
X-Originating-Email: [rkitover AT hotmail DOT com]
X-Sender: rkitover AT hotmail DOT com
From: "Rafael Kitover" <rkitover AT hotmail DOT com>
To: "'Cygwin List'" <cygwin AT cygwin DOT com>
Cc: "'Jason Pearce'" <jason DOT pearce AT ieee DOT org>
Subject: RE: bug in cygwin build of Make
Date: Thu, 15 Jan 2004 13:37:45 -0800
MIME-Version: 1.0
In-Reply-To: <400704BA.5070205@ieee.org>
Message-ID: <Law9-OE27QNtDEgz65i00010546@hotmail.com>
X-OriginalArrivalTime: 15 Jan 2004 21:37:55.0540 (UTC) FILETIME=[D62AE140:01C3DBAF]

>-----Original Message-----
>From: cygwin-owner AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com] On Behalf Of Jason Pearce
>Sent: Thursday, January 15, 2004 1:25 PM
>To: cygwin AT cygwin DOT 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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019