void CreateMakefileInclude(AutotoolsContext context, IProgressMonitor monitor)
        {
            monitor.Log.WriteLine(GettextCatalog.GetString("Creating Makefile.include"));

            TemplateEngine templateEngine = new TemplateEngine();

            StringBuilder deployDirs    = new StringBuilder();
            IDictionary   dirs          = context.GetReferencedTargetDirectories();
            string        deployDirVars = String.Empty;

            foreach (DictionaryEntry e in dirs)
            {
                // It may be a sub-path
                string dir = (string)e.Key;
                int    i   = dir.IndexOf('/');
                if (i != -1)
                {
                    dir = dir.Substring(0, i);
                }
                string resolved = context.DeployContext.GetDirectory(dir);
                if (resolved == null)
                {
                    throw new InvalidOperationException("Unknown directory: " + e.Key);
                }

                // Don't use expanded dir vars in the makefile
                resolved = resolved.Replace("@expanded_", "@");

                if (i != -1)
                {
                    resolved += ((string)e.Key).Substring(i);
                }

                string var   = (string)e.Value;
                string dname = var.ToLower().Replace("_", String.Empty);
                deployDirs.AppendFormat("{0}dir = {1}\n", dname, resolved);
                deployDirs.AppendFormat("{0}_DATA = $({1})\n", dname, var);
                deployDirVars += "$(" + var + ") ";
            }

            templateEngine.Variables["DEPLOY_DIRS"]        = deployDirs.ToString();
            templateEngine.Variables["DEPLOY_FILES_CLEAN"] = deployDirVars;
            templateEngine.Variables["CONFIG_MAKE_DEP"]    = generateAutotools ? String.Empty : "$(top_srcdir)/config.make";
            if (generateAutotools)
            {
                templateEngine.Variables["WRAPPER_SED"] = String.Empty;
            }
            else
            {
                templateEngine.Variables["WRAPPER_SED"] =
                    "\n$2: $2.in $(top_srcdir)/config.make\n" +
                    "\tsed -e \"s,@prefix@,$(prefix),\"" +
                    " -e \"s,@PACKAGE@,$(PACKAGE),\"" +
                    " -e \"s,@expanded_libdir@,$(libdir),\"" +
                    " -e \"s,@expanded_bindir@,$(bindir),\"" +
                    " -e \"s,@expanded_datadir@,$(datadir),\"" +
                    " < $2.in > $2";
            }
            templateEngine.Variables["VALID_CULTURES"] = CultureNames;

            string fileName = Path.Combine(solution_dir, "Makefile.include");

            Stream stream = context.GetTemplateStream("Makefile.include");

            StreamReader reader = new StreamReader(stream);
            StreamWriter writer = new StreamWriter(fileName);

            templateEngine.Process(reader, writer);

            reader.Close();
            writer.Close();

            context.AddGeneratedFile(fileName);
        }
		void CreateMakefileInclude (AutotoolsContext context, IProgressMonitor monitor)
		{
			monitor.Log.WriteLine ( GettextCatalog.GetString ("Creating Makefile.include") );
			
			TemplateEngine templateEngine = new TemplateEngine();
			
			StringBuilder deployDirs = new StringBuilder ();
			IDictionary dirs = context.GetReferencedTargetDirectories ();
			string deployDirVars = String.Empty;
			
			foreach (DictionaryEntry e in dirs) {
				// It may be a sub-path
				string dir = (string) e.Key;
				int i = dir.IndexOf ('/');
				if (i != -1)
					dir = dir.Substring (0, i);
				string resolved = context.DeployContext.GetDirectory (dir);
				if (resolved == null)
					throw new InvalidOperationException ("Unknown directory: " + e.Key);

				// Don't use expanded dir vars in the makefile
				resolved = resolved.Replace ("@expanded_", "@");
				
				if (i != -1)
					resolved += ((string)e.Key).Substring (i);
				
				string var = (string) e.Value;
				string dname = var.ToLower ().Replace ("_", String.Empty);
				deployDirs.AppendFormat ("{0}dir = {1}\n", dname, resolved);
				deployDirs.AppendFormat ("{0}_DATA = $({1})\n", dname, var);
				deployDirVars += "$(" + var + ") ";
			}
			
			templateEngine.Variables["DEPLOY_DIRS"] = deployDirs.ToString();
			templateEngine.Variables["DEPLOY_FILES_CLEAN"] = deployDirVars;
			templateEngine.Variables["CONFIG_MAKE_DEP"] = generateAutotools ? String.Empty : "$(top_srcdir)/config.make";
			if (generateAutotools)
				templateEngine.Variables["WRAPPER_SED"] = String.Empty;
			else
				templateEngine.Variables["WRAPPER_SED"] =
					"\n$2: $2.in $(top_srcdir)/config.make\n" +
					"\tsed -e \"s,@prefix@,$(prefix),\"" +
					" -e \"s,@PACKAGE@,$(PACKAGE),\"" +
					" -e \"s,@expanded_libdir@,$(libdir),\"" +
					" -e \"s,@expanded_bindir@,$(bindir),\"" +
					" -e \"s,@expanded_datadir@,$(datadir),\"" +
					" < $2.in > $2";
			templateEngine.Variables["VALID_CULTURES"] = CultureNames;

			string fileName = Path.Combine (solution_dir, "Makefile.include");

			Stream stream = context.GetTemplateStream ("Makefile.include");

			StreamReader reader = new StreamReader(stream);
			StreamWriter writer = new StreamWriter(fileName);

			templateEngine.Process(reader, writer);

			reader.Close();
			writer.Close();

			context.AddGeneratedFile (fileName);
		}