Open Bug 737839 Opened 12 years ago Updated 2 years ago

optimizations: mobile/xul/installer/Makefile.in

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

People

(Reporter: joey, Unassigned)

References

Details

mobile/xul/installer/Makefile.in (~line: 193)
=============================================

$(PP_DEB_FILES):
	$(EXIT_ON_ERROR) \
	for f in $(PP_DEB_FILES); do \
           src=$(srcdir)/debian/`basename $$f`.in; \
	   echo $$src ">" $$f ;\
           $(RM) -f $$f; \
           mkdir -p debian;  \
           $(PYTHON) $(topsrcdir)/config/Preprocessor.py \
             $(AUTOMATION_PPARGS) $(DEFINES) $(ACDEFINES) $$src > $$f; \
         done

 o extra shell commands can be removed from target logic.  The for loop can be removed, target logic changed to process a single file.  The existing $(PP_DEB_FILES) dep can be retained, use $@ in place of "for f in" iteration.  Also $(EXIT_ON_ERROR) can be removed after all line continuations have been optimized out of the logic.

 o after loop removal, $(notdir $@) can replace `basename $$f` to remove extra shells.

 o not sure what this logic was added.  Perhaps an early exit if the directory path does not exist -or- to prevent appending $$src to $$f while iterating across several loops:
   - echo $$src ">" $$f; $(RM) -f $$f
   - config/Preprocessor.py $$src > $$f

 o mkdir -p debian should be called once rather than in a loop (same for `basename`).
   At a minimum move the call outside the for f loop.  After bug 680246 lands the target can use pre-requisites to force directory creation on demand in place of explicit mkdir -p calls.
See Also: → 737849
Or, more simply, you need bug 701393.
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.