-# $Id$
+#
+# Copyright (C) 2006-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=linux-atm
-PKG_VERSION:=2.4.1
-PKG_RELEASE:=1
-PKG_MD5SUM:=84fef49cc39ff2605204246666f65864
-
-PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/l/linux-atm/
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
-PKG_CAT:=zcat
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
-
-include $(TOPDIR)/package/rules.mk
-
-ifneq ($(BOARD),ar7)
-BR2_PACKAGE_LINUX_ATM:=m
-BR2_PACKAGE_BR2684CTL:=m
-endif
-
-$(eval $(call PKG_template,LINUX_ATM,linux-atm,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
-$(eval $(call PKG_template,BR2684CTL,br2684ctl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
-
-$(PKG_BUILD_DIR)/.configured:
- (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS)" \
- CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
- LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
- ./configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --program-prefix="" \
- --program-suffix="" \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --datadir=/usr/share \
- --includedir=/usr/include/ \
- --infodir=/usr/share/info \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --mandir=/usr/share/man \
- --sbindir=/usr/sbin \
- --sysconfdir=/etc \
- )
- touch $@
-
-$(PKG_BUILD_DIR)/.built:
- rm -rf $(PKG_INSTALL_DIR)
- mkdir -p $(PKG_INSTALL_DIR)
- $(MAKE) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- all install
- touch $@
-
-$(IPKG_LINUX_ATM):
- install -d -m0755 $(IDIR_LINUX_ATM)/usr/lib
- cp $(PKG_INSTALL_DIR)/usr/lib/libatm.so.1 $(IDIR_LINUX_ATM)/usr/lib
- $(RSTRIP) $(IDIR_LINUX_ATM)/
- $(IPKG_BUILD) $(IDIR_LINUX_ATM) $(PACKAGE_DIR)
-
-$(IPKG_BR2684CTL):
- install -d -m0755 $(IDIR_BR2684CTL)/usr/sbin
- cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl $(IDIR_BR2684CTL)/usr/sbin/
- install -d -m0755 $(IDIR_BR2684CTL)/etc/init.d
- install -m0755 ./files/br2684.init $(IDIR_BR2684CTL)/etc/init.d/S30br2684
- $(RSTRIP) $(IDIR_BR2684CTL)/
- $(IPKG_BUILD) $(IDIR_BR2684CTL) $(PACKAGE_DIR)
-
-$(STAGING_DIR)/usr/lib/libatm.so: $(PKG_BUILD_DIR)/.built
- mkdir -p $(STAGING_DIR)/usr/include
- cp -fpR $(PKG_INSTALL_DIR)/usr/include/atm{,d,sap}.h $(STAGING_DIR)/usr/include/
- mkdir -p $(STAGING_DIR)/usr/lib
- cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libatm.{a,so*} $(STAGING_DIR)/usr/lib/
- touch $@
-
-install-dev: $(STAGING_DIR)/usr/lib/libatm.so
-
-uninstall-dev:
- rm -rf \
- $(STAGING_DIR)/usr/include/atm{,d,sap}.h \
- $(STAGING_DIR)/usr/lib/libatm.{a,so*} \
-
-compile: install-dev
-
-clean: uninstall-dev
-
-mostlyclean:
- $(MAKE) -C $(PKG_BUILD_DIR) clean
- rm -f $(PKG_BUILD_DIR)/.built
-
+PKG_VERSION:=2.5.2
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@SF/$(PKG_NAME)
+PKG_MD5SUM:=d49499368c3cf15f73a05d9bce8824a8
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/linux-atm
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=Linux ATM library
+ URL:=http://linux-atm.sourceforge.net/
+endef
+
+define Package/linux-atm/description
+ This package contains a library for accessing the Linux ATM subsystem.
+endef
+
+define Package/atm-tools
+ SECTION:=net
+ CATEGORY:=Network
+ DEPENDS:=linux-atm
+ TITLE:=Linux ATM tools
+ URL:=http://linux-atm.sourceforge.net/
+endef
+
+define Package/atm-tools/description
+ This package contains the Linux ATM tools.
+endef
+
+define Package/atm-diagnostics
+ SECTION:=net
+ CATEGORY:=Network
+ DEPENDS:=linux-atm
+ TITLE:=Linux ATM Diagnostics
+ URL:=http://linux-atm.sourceforge.net/
+endef
+
+define Package/atm-diagnostics/description
+ This package contains the Linux ATM diagnostics.
+endef
+
+define Package/br2684ctl
+ SECTION:=net
+ CATEGORY:=Network
+ DEPENDS:=linux-atm
+ TITLE:=ATM Ethernet bridging configuration utility
+ URL:=http://linux-atm.sourceforge.net/
+endef
+
+define Package/br2684ctl/description
+ Support for AAL5 encapsulation (RFC-1483/RFC-2684) over ATM.
+endef
+
+define Build/Configure
+ $(call Build/Configure/Default)
+ # prevent autoheader invocation
+ touch $(PKG_BUILD_DIR)/stamp-h.in
+endef
+
+TARGET_CFLAGS += -I$(LINUX_DIR)/include -I$(LINUX_DIR)/arch/$(LINUX_KARCH)/include
+
+define Build/Compile
+ # src/qgen is built with HOSTCC, which does not really like our LDFLAGS
+ $(MAKE) -C $(PKG_BUILD_DIR)/src/qgen \
+ LDFLAGS="" \
+ all
+ $(MAKE) -C $(PKG_BUILD_DIR) OBJCOPY=$(TARGET_CROSS)objcopy all
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/include \
+ $(PKG_INSTALL_DIR)/usr/lib \
+ $(1)/usr/
+endef
+
+define Package/linux-atm/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libatm.so* $(1)/usr/lib/
+endef
+
+define Package/atm-tools/install
+ $(INSTALL_DIR) $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/arpd/atmarp{,d} $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/lib/network
+ $(INSTALL_BIN) ./files/ipoa.sh $(1)/lib/network/
+
+#
+#The following is disabled by default but still useful for some debugging
+#
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmaddr $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmloop $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmtcp $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/esi $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aread $(1)/usr/bin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/awrite $(1)/usr/bin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmdiag $(1)/usr/bin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmdump $(1)/usr/bin/
+#
+# The following is really for some specific application, and obsolete for most of it
+#
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmsigd $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/bus $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ilmid $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ilmidiag $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lecs $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/les $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mpcd $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/zeppelin $(1)/usr/sbin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmswitch $(1)/usr/bin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/saaldump $(1)/usr/bin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sonetdiag $(1)/usr/bin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/svc_recv $(1)/usr/bin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/svc_send $(1)/usr/bin/
+# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ttcp_atm $(1)/usr/bin/
+endef
+
+define Package/atm-diagnostics/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aread $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/awrite $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmdiag $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmdump $(1)/usr/bin/
+endef
+
+define Package/br2684ctl/install
+ $(INSTALL_DIR) $(1)/etc/init.d/
+ $(INSTALL_BIN) ./files/br2684ctl $(1)/etc/init.d/
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,linux-atm))
+$(eval $(call BuildPackage,atm-tools))
+$(eval $(call BuildPackage,atm-diagnostics))
+$(eval $(call BuildPackage,br2684ctl))