diff -r 42188c7ea2d9 -r 82f11024044a Orb/lib/flm/doxygen.flm --- a/Orb/lib/flm/doxygen.flm Thu Jan 21 17:29:01 2010 +0000 +++ b/Orb/lib/flm/doxygen.flm Thu Mar 18 18:26:18 2010 +0000 @@ -13,10 +13,21 @@ # to generate documentation. + #Print version and generated dox file in log file $(info Using Doxygen Extension Version: 0.1) $(info DOXYFILE: $(OUTPUTPATH)/$(DOXY_FILE)) +# The groupin10 macro allows us to construct a via file, 10 objects at a time +# to avoid limits on argument lengths and sizes on Windows. +# It expands to a list of commands, each of which is on a separate line. +# This causes the shell to be invoked once for each line but each line should +# be shorter than the maximum allowed by windows. +define groupin10 + $(if $1,echo -e $(foreach L,$(wordlist 1,10,$1),"
$(L)
\\n") >>$(OUTPUTPATH)/meta.xml,) + $(if $1,$(call groupin10,$(wordlist 11,$(words $1),$1)),@true) +endef + #definition that generates a doxygen configuration file and runs doxygen on it define generatedoxconfig ALL:: $(OUTPUTPATH)/$(DOXY_FILE).done @@ -28,14 +39,13 @@ $(SBS_DOXYGEN) $(OUTPUTPATH)/$(DOXY_FILE) && \ $(GNUTOUCH) $(OUTPUTPATH)/$(DOXY_FILE).done && \ $(SBS_PYTHON) "$(SBS_HOME)/python/doxygen/mapfilter.py" $(OUTPUTPATH)/dox/dita/$(TARGET).ditamap $(OUTPUTPATH)/meta.xml && \ - $(SBS_PYTHON) "$(SBS_HOME)/python/doxygen/linkinserter.py" $(OUTPUTPATH)/dox/dita && \ $(GNUCP) -r $(OUTPUTPATH)/dox/dita $(EPOCROOT)/epoc32/release/doxygen \ $(call endrule,rundoxygen) # Create a meta.xml file which lists all of the project exports (header files exported by this target to epoc32) $(OUTPUTPATH)/meta.xml: $(PROJECT_META) echo "" > $(OUTPUTPATH)/meta.xml && \ - echo -e "$(foreach header,$(EXPORTHEADERS),
$(header)
\n)" >> $(OUTPUTPATH)/meta.xml && \ + $(call groupin10,$(EXPORTHEADERS)) && \ echo "
" >> $(OUTPUTPATH)/meta.xml #Generate the doxygen configuration file from a template @@ -109,6 +119,7 @@ DOXY_FILE:=config.dox TMP_HRH_DEFINES_FILE:=hrhdefines.txt.tmp HRH_DEFINES_FILE:=hrhdefines.txt + $(eval $(generatedoxconfig)) # make the output directories while reading makefile - some build engines prefer this