On Wed, 2007-08-15 at 18:02 +0100, Dave Korn wrote: > I think I just ran across a similar situation, but I'm not sure it's the > exact same. I define a function in an include file:
This is a different problem. > export if-cpu This statement is a no-op. Shell variable names must match the RE [a-zA-Z_][a-zA-Z0-9_]*, so it's illegal for make to export a make variable "if-cpu", containing a dash which is an illegal character in a shell's variable name, into the environment. Make will ignore all variables that don't have a valid shell variable name when it exports. > Q. - Am I correct in believing that after exporting a variable to the > environment, the imported version in a submake will have been through a round > of expansion? Yes, make will expand recursive variables before exporting them. > Q. - Is there any way round this? > > Q. - Or is there just no way of defining a function at one makefile level that > is any use in recursive submakes if it uses any functions or variables at all? I haven't tested this exhaustively but I'm not prepared to go that far. I think it should be possible. However, one thing that WILL be difficult or impossible is having a function that is usable BOTH at the top level AND in submakes. Again, I'd have to fool around with it for a while to be sure. -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
