diff --git a/Mac/scripts/fullbuild.py b/Mac/scripts/fullbuild.py
index d81b650..ff090d0 100644
--- a/Mac/scripts/fullbuild.py
+++ b/Mac/scripts/fullbuild.py
@@ -3,17 +3,21 @@
 # distribution can be made, and puts it all in the right place.
 #
 # It expects the projects to be in the places where Jack likes them:
-# in directories named like 'build.macppc.shared'. That is fixable,
+# in directories named like 'build.mac'. That is fixable,
 # however.
 #
 # NOTE: You should proably make a copy of python with which to execute this
 # script, rebuilding running programs does not work...
 
+MACBUILDNO=":Mac:Include:macbuildno.h"
+
 import os
 import sys
 import macfs
 import MacOS
 import EasyDialogs
+import regex
+import string
 
 import addpack
 import aetools
@@ -180,6 +184,21 @@
 		":Mac:scripts:ConfigurePython.py"
 	]),
 }
+
+def incbuildno(filename):
+	fp = open(filename)
+	line = fp.readline()
+	fp.close()
+	
+	pat = regex.compile('#define BUILD \([0-9][0-9]*\)')
+	pat.match(line)
+	buildno = pat.group(1)
+	if not buildno:
+		raise 'Incorrect macbuildno.h line', line
+	new = string.atoi(buildno) + 1
+	fp = open(filename, 'w')
+	fp.write('#define BUILD %d\n'%new)
+	fp.close()
 				
 def main():
 	try:
@@ -194,6 +213,8 @@
 	
 	todo = handle_dialog()
 	
+	incbuildno(os.path.join(dir, MACBUILDNO))
+	
 	instructions = []
 	for i in todo:
 		instructions.append(BUILD_DICT[i])
diff --git a/Mac/scripts/fullbuild.rsrc.hqx b/Mac/scripts/fullbuild.rsrc.hqx
index 86696a8..8e8171a 100644
--- a/Mac/scripts/fullbuild.rsrc.hqx
+++ b/Mac/scripts/fullbuild.rsrc.hqx
@@ -1,17 +1,16 @@
 (This file must be converted with BinHex 4.0)
 
-:$QCeE'aLG@PXC#jbFh*M!(*cFQ058d9%!3#3"`-0T%X!N!3"!!!!!XF!!!((!!!
+:$QCeE'aLG@PXC#jbFh*M!(*cFQ058d9%!3#3"`,MLjS!N!3"!!!!!Td!!!'G!!!
 !4J!!4dJ-8f0bC@9Z)%9KFf@U)!)!!!"45f9i8f0&B5%!$QCeE'aLG@PXC#jbFh*
-MC!)!!!!rN!J!N!BrN!J!N"L`'j8e!*!'!`d!N!S1!!!!4dJ)8fpQG%YPHA0Q!J!
-#!&&,CAK4H&0V)3!!0!"!!*!%4iJ!N!jj0J!!IJ#S3A!!UADPfJ#3)Sk4!!F!N!`
-8!*!%&3!S!#J!q`(h!!%"!!%!N!8#!*!%!DS!%`#3"E3"KJ$)!F!%!Np,!*!&Y!!
-+!-J!4!3'3f&ZBf9X!*!&*!"R!$B!d38%3fpbC3#3"53!h`!f!8N&"e"XG@GTER2
-4!*!&*!&A!$B"`38+4AKdC@jcD@pZF`#3"6`!C`"1!0%&"%0[FQ8!N!8m!0m!6J&
-*"3G3E(9RD@jcd3#3"6`"9`"1!F%&#N9iG'9ZFfP[ER-!N!9F!'F!EJ$4"34'G@a
-X!*!&A!$I!'i"538&8feKE'aX!*!&G!"R!)B!d38%4R9XE!#3"A3!h`#'!8N&"90
-YB@aX53#3"C3!C`#Q!0%&#8CKG#"`FQpRF`-!N!@8!0m!TJ&*"3G"F("XCA4c9!#
-3"53!$3!d!&L)!e"33h3!N!8m!!d!6!"BL!-f1%YB!*!&A!!0!'`!@)J+8h4KG'P
-M)&"33`#3"A3!$3#%!&L)#P0dBA4TBb!f1%X!N!@8!!d!T!"BL!40DA0M!*!&#!#
-2!"J"))J98f9XC@0d)(GSBA3JG'mJBR9TE'3kE!!!!3!!!!,(!!!"a`!!!%B#,@5
-N%83!!!!F!%B!!84-6dF!!!!54%P86!!!!"i#!2rr!*!%!LeMI!)!rrm!!!!C!Le
-L@(*$:
+MD3)!!!"bFh*M8P0&4!%!!3!!!(*cFQ058d9%!3!"!!%"!*!2!6`"X"Z903#3"J-
+0!*!+$J!!!%G)#&0[CR4,CAPcCJ)!!J"45f9i8AK6Db%!!$3!3!#3"%H)!*!1H6B
+!!(i!U%&`!+PfTGS!N#+1N3!(!*!-&!#3""8!+!!S!2X"p`!"!3!"!*!&!J#3"!'
+!!"%!N!@d!BB!b!(!"!*25`#3"E3!#J$)!%3%"N0KEQ0PE!#3"6)!C`"%!0%&"%0
+[FQ8!N!8N!0m!0J&*"3G3E(9RD@jcd3#3"53"9`!f!F%&#N9iG'9ZFfP[ER-!N!8
+m!0m!6J&*"3G3E(9RD@jcd3#3"6`"9`"1!F%&#N9iG'9ZFfP[ER-!N!9F!'F!EJ$
+4"34'G@aX!*!&A!$I!'i"538&8feKE'aX!*!&G!"R!)B!d38%4R9XE!#3"A3!h`#
+'!8N&"90YB@aX53#3"C3!h`#Q!8N&"d&`F'aPG(08!*!&*!!0!$3!@)J$8&"$G!#
+3"6`!$3"-!&L)!cBi5eJ!N!9F!!d!E!"BL!T6G'&dD@-J8&"$!*!&G!!0!)3!@)J
++8h4KG'PM)$Bi5`#3"C3!$3#N!&L)"%eTFf-!N!8)!)m!'!%JL"96C@aPBh3JGfK
+KG#"dEb"LG@PXC$TX!!!"!!!!!Td!!!'G!!!!4J&LES`a0J!!!"`!4J!"4%a24`!
+!!"*%594-!!!!(J)!rrm!N!J#!2rr!!!!'3&LEK"R-!:
