diff -ur kaleid-old/Makefile kaleid/Makefile
--- kaleid-old/Makefile	Fri Oct  4 23:21:26 1996
+++ kaleid/Makefile	Fri Oct  4 23:23:10 1996
@@ -1,7 +1,10 @@
-CFLAGS=-O
+CFLAGS=-O3
 
 kaleid:	kaleid.o
-	cc kaleid.o $(CFLAGS) -o kaleid -lX11
+	cc kaleid.o $(CFLAGS) -o kaleid -lX11 -L/usr/X11R6/lib
 
 kaleid.o:	kaleid.c kalicon.h
 	cc -c $(CFLAGS) kaleid.c
+
+clean:
+	$(RM) *.o kaleid
diff -ur kaleid-old/kaleid.c kaleid/kaleid.c
--- kaleid-old/kaleid.c	Fri Oct  4 23:21:40 1996
+++ kaleid/kaleid.c	Fri Oct  4 23:24:08 1996
@@ -298,7 +298,7 @@
     if (doroot) {
       int dontcare;
       Window wdontcare;
-      struct sigvec vec;
+      struct sigaction vec;
       cwindow = RootWindow(display,screen);
       XGetGeometry(display,cwindow,&wdontcare,&dontcare,&dontcare,
 		   &CX, &CY, &dontcare, &dontcare);
@@ -306,12 +306,12 @@
       CY >>= 1;
       M = (CX>CY) ? CX : CY;
       M = M ? M : 1;
-      vec.sv_handler = refreshrootquit;
-      vec.sv_mask = 0x0;
-      vec.sv_flags = 0;
-      sigvec(SIGINT, &vec, NULL);
-      sigvec(SIGQUIT, &vec, NULL);
-      sigvec(SIGTERM, &vec, NULL);
+      vec.sa_handler = refreshrootquit;
+      vec.sa_mask = 0x0;
+      vec.sa_flags = 0;
+      sigaction(SIGINT, &vec, NULL);
+      sigaction(SIGQUIT, &vec, NULL);
+      sigaction(SIGTERM, &vec, NULL);
     }
     else {
       XNextEvent(display,&event);
@@ -499,13 +499,13 @@
 int msec;
 {
   struct itimerval value,ovalue;
-  struct sigvec vec, ovec;
-  long savemask, sigblock(), sigpause();
+  struct sigaction vec, ovec;
+  long savemask;
 
-  vec.sv_handler = alarmhandler;
-  vec.sv_mask = 0x0;
-  vec.sv_flags = 0;
-  sigvec(SIGALRM, &vec, &ovec);		/* Set up alarmhandler for SIGALRM */
+  vec.sa_handler = alarmhandler;
+  vec.sa_mask = 0x0;
+  vec.sa_flags = 0;
+  sigaction(SIGALRM, &vec, &ovec);	/* Set up alarmhandler for SIGALRM */
   savemask = sigblock((long)(1L << (SIGALRM - 1)));
 
   value.it_interval.tv_sec = 0;
@@ -517,5 +517,5 @@
   (void)sigpause(0L);
   (void)sigsetmask(savemask);
 
-  sigvec(SIGALRM, &ovec, NULL);		/* Restore previous signal handler */
+  sigaction(SIGALRM, &ovec, NULL);	/* Restore previous signal handler */
 }
