summaryrefslogtreecommitdiff
path: root/package/hostap-driver/Makefile
blob: cd1ca79ca266775ef517d9b9363a201ceddbd168 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# 
# Copyright (C) 2006 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:=hostap-driver
PKG_VERSION:=0.4.9
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/
PKG_MD5SUM:=c7534dc040ab90218257a78488ecd378

include $(INCLUDE_DIR)/package.mk
ifeq ($(DUMP),)
  -include $(LINUX_DIR)/.config
endif

define KernelPackage/hostap/Default/2.4
  VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
endef

define KernelPackage/hostap/Default/2.6
  VERSION:=$(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE)
endef

define KernelPackage/hostap/Default
$(call KernelPackage/hostap/Default/$(KERNEL))
  SUBMENU:=Wireless Drivers
  URL:=http://hostap.epitest.fi/
endef

define KernelPackage/hostap/Default/description
 Host AP is a driver for 802.11b wireless cards based on Intersil 
 Prism2/2.5/3 chipset. It supports so called Host AP mode that allows the 
 card to act as an IEEE 802.11 access point.
endef


define KernelPackage/hostap
$(call KernelPackage/hostap/Default)
  TITLE:=Host AP support for Prism2/2.5/3
  DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +!(LINUX_2_6_30||LINUX_2_6_31):kmod-ieee80211 +LINUX_2_6_30||LINUX_2_6_31:kmod-lib80211 +wireless-tools
  KCONFIG:=CONFIG_HOSTAP CONFIG_HOSTAP_FIRMWARE=y CONFIG_HOSTAP_FIRMWARE_NVRAM=y
  PROVIDES:=kmod-hostap
endef

define KernelPackage/hostap/2.4
# NOTE: needed to remove the dependency on kmod-ieee80211 in the final ipkg
  DEPENDS:=
# NOTE: needed to build the standalone version on 2.4
  KCONFIG:=
  FILES:= \
	$(PKG_BUILD_DIR)/driver/modules/hostap.$(LINUX_KMOD_SUFFIX) \
	$(PKG_BUILD_DIR)/driver/modules/hostap_crypt_ccmp.$(LINUX_KMOD_SUFFIX) \
	$(PKG_BUILD_DIR)/driver/modules/hostap_crypt_tkip.$(LINUX_KMOD_SUFFIX) \
	$(PKG_BUILD_DIR)/driver/modules/hostap_crypt_wep.$(LINUX_KMOD_SUFFIX)
  AUTOLOAD:=$(call AutoLoad,60,hostap hostap_crypt_wep hostap_crypt_tkip hostap_crypt_ccmp)
endef

define KernelPackage/hostap/2.6
  FILES:= \
	$(LINUX_DIR)/drivers/net/wireless/hostap/hostap.$(LINUX_KMOD_SUFFIX)
  AUTOLOAD:=$(call AutoLoad,60,hostap)
endef

define KernelPackage/hostap/description
$(call KernelPackage/hostap/Default/description)
 This package contains the base Host AP driver code that is shared by 
 different hardware models. You will also need to enable support for 
 PLX/PCI/CS version of the driver to actually use the driver.
endef


define KernelPackage/hostap-cs
$(call KernelPackage/hostap/Default)
  TITLE:=Host AP driver for PCMCIA adaptors
  DEPENDS:=@PCMCIA_SUPPORT kmod-hostap +kmod-pcmcia-core
  KCONFIG:=CONFIG_HOSTAP_CS
  AUTOLOAD:=$(call AutoLoad,60,hostap_cs)
endef
define KernelPackage/hostap-cs/2.4
# NOTE: needed to build the standalone version on 2.4
  KCONFIG:=
  FILES:= \
	$(PKG_BUILD_DIR)/driver/modules/hostap_cs.$(LINUX_KMOD_SUFFIX)
endef
define KernelPackage/hostap-cs/2.6
  FILES:= \
	$(LINUX_DIR)/drivers/net/wireless/hostap/hostap_cs.$(LINUX_KMOD_SUFFIX)
endef

define KernelPackage/hostap-cs/description
$(call KernelPackage/hostap/Default/description)
 This package contains the Host AP driver for Prism2/2.5/3 PC cards.
endef


define KernelPackage/hostap-pci
$(call KernelPackage/hostap/Default)
  TITLE:=Host AP driver for PCI adaptors
  DEPENDS:=@PCI_SUPPORT kmod-hostap
  KCONFIG:=CONFIG_HOSTAP_PCI
  AUTOLOAD:=$(call AutoLoad,60,hostap_pci)
endef

define KernelPackage/hostap-pci/2.4
# NOTE: needed to build the standalone version on 2.4
  KCONFIG:=
  FILES:= \
	$(PKG_BUILD_DIR)/driver/modules/hostap_pci.$(LINUX_KMOD_SUFFIX)
endef

define KernelPackage/hostap-pci/2.6
  FILES:= \
	$(LINUX_DIR)/drivers/net/wireless/hostap/hostap_pci.$(LINUX_KMOD_SUFFIX)
endef

define KernelPackage/hostap-pci/description
$(call KernelPackage/hostap/Default/description)
 This package contains the Host AP driver for Prism2.5 PCI adaptors.
endef


define KernelPackage/hostap-plx
$(call KernelPackage/hostap/Default)
  TITLE:=Host AP driver for PLX9052 based PCI adaptors
  DEPENDS:=@PCI_SUPPORT kmod-hostap
  KCONFIG:=CONFIG_HOSTAP_PLX
  AUTOLOAD:=$(call AutoLoad,60,hostap_plx)
endef

define KernelPackage/hostap-plx/2.4
# NOTE: needed to build the standalone version on 2.4
  KCONFIG:=
  FILES:= \
	$(PKG_BUILD_DIR)/driver/modules/hostap_plx.$(LINUX_KMOD_SUFFIX)
endef

define KernelPackage/hostap-plx/2.6
  FILES:= \
	$(LINUX_DIR)/drivers/net/wireless/hostap/hostap_plx.$(LINUX_KMOD_SUFFIX)
endef

define KernelPackage/hostap-plx/description
$(call KernelPackage/hostap/Default/description)
 This package contains the Host AP driver for Prism2/2.5/3 in PLX9052 
 based PCI adaptors.
endef


ifeq ($(KERNEL),2.4)
  define Build/Compile
	$(MAKE) -C $(LINUX_DIR)/ \
		ARCH="$(LINUX_KARCH)" \
		CROSS_COMPILE="$(TARGET_CROSS)" \
		SUBDIRS="$(PKG_BUILD_DIR)/driver/modules" \
		modules
  endef
else
  define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
  endef
  
  define Build/Configure
  endef
  
  define Build/Compile
  endef
endif

define KernelPackage/hostap/install
	$(INSTALL_DIR) $(1)/lib/wifi
	$(INSTALL_DATA) ./files/lib/wifi/hostap.sh $(1)/lib/wifi
endef

$(eval $(call KernelPackage,hostap))
$(eval $(call KernelPackage,hostap-cs))
$(eval $(call KernelPackage,hostap-pci))
$(eval $(call KernelPackage,hostap-plx))