summaryrefslogtreecommitdiffstats
path: root/package/ixp4xx-microcode/Makefile
blob: 3054f7c608119a5041c679215783660dd139437e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# 
# Copyright (C) 2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=ixp4xx-microcode
PKG_VERSION:=2.4
PKG_RELEASE:=1

PKG_SOURCE:=IPL_ixp400NpeLibrary-2_4.zip
PKG_SOURCE_URL:=http://downloadmirror.intel.com/12954/eng/
PKG_MD5SUM:=9a6dc3846041b899edf9eff8a906fb11

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

include $(INCLUDE_DIR)/package.mk

define Package/ixp4xx-microcode
  SECTION:=net
  CATEGORY:=Network
  TITLE:=Microcode for the IXP4xx network engines
  DEPENDS:=@TARGET_ixp4xx
endef

define Package/ixp4xx-microcode/description
 This package contains the microcode needed to use the network engines in IXP4xx CPUs
endef

define Build/Prepare
	rm -rf $(PKG_BUILD_DIR)
	mkdir -p $(PKG_BUILD_DIR)
	unzip -d $(PKG_BUILD_DIR)/ $(DL_DIR)/$(PKG_SOURCE)
	mv $(PKG_BUILD_DIR)/ixp400_xscale_sw/src/npeDl/IxNpeMicrocode.c $(PKG_BUILD_DIR)/
	rm -rf $(PKG_BUILD_DIR)/ixp400_xscale_sw
	$(CP) ./src/* $(PKG_BUILD_DIR)/
endef

define Build/Compile
	(cd $(PKG_BUILD_DIR); \
		$(HOSTCC) -Wall IxNpeMicrocode.c -o IxNpeMicrocode; \
		./IxNpeMicrocode -be \
	)
endef

define Package/ixp4xx-microcode/install
	$(INSTALL_DIR) $(1)/lib/firmware
	$(INSTALL_DIR) $(1)/usr/share/doc
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-B $(1)/lib/firmware/
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-C $(1)/lib/firmware/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE.IPL $(1)/usr/share/doc/
endef

$(eval $(call BuildPackage,ixp4xx-microcode))