`python -O ../build/pymake/make.py -C browser/components` is not causing my fastload to be invalidated. This is a debug build. .purgecaches is not being created.
I've been told that make.py should still pass the |if test -d ../dist/bin ; then touch ../dist/bin/.purgecaches ; fi| command to the shell. I wonder if MozillaBuild maybe doesn't support one of the commands in there?
Seems pretty unlikely.
Noticed that on Windows, this line doesn't show up at all when I do make: > if test -d $(DIST)/bin ; then touch $(DIST)/bin/.purgecaches ; fi and it does on other platforms. The line comes from http://mxr.mozilla.org/mozilla-central/source/config/rules.mk#2360 or the rules.mk file in /js.
http://mozilla.pastebin.com/u8Wcbh1S is the tail end of the output from make -d. Looks like that line isn't getting executed at all. From here, I'm not sure what to do other than muck around with Makefiles to see if I can find something Windows make is happy with.
So, looks like using the libs target instead of the default target works. I don't remember if only invalidating on make libs misses any corner cases, but I think it should be ok.
Created attachment 474276 [details] [diff] [review] use libs target instead of default target
Created attachment 475345 [details] [diff] [review] uses default all instead of default