2008-10-24 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mcs / build / rules.make
index 74de070b191c7bfcf5fa85ab00489f3d07e487d3..2d3d124412a3c38113d26527ca5212ab50c75446 100644 (file)
@@ -16,7 +16,8 @@ topdir := $(dots)
 VERSION = 0.93
 
 Q=$(if $(V),,@)
-Q_MCS=$(if $(V),,@echo -e "MCS\\t[$(PROFILE)] $(notdir $(@))";)
+# echo -e "\\t" does not work on some systems, so use 5 spaces
+Q_MCS=$(if $(V),,@echo "MCS     [$(PROFILE)] $(notdir $(@))";)
 
 USE_MCS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS)
 USE_MBAS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MBAS_FLAGS) $(PLATFORM_MBAS_FLAGS) $(PROFILE_MBAS_FLAGS) $(MBAS_FLAGS)
@@ -111,14 +112,15 @@ gacutil = $(topdir)/class/lib/net_1_1_bootstrap/gacutil.exe
 GACUTIL = MONO_PATH="$(topdir)/class/lib/net_1_1_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(gacutil)
 endif
 
-STD_TARGETS = test run-test run-test-ondotnet clean install uninstall
+STD_TARGETS = test run-test run-test-ondotnet clean install uninstall doc-update
 
 $(STD_TARGETS): %: do-%
 
 do-run-test:
        ok=:; $(MAKE) run-test-recursive || ok=false; $(MAKE) run-test-local || ok=false; $$ok
 
-do-%: %-recursive %-local ;
+do-%: %-recursive
+       $(MAKE) $*-local
 
 # The way this is set up, any profile-specific subdirs list should
 # be listed _before_ including rules.make.  However, the default
@@ -170,6 +172,11 @@ dist-default:
            dest=`dirname $(distdir)/$$f` ; \
            $(MKINSTALLDIRS) $$dest && cp -p $$f $$dest || exit 1 ; \
        done
+       if test -d Documentation ; then \
+               find . -name '*.xml' > .files ; \
+               tar cTf .files - | (cd $(distdir); tar xf -) ; \
+               rm .files ; \
+       fi
 
 %/.stamp:
        $(MKINSTALLDIRS) $(@D)
@@ -179,3 +186,9 @@ dist-default:
 
 withmcs:
        $(MAKE) MCS='$(INTERNAL_MCS)' BOOTSTRAP_MCS='$(INTERNAL_MCS)' all
+
+## Documentation stuff
+
+Q_MDOC =$(if $(V),,@echo "MDOC    [$(PROFILE)] $(notdir $(@))";)
+MDOC   =$(Q_MDOC) MONO_PATH="$(topdir)/class/lib/net_2_0$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/net_1_1$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(topdir)/tools/mdoc/mdoc.exe
+