[Omake] Implicit rules with path

Brandt, Oliver - ESD-ES Brandto at lenze.de
Mon Nov 13 01:11:24 PST 2006


Hello!

First of all let me say that I'm very impressed of OMake. Seems to be a
great tool.

At the moment I'm in the state of evaluating OMake for my company. We
(that is: I) would like to use OMake as our buildtool in order to build
C-projects. To get a quick start I'm trying to "transform" the existing
buildsystem (using Dmake) into something that OMake understand.

Now my problem: With Dmake we are often using implicit rules like the
following:

out/%.obj : %.c
	<compile>

out/src/foo/bar.obj : src/foo/bar.c ...

Out project tree looks like this:

 prj
  |
  +- out
  |
  +- src
  |
  +- tools

I think you got the idea: Every generated file (like, for example,
objects)
should be generated in the "out" directory.

As a matter of fact this does not work with OMake. After reading the
mailing list I found Bug 456. Not exactly my problem but it gave me a
hint. Some digging in the (svn-)sources and I found
"compile_wild_pattern":

if Lm_string_util.contains_any s Lm_filename_util.separators then
  raise (OmakeException (loc_pos loc pos, StringStringError ("filename
pattern is a path", s)));

So I simple comment this two lines out and... ...nothing changed. OK,
there was no exception anymore. But the problem still exists: The rule
above does not match.

Question: Is this behaviour (not to match an implicit rule with a path
in the target) as expected? If so: Is there the chance that OMake could
behave as every make tool in this case? Maybe in combination with a new
option like "--match-paths-in-implicit-rules". I would do this myself,
but unfortunately I have no knowledge of OCalm and so the sources looks
weird to me...

Best regards
Oliver Brandt
--  
Dipl.-Ing. Oliver Brandt
Development Servo Drives

Lenze Drive Systems GmbH
Theodor-Heuss-Str. 4b
38122 Braunschweig
Germany

Phone:  +49 (0)531/80178-15
FAX:    +49 (0)531/80178-20
mailto: Oliver.Brandt at lenze.de


More information about the Omake mailing list