--- Makefile	2003-08-19 12:08:00.000000000 -0700
+++ Makefile.new	2003-08-19 12:43:34.000000000 -0700
@@ -21,30 +21,34 @@
 
 INSTALL_TLS := $(shell usr/bin/tls_test 2> /dev/null; if [ "$$?" = "0" ]; then echo "1"; else echo "0"; fi)
 
-install: kernel_module_install
-	@echo "Removing all old and conflicting files!"
-	@echo -n "      "
-	rm -f ${ROOT}/usr/lib/libGL.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/lib/libGLcore.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/lib/libGLwrapper.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/lib/tls/libGL.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/lib/tls/libGLcore.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/lib/tls/libGLwrapper.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/X11R6/lib/libGL.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/X11R6/lib/libGLcore.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/X11R6/lib/libGLwrapper.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/X11R6/lib/modules/extensions/libGLcore.*
-	@echo -n "      "
-	rm -f ${ROOT}/usr/X11R6/lib/modules/extensions/libglx.*
+install: kernel_module_install rm_old install_files install_links install_finish
+
+rm_old:
+	#@echo "Removing all old and conflicting files!"
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/lib/libGL.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/lib/libGLcore.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/lib/libGLwrapper.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/lib/tls/libGL.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/lib/tls/libGLcore.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/lib/tls/libGLwrapper.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/X11R6/lib/libGL.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/X11R6/lib/libGLcore.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/X11R6/lib/libGLwrapper.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/X11R6/lib/modules/extensions/libGLcore.*
+	#@echo -n "      "
+	#rm -f ${ROOT}/usr/X11R6/lib/modules/extensions/libglx.*
+
+install_files:
 	@echo "Installing new drivers"
 	@echo -n "      "
 	install usr/lib/libGL.so.${DSOREV} ${ROOT}/usr/lib
@@ -69,14 +73,7 @@
 		echo "      install usr/X11R6/lib/libXvMCNVIDIA.so.${DSOMAJOR}.${DSOMINOR}.${DSOPATCH} ${ROOT}/usr/X11R6/lib/libXvMCNVIDIA.so.${DSOMAJOR}.${DSOMINOR}.${DSOPATCH}"; \
 		install usr/X11R6/lib/libXvMCNVIDIA.so.${DSOMAJOR}.${DSOMINOR}.${DSOPATCH} ${ROOT}/usr/X11R6/lib/libXvMCNVIDIA.so.${DSOMAJOR}.${DSOMINOR}.${DSOPATCH}; \
 	fi
-	@if [ "$(INSTALL_TLS)" = "1" ]; then \
-                echo "      cd ${ROOT}/usr/lib/tls/; ln -fs	libGL.so.${DSOREV} libGL.so"; \
-                cd ${ROOT}/usr/lib/tls/; ln -fs libGL.so.${DSOREV} libGL.so; \
-	fi
-	@echo -n "      "
-	cd ${ROOT}/usr/lib/; ln -fs libGL.so.${DSOREV} libGL.so
-	@echo -n "      "
-	cd ${ROOT}/usr/X11R6/lib/modules/extensions; ln -fs libglx.so.${DSOREV} libglx.so
+
 	@echo "Installing documentation in ${DOCDIR}"
 	@echo -n "      "
 	mkdir -p ${DOCDIR}/include
@@ -85,4 +82,28 @@
 	@echo -n "      "
 	cp -r usr/share/doc/* ${DOCDIR}
 	@echo -n "      "
+
+install_links:
+	@echo "Installing symbolic links"
+	if [ "$(INSTALL_TLS)" = "1" ]; then \
+	 cd $(ROOT)/usr/lib/tls ;\
+	 links=`find . -type l -maxdepth 1 | grep libGL.so` ;\
+	 for i in $$links; do \
+	  ln -fs libGL.so.$(DSOREV) $$i ;\
+	 done ;\
+	fi
+	
+	cd $(ROOT)/usr/lib ;\
+	 links=`find . -type l -maxdepth 1 | grep libGL.so` ;\
+	 for i in $$links; do \
+	  ln -fs libGL.so.$(DSOREV) $$i ;\
+	 done
+	 
+	cd ${ROOT}/usr/X11R6/lib/modules/extensions ;\
+	 links=`find . -type l -maxdepth 1 | grep libglx.so` ;\
+	 for i in $$links; do \
+	  ln -fs libglx.so.${DSOREV} $$i ;\
+	 done
+
+install_finish:
 	/sbin/ldconfig

