help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Tricky suffix rule problem for Corba


From: CARTER-HITCHIN, David, FM
Subject: Tricky suffix rule problem for Corba
Date: Mon, 13 Feb 2006 14:06:01 -0000

Hi,

Hope someone out there can help me.

I'm trying to fix a broken rule we have to build CORBA header files.  These
get generated in a two step process from .idl files by a binary called,
funnily enough, idl.  The idl command takes the .idl file and generates a
.cc, then from the .cc it generates a .h.  This is not really at the core of
the problem I'm looking at but I mention this anyway to set the scence.
Incidentally we had a lot of problems with this two stage process until we
put .NOTPARALLEL into the makefiles which disabled our default '-j X'
setting.  Anyway, this is not the problem...

The problem is that we have four modules which require common idl files and
someone recently tidied these up and put them into a common directory at the
same level as the modules.  In other words:

idl/a.idl
idl/b.idl
w/makefile
w/source.cpp
x/makefile
x/source.cpp
y/makefile
y/source.cpp
z/makefile
z/source.cpp

This was a sensible thing to do as sometimes people would change one
instance of an .idl but not the other three. However it created a new
problem:

The rule to build the headers is like this:

%.h %.cc: %.idl
        $(IDL_COMMAND) $(IDL_OPTIONS) $<

This is the problem - the prerequisite $< is '../idl/a.idl' (for example)
and the target is '../idl/a.h' when it should be just 'a.h'.  I say 'should
be' since all our #includes are set up to just look in w,x,y or z and the
way the idl program runs means that it creates the .cc's and .h's in the CWD
which is w,x,y or z.  Is there an *easy* way to fix the rule so the targets
are considered 'a.h' instead of '../idl/a.h'? 

Thanks,

David Carter-Hitchin.
--LongSig


***********************************************************************************
The Royal Bank of Scotland plc. Registered in Scotland No 90312. Registered 
Office: 36 St Andrew Square, Edinburgh EH2 2YB. 
Authorized and regulated by the Financial Services Authority 
 
This e-mail message is confidential and for use by the 
addressee only. If the message is received by anyone other 
than the addressee, please return the message to the sender 
by replying to it and then delete the message from your 
computer. Internet e-mails are not necessarily secure. The 
Royal Bank of Scotland plc does not accept responsibility for 
changes made to this message after it was sent. 

Whilst all reasonable care has been taken to avoid the 
transmission of viruses, it is the responsibility of the recipient to 
ensure that the onward transmission, opening or use of this 
message and any attachments will not adversely affect its 
systems or data. No responsibility is accepted by The Royal 
Bank of Scotland plc in this regard and the recipient should carry 
out such virus and other checks as it considers appropriate. 
Visit our websites at: 
http://www.rbos.com
http://www.rbsmarkets.com 
********************************************************************************





reply via email to

[Prev in Thread] Current Thread [Next in Thread]