diff --git a/mozilla/config/rules.mk b/mozilla/config/rules.mk index b73b4d3e758..a2a2270cccf 100644 --- a/mozilla/config/rules.mk +++ b/mozilla/config/rules.mk @@ -288,6 +288,10 @@ everything:: clobber_all alldep # MAKE_DIRS = +ifdef XPIDLSRCS +MAKE_DIRS += $(XPIDL_GEN_DIR) +endif + ifdef MDDEPDIR $(MDDEPDIR): @if test ! -d $@; then echo Creating $@; rm -rf $@; mkdir $@; else true; fi @@ -919,11 +923,12 @@ endif # Export the elements of $(XPIDLSRCS), generating .h and .xpt files and # moving them to the appropriate places. +ifneq ($(XPIDLSRCS),) + ifndef XPIDL_MODULE XPIDL_MODULE = $(MODULE) endif -ifneq ($(XPIDLSRCS),) ifeq ($(XPIDL_MODULE),) # we need $(XPIDL_MODULE) to make $(XPIDL_MODULE).xpt export:: FORCE @echo @@ -941,12 +946,14 @@ export:: $(XPIDLSRCS) $(XPDIST)/idl $(INSTALL) -m 444 $^ # generate .h files from into $(XPIDL_GEN_DIR), then export to $(XPDIST)/include; -# warn against overriding existing .h file. +# warn against overriding existing .h file. (Added to MAKE_DIRS above.) +$(XPIDL_GEN_DIR): + @if test ! -d $@; then echo Creating $@; rm -rf $@; mkdir $@; else true; fi # don't depend on $(XPIDL_GEN_DIR), because the modification date changes # with any addition to the directory, regenerating all .h files -> everything. + $(XPIDL_GEN_DIR)/%.h: %.idl $(XPIDL_COMPILE) - @if test ! -d $(XPIDL_GEN_DIR); then echo Creating $(XPIDL_GEN_DIR); rm -rf $(XPIDL_GEN_DIR); mkdir $(XPIDL_GEN_DIR); else true; fi $(XPIDL_COMPILE) -m header -w -I $(XPDIST)/idl -I$(srcdir) -o $(XPIDL_GEN_DIR)/$* $< @if test -n "$(findstring $*.h, $(EXPORTS))"; \ then echo "*** WARNING: file $*.h generated from $*.idl overrides $(srcdir)/$*.h"; else true; fi @@ -958,7 +965,6 @@ ifndef NO_GEN_XPT # generate intermediate .xpt files into $(XPIDL_GEN_DIR), then link # into $(XPIDL_MODULE).xpt and export it to $(DIST)/bin/components. $(XPIDL_GEN_DIR)/%.xpt: %.idl $(XPIDL_COMPILE) - @if test ! -d $(XPIDL_GEN_DIR); then echo Creating $(XPIDL_GEN_DIR); rm -rf $(XPIDL_GEN_DIR); mkdir $(XPIDL_GEN_DIR); else true; fi $(XPIDL_COMPILE) -m typelib -w -I $(XPDIST)/idl -I$(srcdir) -o $(XPIDL_GEN_DIR)/$* $< $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.xpt,$(XPIDLSRCS))