igh-ethercat: new package
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 24 Dec 2011 10:28:37 +0000 (11:28 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 2 Jan 2012 19:15:30 +0000 (20:15 +0100)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/Config.in
package/igh-ethercat/Config.in [new file with mode: 0644]
package/igh-ethercat/igh-ethercat.mk [new file with mode: 0644]

index dc12ad5192af9d769bb6f5aa6d17f4322b9eaacd..0e514939c5895b8e8d41559e35e2bbd1e157d27f 100644 (file)
@@ -431,6 +431,7 @@ source "package/hostapd/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/ifplugd/Config.in"
 endif
+source "package/igh-ethercat/Config.in"
 source "package/iperf/Config.in"
 source "package/iproute2/Config.in"
 source "package/ipsec-tools/Config.in"
diff --git a/package/igh-ethercat/Config.in b/package/igh-ethercat/Config.in
new file mode 100644 (file)
index 0000000..764a021
--- /dev/null
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_IGH_ETHERCAT
+       bool "igh-ethercat"
+       depends on BR2_LINUX_KERNEL
+       help
+         IgH EtherCAT Master for Linux.
+
+         http://www.etherlab.org/en/ethercat/index.php
+
+if BR2_PACKAGE_IGH_ETHERCAT
+
+config BR2_PACKAGE_IGH_ETHERCAT_8139TOO
+       bool "8139too driver"
+
+config BR2_PACKAGE_IGH_ETHERCAT_E100
+       bool "e100 driver"
+
+config BR2_PACKAGE_IGH_ETHERCAT_E1000
+       bool "e1000 driver"
+
+config BR2_PACKAGE_IGH_ETHERCAT_R8169
+       bool "r8169 driver"
+
+endif
diff --git a/package/igh-ethercat/igh-ethercat.mk b/package/igh-ethercat/igh-ethercat.mk
new file mode 100644 (file)
index 0000000..b6ac5b8
--- /dev/null
@@ -0,0 +1,41 @@
+IGH_ETHERCAT_VERSION = stable-1.5
+IGH_ETHERCAT_SITE    = http://etherlabmaster.hg.sourceforge.net/hgweb/etherlabmaster/etherlabmaster/archive/
+IGH_ETHERCAT_SOURCE  = $(IGH_ETHERCAT_VERSION).tar.bz2
+
+IGH_ETHERCAT_AUTORECONF      = YES
+IGH_ETHERCAT_DEPENDENCIES    = linux
+IGH_ETHERCAT_INSTALL_STAGING = YES
+
+IGH_ETHERCAT_CONF_OPT = \
+       --with-linux-dir=$(LINUX_DIR)
+
+IGH_ETHERCAT_CONF_OPT += $(if $(BR2_PACKAGE_IGH_ETHERCAT_8139TOO),--enable-8139too,--disable-8139too)
+IGH_ETHERCAT_CONF_OPT += $(if $(BR2_PACKAGE_IGH_ETHERCAT_E100),--enable-e100,--disable-e100)
+IGH_ETHERCAT_CONF_OPT += $(if $(BR2_PACKAGE_IGH_ETHERCAT_E1000),--enable-e1000,--disable-e1000)
+IGH_ETHERCAT_CONF_OPT += $(if $(BR2_PACKAGE_IGH_ETHERCAT_R8169),--enable-r8169,--disable-r8169)
+
+# Since we download ethercat from source control, we have to emulate
+# the bootstrap script that creates the ChangeLog file before running
+# autoreconf.  We don't want to run that script directly, since we
+# leave to the autotargets infrastructure the responsability of
+# running 'autoreconf' so that the dependencies on host-automake,
+# host-autoconf and al. are correct.
+define IGH_ETHERCAT_CREATE_CHANGELOG
+       touch $(@D)/ChangeLog
+endef
+
+IGH_ETHERCAT_POST_PATCH_HOOKS += IGH_ETHERCAT_CREATE_CHANGELOG
+
+define IGH_ETHERCAT_BUILD_MODULES
+       $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) modules
+endef
+
+IGH_ETHERCAT_POST_BUILD_HOOKS += IGH_ETHERCAT_BUILD_MODULES
+
+define IGH_ETHERCAT_INSTALL_MODULES
+       $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) modules_install
+endef
+
+IGH_ETHERCAT_POST_INSTALL_TARGET_HOOKS += IGH_ETHERCAT_INSTALL_MODULES
+
+$(eval $(call AUTOTARGETS))