🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #1587

Re: Makefile ding

#1587
From: John Bokma
Date: Mon, 07 Feb 2005 23:13
56 lines
2717 bytes
Bart Vandewoestyne wrote:

> Directory-structuur is ruwweg als volgt:
> 
> /hoofddir/
>      /doc/
>      /src/
>         /utilities/
>         /measures/
>         /enzoverder/
> 
> 
> Nu heb ik in hoofddir een Makefile staan die recursief make oproept in
> de verschillende subdirs.
> 
> De Makefile van onder de directory measures bevat nu echter een
> dependency met een file die te vinden is onder de directory utilities:
> 
> mod_discrepancy.o: mod_datatypes.o mod_discrepancy.f95
>         $(compiler) -c $(fortran_flags) -o $@ $^
> 
> mod_datatypes.o is de object file die normaal onder utilities te
> vinden is.
> 
> Als ik make oproep krijg ik dan uiteraard:
> 
> make[2]: *** No rule to make target `mod_datatypes.o', needed by
> `mod_discrepancy.o'.  Stop.
> 
> Omdat ik natuurlijk in de Makefile van onder /measures/ geen rule voor
> mod_datatypes.o specifieer omdat mod_datatypes.o natuurlijk iets is
> dat voorkomt in de Makefile die in de 'utilities' directory staat.
> 
> Hoe worden zo'n dependencies normaal aangepakt?  Ik dacht aan het
> zetten van VPATH in mijn hoofddir, maar via die weg ben ik er precies
> ook nog niet geraakt...
> 
> Wat is de properste manier om dit op te lossen?

Wat je wilt maken in measures hangt af van iets in utilities, dus ik gok
dat het netste is om een rule te maken voor mod_datatypes.o die de make
in utilities aanroept. 

Je ontkomt niet aan een rule als je het netjes wilt doen, want zodra die
mod_datatypes aangepast is, wil je in measure ook alles opnieuw maken. 

Een soort "nop" regel zou ik niet netjes vinden.

(Heb al erg lang niks meer gedaan met make btw)


-- 
John Bokma
                 Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar:  http://castleamber.com/
Tevreden opdrachtgevers:     http://castleamber.com/testimonials.html
Technical Details
Message-ID: <Xns95F6AF37F1B88castleamber@130.133.1.4>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
References: <1107811085.339420@seven.kulnet.kuleuven.ac.be>

Show Full Headers
Complete Article Headers
X-Google-Thread: fcea4,e477cb06910f77fb
X-Google-Attributes: gidfcea4,public
X-Google-Language: DUTCH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: John Bokma <postmaster@castleamber.com>
Newsgroups: be.comp.programming
Subject: Re: Makefile ding
Date: 7 Feb 2005 23:13:30 GMT
Organization: Castle Amber - software development
Lines: 56
Message-ID: <Xns95F6AF37F1B88castleamber@130.133.1.4>
References: <1107811085.339420@seven.kulnet.kuleuven.ac.be>
X-Trace: individual.net agqsFAJT+He12WYK338ErAkrXQaY+GtAZ59lEE11tsCxEJPopM
User-Agent: Xnews/5.04.25
X-Face: $7h&5K*ZL9*ZQ\6Hco2"V?1dD*C<ab^>zlws[S%i0b,@gKk|[,)Y-<hk143{.Ov"x{({zo( l,N\m`-_^nJfVQdEyt+-uAP^7WG]5mHj9&::7X-qK;Yv;xmRvNWQR"_igw+cr5WMj;6:zlj<R80Ei@ $gGWq&*{FL*kC*a