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