diff --git a/Makefile.am b/Makefile.am
index 65d122b7..5279173c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -81,11 +81,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- $(MAKE) -C master modules_install
- $(MAKE) -C devices modules_install
-if ENABLE_TTY
- $(MAKE) -C tty modules_install
-endif
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
diff --git a/configure.ac b/configure.ac
index d0ff8906..d223334f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -96,10 +96,24 @@ fi
linuxversion=`echo $kernelrelease | grep -oE "^[[0-9]]+\.[[0-9]]+\.[[0-9]]+"`
AC_SUBST(LINUX_SOURCE_DIR,[$sourcedir])
-AC_SUBST(LINUX_KERNEL_RELEASE,[$kernelrelease])
-AC_SUBST(LINUX_KERNEL_VERSION,[$linuxversion])
-AC_SUBST(LINUX_MOD_PATH,[/lib/modules/$kernelrelease/ethercat])
-AC_MSG_RESULT([$LINUX_SOURCE_DIR (Kernel $LINUX_KERNEL_RELEASE)])
+AC_MSG_RESULT([$LINUX_SOURCE_DIR (Kernel $kernelrelease)])
+
+#------------------------------------------------------------------------------
+# Linux module installation subdirectory
+#------------------------------------------------------------------------------
+
+AC_ARG_WITH([module-dir],
+ AC_HELP_STRING(
+ [--with-module-dir=
],
+ [Linux module installation dir. Default: ethercat]
+ ),
+ [moddir=[$withval]],
+ [moddir="ethercat"]
+)
+AC_SUBST(INSTALL_MOD_DIR,[$moddir])
+
+AC_MSG_CHECKING([Linux modules installation directory])
+AC_MSG_RESULT([$INSTALL_MOD_DIR])
#------------------------------------------------------------------------------
# Generic Ethernet driver
diff --git a/devices/Makefile.am b/devices/Makefile.am
index cce202fe..f035b87a 100644
--- a/devices/Makefile.am
+++ b/devices/Makefile.am
@@ -92,22 +92,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
-if ENABLE_GENERIC
- cp $(srcdir)/ec_generic.ko $(DESTDIR)$(LINUX_MOD_PATH)
-endif
-if ENABLE_8139TOO
- cp $(srcdir)/ec_8139too.ko $(DESTDIR)$(LINUX_MOD_PATH)
-endif
-if ENABLE_E100
- cp $(srcdir)/ec_e100.ko $(DESTDIR)$(LINUX_MOD_PATH)
-endif
-if ENABLE_E1000
- $(MAKE) -C e1000 modules_install
-endif
-if ENABLE_R8169
- cp $(srcdir)/ec_r8169.ko $(DESTDIR)$(LINUX_MOD_PATH)
-endif
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
diff --git a/devices/e1000/Makefile.am b/devices/e1000/Makefile.am
index 596d38a0..b7827eb6 100644
--- a/devices/e1000/Makefile.am
+++ b/devices/e1000/Makefile.am
@@ -122,10 +122,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
-if ENABLE_E1000
- cp $(srcdir)/ec_e1000.ko $(DESTDIR)$(LINUX_MOD_PATH)
-endif
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
diff --git a/examples/dc_rtai/Makefile.am b/examples/dc_rtai/Makefile.am
index 6e567a7b..4f86d037 100644
--- a/examples/dc_rtai/Makefile.am
+++ b/examples/dc_rtai/Makefile.am
@@ -40,8 +40,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
- cp $(srcdir)/ec_dc_rtai_sample.ko $(DESTDIR)$(LINUX_MOD_PATH)
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
diff --git a/examples/mini/Makefile.am b/examples/mini/Makefile.am
index c7377023..1aea23c5 100644
--- a/examples/mini/Makefile.am
+++ b/examples/mini/Makefile.am
@@ -42,8 +42,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
- cp $(srcdir)/ec_mini.ko $(DESTDIR)$(LINUX_MOD_PATH)
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
diff --git a/examples/rtai/Makefile.am b/examples/rtai/Makefile.am
index 4f875184..1c98d8a4 100644
--- a/examples/rtai/Makefile.am
+++ b/examples/rtai/Makefile.am
@@ -40,8 +40,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
- cp $(srcdir)/ec_rtai_sample.ko $(DESTDIR)$(LINUX_MOD_PATH)
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
diff --git a/examples/tty/Makefile.am b/examples/tty/Makefile.am
index fcbf2af8..25b6d2a4 100644
--- a/examples/tty/Makefile.am
+++ b/examples/tty/Makefile.am
@@ -46,8 +46,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
- cp $(srcdir)/ec_tty_example.ko $(DESTDIR)$(LINUX_MOD_PATH)
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
diff --git a/master/Makefile.am b/master/Makefile.am
index 64fecf27..976623ae 100644
--- a/master/Makefile.am
+++ b/master/Makefile.am
@@ -76,8 +76,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
- cp $(srcdir)/ec_master.ko $(DESTDIR)$(LINUX_MOD_PATH)
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean
diff --git a/tty/Makefile.am b/tty/Makefile.am
index d10a9a68..95066c98 100644
--- a/tty/Makefile.am
+++ b/tty/Makefile.am
@@ -42,8 +42,8 @@ modules:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules
modules_install:
- mkdir -p $(DESTDIR)$(LINUX_MOD_PATH)
- cp $(srcdir)/ec_tty.ko $(DESTDIR)$(LINUX_MOD_PATH)
+ $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" \
+ INSTALL_MOD_DIR="$(INSTALL_MOD_DIR)" modules_install
clean-local:
$(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" clean