diff --git a/config/rules.mak b/config/rules.mak index 45c4bfd6ec69..844c7ed4379d 100644 --- a/config/rules.mak +++ b/config/rules.mak @@ -471,7 +471,9 @@ export:: !endif # defined(META_COMPONENT) libs:: $(LIBRARY) +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib +!endif clobber:: $(RM) $(DIST)\lib\$(LIBRARY_NAME).lib @@ -483,7 +485,9 @@ clobber:: # it! libs:: $(DLL) +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(DLL) $(DIST)\bin\components +!endif clobber:: $(RM) $(DIST)\bin\components\$(DLL) @@ -519,7 +523,9 @@ export:: !endif # defined(META_COMPONENT) libs:: $(LIBRARY) +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib +!endif clobber:: $(RM) $(DIST)\lib\$(LIBRARY_NAME).lib @@ -530,8 +536,10 @@ clobber:: # library in this case, because people may link against it. libs:: $(DLL) $(OBJDIR)\$(LIBRARY_NAME).lib +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(DLL) $(DIST)\bin $(MAKE_INSTALL) $(OBJDIR)\$(LIBRARY_NAME).lib $(DIST)\lib +!endif clobber:: $(RM) $(DIST)\bin\$(DLL) @@ -549,7 +557,9 @@ clobber:: !if defined(LIBRARY) libs:: $(LIBRARY) +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(LIBRARY) $(DIST)/lib +!endif clobber:: rm -f $(DIST)/lib/$(LIBRARY_NAME).lib @@ -746,9 +756,11 @@ include <$(DEPTH)/config/java.inc> !if "$(EXPORTS)" != "$(NULL)" export:: $(EXPORTS) +!ifndef NO_DIST_INSTALL @echo +++ make: exporting headers $(MAKE_INSTALL:/=\) $(MKCPYFLAGS) $(EXPORTS) $(PUBLIC) $(PERL) -I$(DEPTH)\config $(DEPTH)\config\build-list.pl $(PUBLIC)/.headerlist $(EXPORTS) +!endif #// don't delete exported stuff on a local clobber, use clobber_all #clobber:: @@ -849,19 +861,25 @@ $(XPDIST)\idl: -mkdir $(XPDIST)\idl export:: $(XPDIST)\idl +!ifndef NO_DIST_INSTALL @echo +++ make: exporting IDL files $(MAKE_INSTALL) $(XPIDLSRCS:/=\) $(XPDIST)\idl +!endif export:: $(XPIDL_GEN_DIR) $(XPIDL_HEADERS) $(PUBLIC) +!ifndef NO_DIST_INSTALL @echo +++ make: exporting generated XPIDL header files $(MAKE_INSTALL) $(XPIDL_HEADERS:/=\) $(PUBLIC) $(PERL) -I$(DEPTH)\config $(DEPTH)\config\build-list.pl $(PUBLIC)/.headerlist $(XPIDL_HEADERS) +!endif !ifndef NO_GEN_XPT libs:: $(XPIDL_GEN_DIR) $(TYPELIB) +!ifndef NO_DIST_INSTALL @echo +++ make: installing typelib '$(TYPELIB)' to components directory $(MAKE_INSTALL) $(TYPELIB) $(DIST)\bin\components !endif +!endif clobber:: -$(RM_R) $(XPIDL_GEN_DIR) 2> NUL @@ -992,7 +1010,9 @@ chrome:: $(CHROME_CONTENT:.\=INSTALL\.\) # Pseudo-target specifying how to install content files. $(CHROME_CONTENT:.\=INSTALL\.\): +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(@:INSTALL\.=.) $(CHROME_DIST)\$(CHROME_CONTENT_DIR) +!endif # Clobber content files. clobber_all:: $(CHROME_CONTENT:.\=CLOBBER\.\) @@ -1018,7 +1038,9 @@ chrome:: $(CHROME_SKIN:.\=INSTALL\.\) # Pseudo-target specifying how to install chrome files. $(CHROME_SKIN:.\=INSTALL\.\): +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(@:INSTALL\.=.) $(CHROME_DIST)\$(CHROME_SKIN_DIR) +!endif # Clobber content files. clobber_all:: $(CHROME_SKIN:.\=CLOBBER\.\) @@ -1044,7 +1066,9 @@ chrome:: $(CHROME_L10N:.\=INSTALL\.\) # Pseudo-target specifying how to install l10n files. $(CHROME_L10N:.\=INSTALL\.\): +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(@:INSTALL\.=.) $(CHROME_DIST)\$(CHROME_L10N_DIR) +!endif # Clobber l10n files. clobber_all:: $(CHROME_L10N:.\=CLOBBER\.\) @@ -1070,7 +1094,9 @@ chrome:: $(CHROME_MISC:.\=INSTALL\.\) # Pseudo-target specifying how to install misc files. $(CHROME_MISC:.\=INSTALL\.\): +!ifndef NO_DIST_INSTALL $(MAKE_INSTALL) $(@:INSTALL\.=.) $(CHROME_DIST)\$(CHROME_MISC_DIR) +!endif # Clobber misc files. clobber_all:: $(CHROME_MISC:.\=CLOBBER\.\) diff --git a/config/rules.mk b/config/rules.mk index a39308afccc4..1b6cb1a34d87 100644 --- a/config/rules.mk +++ b/config/rules.mk @@ -634,6 +634,7 @@ endif # LIBRARY_NAME ############################################## libs:: $(SUBMAKEFILES) $(MAKE_DIRS) $(HOST_LIBRARY) $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(HOST_PROGRAM) $(PROGRAM) $(HOST_SIMPLE_PROGRAMS) $(SIMPLE_PROGRAMS) $(MAPS) +ifndef NO_DIST_INSTALL ifneq (,$(BUILD_STATIC_LIBS)$(FORCE_STATIC_LIB)) ifdef LIBRARY ifeq ($(OS_ARCH),OS2) @@ -690,6 +691,7 @@ endif ifdef HOST_LIBRARY $(INSTALL) $(IFLAGS1) $(HOST_LIBRARY) $(DIST)/host/lib endif +endif # !NO_DIST_INSTALL +$(LOOP_OVER_DIRS) checkout: @@ -806,7 +808,9 @@ ifeq ($(CPP_PROG_LINK),1) else $(PURIFY) $(CC) -o $^.pure $(CFLAGS) $(PROGOBJS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) endif +ifndef NO_DIST_INSTALL $(INSTALL) $(IFLAGS2) $^.pure $(DIST)/bin +endif quantify: $(PROGRAM) ifeq ($(CPP_PROG_LINK),1) @@ -814,7 +818,9 @@ ifeq ($(CPP_PROG_LINK),1) else $(QUANTIFY) $(CC) -o $^.quantify $(CFLAGS) $(PROGOBJS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) endif +ifndef NO_DIST_INSTALL $(INSTALL) $(IFLAGS2) $^.quantify $(DIST)/bin +endif ifneq ($(OS_ARCH),OS2) # @@ -1224,7 +1230,9 @@ JMC_EXPORT_FILES = $(patsubst %,$(JAVA_DESTPATH)/$(PACKAGE)/%.class,$(JMC_EXPORT # problem because the source isn't in the current directory: # export:: $(JMC_EXPORT_FILES) $(JMCSRCDIR) +ifndef NO_DIST_INSTALL $(NSINSTALL) -t $(IFLAGS1) $(JMC_EXPORT_FILES) $(JMCSRCDIR) +endif endif # JAVA_OR_NSJVM endif @@ -1267,8 +1275,10 @@ endif ifneq ($(EXPORTS),) export:: $(EXPORTS) $(PUBLIC) +ifndef NO_DIST_INSTALL $(INSTALL) $(IFLAGS1) $^ $(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(PUBLIC)/.headerlist $(notdir $(filter-out $(PUBLIC),$^)) +endif endif ################################################################################ @@ -1279,7 +1289,9 @@ $(DIST)/bin/defaults/pref:: @if test ! -d $@; then echo Creating $@; rm -rf $@; $(NSINSTALL) -D $@; else true; fi export:: $(PREF_JS_EXPORTS) $(DIST)/bin/defaults/pref +ifndef NO_DIST_INSTALL $(INSTALL) $(IFLAGS1) $^ +endif endif ################################################################################ # Copy each element of AUTOCFG_JS_EXPORTS to $(DIST)/bin/defaults/autoconfig @@ -1289,7 +1301,9 @@ $(DIST)/bin/defaults/autoconfig:: @if test ! -d $@; then echo Creating $@; rm -rf $@; $(NSINSTALL) -D $@; else true; fi export:: $(AUTOCFG_JS_EXPORTS) $(DIST)/bin/defaults/autoconfig +ifndef NO_DIST_INSTALL $(INSTALL) $(IFLAGS1) $^ +endif endif ################################################################################ # Export the elements of $(XPIDLSRCS), generating .h and .xpt files and @@ -1315,7 +1329,9 @@ $(DIST)/idl:: @if test ! -d $@; then echo Creating $@; rm -rf $@; $(NSINSTALL) -D $@; else true; fi export:: $(XPIDLSRCS) $(DIST)/idl +ifndef NO_DIST_INSTALL $(INSTALL) $(IFLAGS1) $^ +endif # generate .h files from into $(XPIDL_GEN_DIR), then export to $(PUBLIC); # warn against overriding existing .h file. @@ -1333,8 +1349,10 @@ $(XPIDL_GEN_DIR)/%.h: %.idl $(XPIDL_COMPILE) $(XPIDL_GEN_DIR)/.done then echo "*** WARNING: file $*.h generated from $*.idl overrides $(srcdir)/$*.h"; else true; fi export:: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.h, $(XPIDLSRCS)) $(PUBLIC) +ifndef NO_DIST_INSTALL $(INSTALL) $(IFLAGS1) $^ $(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(PUBLIC)/.headerlist $(notdir $(filter-out $(PUBLIC),$^)) +endif ifndef NO_GEN_XPT # generate intermediate .xpt files into $(XPIDL_GEN_DIR), then link @@ -1347,7 +1365,9 @@ $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.xpt,$( $(XPIDL_LINK) $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt $^ libs:: $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt +ifndef NO_DIST_INSTALL $(INSTALL) $(IFLAGS1) $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt $(DIST)/bin/$(COMPONENTS_PATH) +endif endif