diff --git a/util/ceg/util/.distr b/util/ceg/util/.distr
index ce5c0a001..f43c5598c 100644
--- a/util/ceg/util/.distr
+++ b/util/ceg/util/.distr
@@ -3,5 +3,5 @@ install_ceg
 make_as
 make_obj
 make_own
-update
+update_ceg
 Makefile
diff --git a/util/ceg/util/Makefile b/util/ceg/util/Makefile
index a89a07619..d9b64122a 100644
--- a/util/ceg/util/Makefile
+++ b/util/ceg/util/Makefile
@@ -1,7 +1,7 @@
 EM = ../../..
 CEGLIB = $(EM)/lib/ceg
 UTIL = $(CEGLIB)/util
-UtilList = create_ofiles make_as make_obj make_own update
+UtilList = create_ofiles make_as make_obj make_own update_ceg
 
 all:
 
@@ -9,7 +9,7 @@ install:
 	-mkdir $(CEGLIB)
 	-mkdir $(UTIL)
 	cp $(UtilList) $(UTIL)
-	cp install_ceg $(EM)/bin
+	cp install_ceg update_ceg $(EM)/bin
 
 cmp:
 	for i in $(UtilList) ; do cmp $$i $(UTIL)/$$i ; done
diff --git a/util/ceg/util/create_ofiles b/util/ceg/util/create_ofiles
index d40398995..4c8735b34 100644
--- a/util/ceg/util/create_ofiles
+++ b/util/ceg/util/create_ofiles
@@ -1,9 +1,13 @@
+list=
 for i in *.c
 do
   b=`basename $i .c`
   if test ! -f $b.o 
   then
 	>$b.o
-	touch $i
+	list="$list $i"
   fi
 done
+: my SUN is too fast ...
+sleep 2
+touch $list
diff --git a/util/ceg/util/update_ceg b/util/ceg/util/update_ceg
new file mode 100755
index 000000000..9cca367ee
--- /dev/null
+++ b/util/ceg/util/update_ceg
@@ -0,0 +1,28 @@
+make -f ce_makefile ceg/ceg
+
+for i
+do
+	case $i in
+	  ALL) make -f ce_makefile EM_instr ce.a;
+	       exit 0;;
+
+	  *.o) make -f ce_makefile ce/$i;
+	       ar r ce.a $i;;
+
+	  *..) ( cd ce; ../../../../lib/cpp ../EM_table| sed "/^#/d"| ../ceg/ceg -c $i);
+	       F=`basename $i ..`;
+	       U="_dnam"
+	       V="_dlb"
+	       make -f ce_makefile ce/$F.o ce/$F$U.o ce/"$F$V.o";
+	       echo ar r ce.a ce/$F.o ce/"$F$U.o" ce/"$F$V.o";
+	       ar r ce.a ce/$F.o ce/$F$U.o ce/"$F$U.o";;
+
+	    *) ( cd ce; ../../../../lib/cpp ../EM_table| sed "/^#/d"| ../ceg/ceg -c $i);
+	       make -f ce_makefile ce/$i.o;
+	       echo ar r ce.a ce/$i.o;
+	       ar r ce.a ce/$i.o;;
+	esac
+done
+
+echo ranlib ce.a
+ranlib ce.a