Hello,
 
To the best of my knowledge, currently there's no way to determine the name of the makefile currently being read.  This information is useful to me, and I'd like to implement a 'thisfile' function that returns it.  The change would be minimal; basically I'd need to add func_thisfile() and ouput the reading_file->filenm string.  Also, a small change to lookup_function() is required so that we don't always assume that a function name has a whitespace or '\0' after it.
 
Would such a change be acceptable for inclusion in the next release?  Of course I will implement, thoroughly test, and document it.
 
In case you're wondering, I use the name of the makefile stub to generate a variable name prefix to avoid name collisions anywhere within a mountain of makefiles.  This can be used to implement a very simple non-recursive process.  For example (just off the top of my head):
 
%.o : %.c
    $(CC) $(if $($(call get_prefix,$(@D))_CFLAGS),$($(call get_prefix,$(@D))_CFLAGS),$(CFLAGS))
 
In other words, here if an included makefile stub has a variable $(call get_prefix $(dir $(thisfile)))_CFLAGS set, it will be used for files in the same directory; otherwise the default CFLAGS will be used.  There's probably other circumstances where $(thisfile) would come in handy, also.
 
Thanks,
 
Mark
 
 
Mark Haigh
Sr. Firmware Engineer
SonicWALL, Inc
m h a i g h @ s o n i c w a l l . c o m
 

Reply via email to