On 04/20/2010 06:05 PM, Jean-Marc Desperrier wrote:
Well, if you're reading that and know the build system well :
20 DEHYDRA_ARGS = \
21 --topsrcdir=$(topsrcdir) \
22 --objdir=$(DEPTH) \
23 --dehydra-modules=$(subst $(NULL) ,$(COMMA),$(strip
$(DEHYDRA_MODULES))) \
24 --treehydra-modules=$(subst $(NULL) ,$(COMMA),$(strip
$(TREEHYDRA_MODULES))) \
25 $(NULL)
26
27 DEHYDRA_FLAGS = -fplugin=$(DEHYDRA_PATH)
-fplugin-arg='$(DEHYDRA_SCRIPT) $(DEHYDRA_ARGS)'
28
29 ifdef DEHYDRA_PATH
30 OS_CXXFLAGS += $(DEHYDRA_FLAGS)
31 endif

What's $(NULL), what does it do ? And the three argument $(subst
command, with $(COMMA) as the second argument ?

$(NULL) is either empty or whitespace (I'm never quite sure which whitespace in Makefiles is significant). $(COMMA), I'm guessing, is a variable which expands to a `,', which would allow it to be used as an argument for something where it is normally a delimiter.

So, what's probably happening is that the whitespace in $(DEHYDRA_MODULES) is collapsed and replaced with commas.
_______________________________________________
dev-static-analysis mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-static-analysis

Reply via email to