diff --git a/Config b/Config
index a5281bf459d82e9441fe049af359f074471576d5..daf53b6203bcbeb76150f56935bea4df1206d135 100755
--- a/Config
+++ b/Config
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Id: Config,v 1.6 1991/09/08 02:14:33 ceder Exp $
+# $Id: Config,v 1.7 1991/09/08 21:05:05 ceder Exp $
 
 x=
 
@@ -22,23 +22,25 @@ esac
 case "$x" in
 error)	false;;
 *)
+	for i in `find . -type d -print`
+	do  echo TOPDIR=`pwd` > $i/Topdir.make
+	done
+
 	rm -f scripts/import.make
 	ln -s ../config/${x}-config.h include/m-config.h
 	ln -s ../config/${x}-defs.make scripts/import.make
 	ln -s ../src/include/ansi/${x} include/ansi
 	cd include/ansi
-	cat links | while read link target; do	\
-		echo ${link};	\
-		rm -f ${link};		
-		[ "" = "${target}" ] && target=Templates;	\
-		ln -s ../${target}/${link} ${link};	\
+	cat links | while read link target; do
+		rm -f ${link}
+		[ "" = "${target}" ] && target=Templates
+		ln -s ../${target}/${link} ${link}
 	done
 
 	cd sys
-	cat links | while read link target; do	\
-		echo ${link};	\
-		rm -f ${link};			\
-		[ "" = "${target}" ] && target=Templates;	\
-		ln -s ../../${target}/sys/${link} ${link};	\
+	cat links | while read link target; do
+		rm -f ${link};
+		[ "" = "${target}" ] && target=Templates; 
+		ln -s ../../${target}/sys/${link} ${link}; 
 	done;;
 esac
diff --git a/Makefile b/Makefile
index 36e0be3f310fcaa028e0ec40f12a88281e7a3a6f..432d0ae2b0d7c06394aa47650c2f90c37b5d9e95 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-TOPDIR := $(shell pwd)
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/config/Makefile b/config/Makefile
index 9d3fdfc1323e6109a7547b79f284014085bae047..9f24795a0a975acc537d167870e7844b81d49c9d 100644
--- a/config/Makefile
+++ b/config/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/config/balance-defs.make b/config/balance-defs.make
index 4929f46633e85339bef01eb04bd35d901ce6d2cb..d710685ab0be37c9aef4cb53d0b0eee17293c361 100644
--- a/config/balance-defs.make
+++ b/config/balance-defs.make
@@ -1,4 +1,4 @@
-# $Id: balance-defs.make,v 1.2 1991/09/03 22:11:32 ceder Exp $
+# $Id: balance-defs.make,v 1.3 1991/09/08 21:09:06 ceder Exp $
 # This file is included by all Makefiles in the LysKOM hierarchy.
 # It gives default values for all variables that is normally used. 
 # TOPDIR and SCRIPTDIR must be set before this file is included.
@@ -40,7 +40,7 @@ LYSKOMUSRBIN = /usr/local/bin
 
 
 GENERIC-CLEAN = *~ *.o lib*.a dependencies core TAGS temp-Makefile  \
-	 temp-?-Makefile
+	 temp-?-Makefile Topdir.make
 
 EXPORTS =
 
diff --git a/config/sun4os4-defs.make b/config/sun4os4-defs.make
index 7c2e3e8fa78e8f3626564dfa007b6dadf6bd9aba..672800465b29c341dfba3d89bf4ba2864018fee8 100644
--- a/config/sun4os4-defs.make
+++ b/config/sun4os4-defs.make
@@ -1,4 +1,4 @@
-# $Id: sun4os4-defs.make,v 1.2 1991/09/03 22:11:30 ceder Exp $
+# $Id: sun4os4-defs.make,v 1.3 1991/09/08 21:09:02 ceder Exp $
 # This file is included by all Makefiles in the LysKOM hierarchy.
 # It gives default values for all variables that is normally used. 
 # TOPDIR and SCRIPTDIR must be set before this file is included.
@@ -41,7 +41,7 @@ LYSKOMUSRBIN = /usr/local/bin
 
 
 GENERIC-CLEAN = *~ *.o lib*.a dependencies core TAGS temp-Makefile  \
-	 temp-?-Makefile
+	 temp-?-Makefile Topdir.make
 
 EXPORTS =
 
