help-make
[Top][All Lists]
Advanced

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

Re: Parsing makefiles.


From: John Graham-Cumming
Subject: Re: Parsing makefiles.
Date: Tue, 30 Aug 2005 20:52:43 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040208 Thunderbird/0.5 Mnenhy/0.6.0.104

Fredrik Carlsson wrote:
I have alot of makefiles (part of a packagesystem) that i need to parse and extract relevant information. The variables in these makefiles is not just plain text but they also contain variables ex "EXAMPLE= ${EXP:S/-/-server-/}" so i need to use make to process the Makefile whitout building the application(the variables need to be in "text" form EXAMPLE = rr-123 and not EXAMPLE = ${EXP....} and then parse the makefile whit my program.

If you are using GNU Make 3.80 (or above) then there's a special variable called .VARIABLES that lists all the variables defined in the Makefile.

You could add a rule (print-vars) to the Makefile that would print out all the variables in the format you want. For example,

 .PHONY: printvars
 printvars:
        @$(foreach V,$(sort $(.VARIABLES)),
         $(if $(filter-out environment% default automatic,
         $(origin $V)),$(warning $V=$($V) ($(value $V)))))

I wrote about this in detail in my monthly CM Crossroads column here: http://www.cmcrossroads.com/ubbthreads/showflat.php?Number=29581

John.
--
John Graham-Cumming
address@hidden

Home: http://www.jgc.org/
POPFile: http://getpopfile.org/

Sign up for my Spam and Anti-spam Newsletter
at http://www.jgc.org/




reply via email to

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