Don't generate project if the XML file already exists and is identical to what we've generated. Overridable with a "force" argument to mkproject().
diff --git a/Mac/Lib/mkcwproject/__init__.py b/Mac/Lib/mkcwproject/__init__.py
index ff5ddd9..387108d 100644
--- a/Mac/Lib/mkcwproject/__init__.py
+++ b/Mac/Lib/mkcwproject/__init__.py
@@ -4,7 +4,7 @@
 import AppleEvents
 import macfs
 
-def mkproject(outputfile, modulename, settings):
+def mkproject(outputfile, modulename, settings, force=0):
 	#
 	# Copy the dictionary
 	#
@@ -29,6 +29,14 @@
 	#
 	xmlbuilder = cwxmlgen.ProjectBuilder(dictcopy)
 	xmlbuilder.generate()
+	if not force:
+		# check whether it is the same as it was
+		if os.path.exists(dictcopy['mac_projectxmlname']):
+			fp = open(dictcopy['mac_projectxmlname'])
+			data = fp.read()
+			fp.close()
+			if data == dictcopy["tmp_projectxmldata"]:
+				return
 	fp = open(dictcopy['mac_projectxmlname'], "w")
 	fp.write(dictcopy["tmp_projectxmldata"])
 	fp.close()