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.
Or, more simply, you need bug 701393.