diff --git a/Makefile b/Makefile
index 0c31324cb8cb1c9068fa29862b27fdd468027eef..f73b486408848f801d86bc0a761da2964cc70888 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-#----------------------------------------------------------------
+#------------------------------------------------------------------------------
 #
 #  Globales Makefile
 #
@@ -6,27 +6,30 @@
 #
 #  $Id$
 #
-#----------------------------------------------------------------
+#------------------------------------------------------------------------------
 
-CONFIG_FILE = ethercat.conf
+ifneq ($(KERNELRELEASE),)
 
-ifeq ($(CONFIG_FILE),$(wildcard $(CONFIG_FILE)))
-include $(CONFIG_FILE)
-endif
+#------------------------------------------------------------------------------
+# Kbuild-Abschnitt
 
-obj-m := drivers/ mini/
+obj-m := drivers/ rt/ mini/
 
-ifeq ($(MAKE_RT),yes)
-obj-m += rt/
-endif
+#------------------------------------------------------------------------------
 
-#----------------------------------------------------------------
+else
 
-all:
+#------------------------------------------------------------------------------
+# Default-Abschnitt
+
+include ethercat.conf
+
+modules:
 	$(MAKE) -C $(KERNELDIR) M=`pwd` modules
 
 clean:
 	$(MAKE) -C $(KERNELDIR) M=`pwd` clean
+	rm -rvf */.tmp_versions
 
 doc docs:
 	doxygen Doxyfile
@@ -43,3 +46,5 @@ config conf $(CONFIG_FILE):
 	@echo "$(CONFIG_FILE) erstellt."
 
 #----------------------------------------------------------------
+
+endif
diff --git a/mini/Makefile b/mini/Makefile
index 7eff83b3a21883cf0ed5b4ce28da14c2321b38bb..e84525ced4861b21d8589baec4d7c53ef743894b 100644
--- a/mini/Makefile
+++ b/mini/Makefile
@@ -24,17 +24,11 @@ else
 #----------------------------------------------------------------
 # Default-Abschnitt
 
-CONFIG_FILE = ../ethercat.conf
-PWD = $(shell pwd)
-
-
-include $(CONFIG_FILE) # Für KERNELDIR
-
-default:
-	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
+modules:
+	$(MAKE) -C ..
 
 clean:
-	$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
+	$(MAKE) -C .. clean
 
 #----------------------------------------------------------------
 
diff --git a/rt/Makefile b/rt/Makefile
index 85a8ec02f37257b5624de832d45a02c607d183a8..e6f71336fb1e2a3ea4709973134bae0e491b9cdf 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -1,81 +1,48 @@
-# Comment/uncomment the following line to disable/enable debugging
-#DEBUG = y
-
-
-# Add your debugging flag (or not) to CFLAGS
-ifeq ($(DEBUG),y)
-  DEBFLAGS = -O -g -DSHORT_DEBUG # "-O" is needed to expand inlines
-else
-  DEBFLAGS = -O2
-endif
-
-CFLAGS += $(DEBFLAGS)
-CFLAGS += -I.. 
-
-RTLIB = /vol/projekte/msr_messen_steuern_regeln/linux/kernel_space/rt_lib-4.0.0-2.6krnl
-
-#Suchpfad für die Dateien aus dem RT-Lib-Verzeichnis
-VPATH := $(RTLIB)/msr-core:$(RTLIB)/msr-control:$(RTLIB)/msr-hwdriver:$(RTLIB)/msr-math:$(RTLIB)/msr-misc:$(RTLIB)/msr-utils
-
-#Datei aus dem RT-Libverzeichnis für dies Projekt
-RTSRC := msr_main.o msr_lists.o msr_charbuf.o msr_reg.o msr_interpreter.o msr_utils.o msr_messages.o msr_functiongen.o msr_base64.o msr_watchdog.o msr_proc.o msr_error_reg.o
+#------------------------------------------------------------------------------
+#
+# Makefile Echtzeitmodule
+#
+# $Id$
+#
+#------------------------------------------------------------------------------
 
 ifneq ($(KERNELRELEASE),)
-# call from kernel build system
-
-
-EXTRA_CFLAGS := -I$(RTLIB)/msr-include -D_SIMULATION -I/usr/include -mhard-float
-
-#EXTRA_LDFLAGS :=  -L/usr/lib -lm
-
-msr_modul-y := msr_module.o \
-	msr_jitter.o \
-	rt_lib/msr-core/msr_lists.o \
-	rt_lib/msr-core/msr_main.o \
-	rt_lib/msr-core/msr_charbuf.o \
-	rt_lib/msr-core/msr_reg.o \
-	rt_lib/msr-core/msr_interpreter.o \
-	rt_lib/msr-core/msr_messages.o \
-	rt_lib/msr-core/msr_proc.o \
-	rt_lib/msr-core/msr_error_reg.o \
-	rt_lib/msr-utils/msr_utils.o \
-	rt_lib/msr-math/msr_base64.o \
-	libm.o 
 
+#------------------------------------------------------------------------------
+# Kbuild-Abschnitt
 
 obj-m	:= msr_modul.o
 
-
+msr_modul-objs := msr_module.o \
+		msr_jitter.o \
+		rt_lib/msr-core/msr_lists.o \
+		rt_lib/msr-core/msr_main.o \
+		rt_lib/msr-core/msr_charbuf.o \
+		rt_lib/msr-core/msr_reg.o \
+		rt_lib/msr-core/msr_interpreter.o \
+		rt_lib/msr-core/msr_messages.o \
+		rt_lib/msr-core/msr_proc.o \
+		rt_lib/msr-core/msr_error_reg.o \
+		rt_lib/msr-utils/msr_utils.o \
+		rt_lib/msr-math/msr_base64.o \
+		libm.o
+
+EXTRA_CFLAGS := -I $(src)/rt_lib/msr-include -D_SIMULATION \
+		-I/usr/include -mhard-float
+
+#------------------------------------------------------------------------------
 
 else
 
-
-KERNELDIR := /lib/modules/$(shell uname -r)/build
-PWD       := $(shell pwd)
-
-
-
+#------------------------------------------------------------------------------
+# Default-Abschnitt
 
 default:
-	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
-
-endif
-
+	$(MAKE) -C ..
 
 clean:
-	rm -f core .depend
-	rm -rf .tmp_versions
-	find -L -maxdepth 3 -name "*.o" -exec rm {} \;	
-	find -L -maxdepth 3 -name "*~" -exec rm {} \;	
-	find -L -maxdepth 3 -name "*.cmd" -exec rm {} \;	
-	find -L -maxdepth 3 -name "*.ko" -exec rm {} \;	
-	find -L -maxdepth 3 -name "*.mod.c" -exec rm {} \;	
-
-depend .depend dep:
-	$(CC) $(CFLAGS) -M *.c > .depend
-
+	$(MAKE) -C .. clean
 
+#------------------------------------------------------------------------------
 
-ifeq (.depend,$(wildcard .depend))
-include .depend
 endif