diff -uprN -x debian CMake/Source/cmMakefile.cxx cmakeset/Source/cmMakefile.cxx
--- CMake/Source/cmMakefile.cxx	2008-01-18 23:11:50.000000000 +0100
+++ cmakeset/Source/cmMakefile.cxx	2008-01-23 12:17:04.000000000 +0100
@@ -140,6 +140,7 @@ void cmMakefile::Initialize()
 {
   this->cmDefineRegex.compile("#cmakedefine[ \t]+([A-Za-z_0-9]*)");
   this->cmDefine01Regex.compile("#cmakedefine01[ \t]+([A-Za-z_0-9]*)");
+  this->cmWriteRegex.compile("#cmakewrite[ \t]+([A-Za-z_0-9]*)");
   this->cmAtVarRegex.compile("(@[A-Za-z_0-9/.+-]+@)");
 }
 
@@ -2537,6 +2538,13 @@ void cmMakefile::ConfigureString(const s
         output += " 0";
         }
       }
+    else if(this->cmWriteRegex.find(line))
+      {
+      const char* def =
+        this->GetDefinition(this->cmWriteRegex.match(1).c_str());
+        cmSystemTools::ReplaceString(line, "#cmakewrite ", "");
+        output += line;
+      }
     else
       {
       output += line;
diff -uprN -x debian CMake/Source/cmMakefile.h cmakeset/Source/cmMakefile.h
--- CMake/Source/cmMakefile.h	2008-01-18 01:29:43.000000000 +0100
+++ cmakeset/Source/cmMakefile.h	2008-01-23 11:07:51.000000000 +0100
@@ -826,6 +826,7 @@ private:
 
   cmsys::RegularExpression cmDefineRegex;
   cmsys::RegularExpression cmDefine01Regex;
+  cmsys::RegularExpression cmWriteRegex;
   cmsys::RegularExpression cmAtVarRegex;
 
   cmPropertyMap Properties;
