1#
2# Copyright (C) 2006-2012 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9include $(INCLUDE_DIR)/kernel.mk
10
11PKG_NAME:=linux-atm
12PKG_VERSION:=2.5.2
13PKG_RELEASE:=5
14
15PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16PKG_SOURCE_URL:=@SF/$(PKG_NAME)
17PKG_MD5SUM:=d49499368c3cf15f73a05d9bce8824a8
18
19PKG_INSTALL:=1
20PKG_BUILD_PARALLEL:=1
21PKG_LICENSE:=GPL-2.0+
22PKG_FIXUP:=autoreconf
23
24include $(INCLUDE_DIR)/package.mk
25
26ATM_DEBUG_BINS:=aread awrite atmdiag atmdump atmswitch saaldump \
27		sonetdiag svc_recv svc_send ttcp_atm
28ATM_DEBUG_SBINS:=atmaddr atmloop atmtcp esi atmsigd bus \
29		 ilmid ilmidiag lecs les mpcd zeppelin
30ATM_DEBUG_TOOLS:=$(ATM_DEBUG_BINS) $(ATM_DEBUG_SBINS)
31
32define Package/linux-atm
33  SECTION:=libs
34  CATEGORY:=Libraries
35  TITLE:=Linux ATM library
36  URL:=http://linux-atm.sourceforge.net/
37endef
38
39define Package/linux-atm/description
40  This package contains a library for accessing the Linux ATM subsystem.
41endef
42
43define Package/linux-atm/Default
44  SECTION:=net
45  CATEGORY:=Network
46  DEPENDS:=+linux-atm
47  URL:=http://linux-atm.sourceforge.net/
48  SUBMENU:=Linux ATM tools
49endef
50
51define Package/atm-tools
52  $(call Package/linux-atm/Default)
53  TITLE:=Linux ATM tools
54endef
55
56define Package/atm-tools/description
57  This package contains the Linux ATM tools.
58endef
59
60define Package/atm-diagnostics
61  $(call Package/linux-atm/Default)
62  TITLE:=Linux ATM Diagnostics
63endef
64
65define Package/atm-diagnostics/description
66  This package contains the Linux ATM diagnostics.
67endef
68
69define Package/atm-debug-tools
70  $(call Package/linux-atm/Default)
71  TITLE:=Linux ATM debugging tools
72endef
73
74define Package/atm-debug-tools/description
75  This package contains the Linux ATM debugging tools.
76endef
77
78define Package/br2684ctl
79  $(call Package/linux-atm/Default)
80  TITLE:=ATM Ethernet bridging configuration utility
81endef
82
83define Package/br2684ctl/description
84  Support for AAL5 encapsulation (RFC-1483/RFC-2684) over ATM.
85endef
86
87define GenAtmPlugin
88  define Package/$(1)
89     $(call Package/linux-atm/Default)
90     TITLE:=Linux ATM tool $(2)
91  endef
92
93  define Package/$(1)/description
94     Linux ATM tool $(2).
95  endef
96endef
97
98$(foreach t,$(ATM_DEBUG_TOOLS),$(eval $(call GenAtmPlugin,atm-$(t),$(t))))
99
100define Build/Configure
101	$(call Build/Configure/Default)
102	# prevent autoheader invocation
103	touch $(PKG_BUILD_DIR)/stamp-h.in
104endef
105
106unexport PREFIX
107
108define Build/Compile
109	# src/qgen is built with HOSTCC, which does not really like our LDFLAGS
110	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/src/qgen \
111		LDFLAGS="" \
112		all
113	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) OBJCOPY=$(TARGET_CROSS)objcopy all
114endef
115
116define Build/InstallDev
117	$(INSTALL_DIR) $(1)/usr
118	$(CP) \
119		$(PKG_INSTALL_DIR)/usr/include \
120		$(PKG_INSTALL_DIR)/usr/lib \
121		$(1)/usr/
122endef
123
124define Package/linux-atm/install
125	$(INSTALL_DIR) $(1)/usr/lib
126	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libatm.so* $(1)/usr/lib/
127endef
128
129define Package/atm-tools/install
130	$(INSTALL_DIR) $(1)/usr/sbin/
131	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmarp{,d} $(1)/usr/sbin/
132endef
133
134
135define BuildAtmPlugin
136  define Package/$(1)/install
137	$(INSTALL_DIR) $$(1)/usr/$(3)
138	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/$(3)/$(2) $$(1)/usr/$(3)
139  endef
140
141  $$(eval $$(call BuildPackage,$(1)))
142endef
143
144define Package/atm-debug-tools/install
145	$(INSTALL_DIR) $(1)/usr/bin/
146	$(INSTALL_DIR) $(1)/usr/sbin/
147	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmaddr $(1)/usr/sbin/
148	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmloop $(1)/usr/sbin/
149	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmtcp     $(1)/usr/sbin/
150	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/esi $(1)/usr/sbin/
151	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aread $(1)/usr/bin/
152	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/awrite $(1)/usr/bin/
153	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmdiag $(1)/usr/bin/
154	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmdump $(1)/usr/bin/
155	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/atmsigd $(1)/usr/sbin/
156	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/bus $(1)/usr/sbin/
157	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ilmid $(1)/usr/sbin/
158	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ilmidiag $(1)/usr/sbin/
159	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lecs $(1)/usr/sbin/
160	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/les $(1)/usr/sbin/
161	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mpcd $(1)/usr/sbin/
162	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/zeppelin $(1)/usr/sbin/
163	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmswitch $(1)/usr/bin/
164	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/saaldump $(1)/usr/bin/
165	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sonetdiag $(1)/usr/bin/
166	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/svc_recv $(1)/usr/bin/
167	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/svc_send $(1)/usr/bin/
168	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ttcp_atm $(1)/usr/bin/
169endef
170
171define Package/atm-diagnostics/install
172	$(INSTALL_DIR) $(1)/usr/bin
173	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aread $(1)/usr/bin/
174	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/awrite $(1)/usr/bin/
175	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmdiag $(1)/usr/bin/
176	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/atmdump $(1)/usr/bin/
177endef
178
179define Package/br2684ctl/install
180	$(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/hotplug.d/atm $(1)/usr/sbin $(1)/lib/netifd
181	$(INSTALL_BIN) ./files/br2684-up $(1)/lib/netifd/br2684-up
182	$(INSTALL_BIN) ./files/br2684ctl $(1)/etc/init.d/
183	$(INSTALL_DATA) ./files/atm.hotplug $(1)/etc/hotplug.d/atm/00-trigger
184	$(INSTALL_BIN) \
185		./files/br2684ctl_wrap \
186		$(PKG_INSTALL_DIR)/usr/sbin/br2684ctl \
187		$(1)/usr/sbin/
188endef
189
190$(eval $(call BuildPackage,linux-atm))
191$(eval $(call BuildPackage,atm-tools))
192$(eval $(call BuildPackage,atm-debug-tools))
193$(eval $(call BuildPackage,atm-diagnostics))
194$(eval $(call BuildPackage,br2684ctl))
195$(foreach t,$(ATM_DEBUG_BINS),$(eval $(call BuildAtmPlugin,atm-$(t),$(t),bin)))
196$(foreach t,$(ATM_DEBUG_SBINS),$(eval $(call BuildAtmPlugin,atm-$(t),$(t),sbin)))
197