diff --git a/doc/Makefile b/doc/Makefile
index 0d1f99b1eb0e63e9b6d3e9de246785d8447aa373..48bfc71ff2476d1d434e10b507e664965da3fe4d 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/doc/man/Makefile b/doc/man/Makefile
index 5d929ae136aa6199e8cd1cfe71e2fc49b0751e4f..97c8fe8ab34b14187bada17c9e27d365b6e4cf57 100644
--- a/doc/man/Makefile
+++ b/doc/man/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom/src
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/scripts/Makefile b/scripts/Makefile
index 9588f98f6e854b54ac835237b65a9ccbefadf7c5..ac6306c77df4217c2593e64889cf66bc1b2ab0cc 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/src/Makefile b/src/Makefile
index c44231bd60331a466c5548bf602457efe5adf7ce..b32fc670574970252560ce344119f047090f9395 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom/src
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/src/include/Makefile b/src/include/Makefile
index 63bd44d46ebbad3b45e446998cf7456886bc6f84..e8c4eaab14922d98e966620ae4b0493a396d31f7 100644
--- a/src/include/Makefile
+++ b/src/include/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/src/include/server/Makefile b/src/include/server/Makefile
index ff13e37c4102e669cbf56f6f1f5843801e9a5da7..31e71d985dbb45d34837530c8141f233b6ef4198 100644
--- a/src/include/server/Makefile
+++ b/src/include/server/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom/src
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/src/libraries/Makefile b/src/libraries/Makefile
index c41133426980b45e24ce357be023b27a5aec5d37..312d8689edc66697cac6073da6026a8ea90eebf5 100644
--- a/src/libraries/Makefile
+++ b/src/libraries/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom/src
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/src/libraries/libansi/Makefile b/src/libraries/libansi/Makefile
index de42e157cff3d2f9be13d9a1cc5dca650b34b4ce..7b6d7c792838126a5ecf71cbf981d5679b7e396b 100644
--- a/src/libraries/libansi/Makefile
+++ b/src/libraries/libansi/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom/src
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/src/libraries/libcommon/Makefile b/src/libraries/libcommon/Makefile
index 03c126496e9a8cb13e5f424df044c05a2e8c7caa..9497ddcd11f83c577fd5877ed1510b1b35422639 100644
--- a/src/libraries/libcommon/Makefile
+++ b/src/libraries/libcommon/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom/src
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
@@ -14,13 +14,13 @@ all: $(LIBRARIES)
 
 client-dir:
 	mkdir client-dir
-	ln -s `echo $(LIBOBJS) $(INSTALL-HDRS) dependencies| tr ' ' '\012' | \
-	sed 's/.o$$/.c/' | sed 's:^:\.\./:' ` client-dir/
+	ln -s `echo $(LIBOBJS) $(INSTALL-HDRS) dependencies Topdir.make | \
+	tr ' ' '\012' | sed 's/.o$$/.c/' | sed 's:^:\.\./:' ` client-dir/
 
 server-dir:
 	mkdir server-dir
-	ln -s `echo $(LIBOBJS) $(INSTALL-HDRS) dependencies| tr ' ' '\012' | \
-	sed 's/.o$$/.c/' | sed 's:^:\.\./:' ` server-dir/
+	ln -s `echo $(LIBOBJS) $(INSTALL-HDRS) dependencies Topdir.make | \
+	tr ' ' '\012' | sed 's/.o$$/.c/' | sed 's:^:\.\./:' ` server-dir/
 
 .PHONY: liblyskom-server.a
 liblyskom-server.a: server-dir
diff --git a/src/libraries/libmisc/Makefile b/src/libraries/libmisc/Makefile
index 77b04724a71c538dbb2b281e3a561f565a702039..87a7974113b3122851b58796fa85c6f6fee4079a 100644
--- a/src/libraries/libmisc/Makefile
+++ b/src/libraries/libmisc/Makefile
@@ -1,4 +1,4 @@
-TOPDIR = /usr/lyskom/src
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make
diff --git a/src/server/Makefile b/src/server/Makefile
index 1d74f807952c33064d552248018319fa8a7ed735..f3d16e7c0da50e145c1d705d42886a7afe74d8be 100755
--- a/src/server/Makefile
+++ b/src/server/Makefile
@@ -1,6 +1,6 @@
-# $Id: Makefile,v 0.11 1991/09/01 21:26:14 linus Exp $
+# $Id: Makefile,v 0.12 1991/09/08 21:08:47 ceder Exp $
 
-TOPDIR = /usr/lyskom/src
+include Topdir.make
 SCRIPTDIR = $(TOPDIR)/scripts
 
 include $(SCRIPTDIR)/import.make