summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openwrt/target/linux/linux-2.4/Makefile1
-rw-r--r--openwrt/target/linux/package/Makefile6
-rw-r--r--openwrt/target/linux/package/wlcompat/Makefile26
3 files changed, 23 insertions, 10 deletions
diff --git a/openwrt/target/linux/linux-2.4/Makefile b/openwrt/target/linux/linux-2.4/Makefile
index 9465960fd8..b31564558e 100644
--- a/openwrt/target/linux/linux-2.4/Makefile
+++ b/openwrt/target/linux/linux-2.4/Makefile
@@ -212,6 +212,7 @@ source: $(DL_DIR)/$(LINUX_SOURCE)
prepare: $(LINUX_DIR)/.configured
compile: $(LINUX_DIR)/.modules_done $(TARGETS)
$(MAKE) -C $(TOPDIR)/target/linux/package \
+ TARGET_DIR="$(LINUX_TARGET_DIR)" \
BUILD_DIR="$(LINUX_BUILD_DIR)" \
KERNEL_DIR="$(LINUX_SOURCE_DIR)" \
LINUX_VERSION="$(LINUX_VERSION)"
diff --git a/openwrt/target/linux/package/Makefile b/openwrt/target/linux/package/Makefile
index 868400d6a0..055bd2ffe4 100644
--- a/openwrt/target/linux/package/Makefile
+++ b/openwrt/target/linux/package/Makefile
@@ -4,6 +4,9 @@ include $(TOPDIR)/rules.mk
package-$(BR2_PACKAGE_KMOD_FUSE) += fuse
package-$(BR2_PACKAGE_KMOD_SHFS) += shfs
package-$(BR2_PACKAGE_KMOD_OPENSWAN) += openswan
+ifeq ($(LINUX_VERSION),2.4.30)
+package-$(BR2_PACKAGE_KMOD_WLCOMPAT) += wlcompat
+endif
all: compile install
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
@@ -12,6 +15,7 @@ install: $(patsubst %,%-install,$(package-y))
%-prepare:
$(MAKE) -C $(patsubst %-prepare,%,$@) \
+ TARGET_DIR="$(TARGET_DIR)" \
BUILD_DIR="$(BUILD_DIR)" \
KERNEL_DIR="$(KERNEL_DIR)" \
LINUX_VERSION="$(LINUX_VERSION)" \
@@ -19,6 +23,7 @@ install: $(patsubst %,%-install,$(package-y))
%-compile: %-prepare
$(MAKE) -C $(patsubst %-compile,%,$@) \
+ TARGET_DIR="$(TARGET_DIR)" \
BUILD_DIR="$(BUILD_DIR)" \
KERNEL_DIR="$(KERNEL_DIR)" \
LINUX_VERSION="$(LINUX_VERSION)" \
@@ -26,6 +31,7 @@ install: $(patsubst %,%-install,$(package-y))
%-install: %-compile
$(MAKE) -C $(patsubst %-install,%,$@) \
+ TARGET_DIR="$(TARGET_DIR)" \
BUILD_DIR="$(BUILD_DIR)" \
KERNEL_DIR="$(KERNEL_DIR)" \
LINUX_VERSION="$(LINUX_VERSION)" \
diff --git a/openwrt/target/linux/package/wlcompat/Makefile b/openwrt/target/linux/package/wlcompat/Makefile
index 30cb9f4712..777a731641 100644
--- a/openwrt/target/linux/package/wlcompat/Makefile
+++ b/openwrt/target/linux/package/wlcompat/Makefile
@@ -8,15 +8,21 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(TOPDIR)/package/rules.mk
-ifeq ($(patsubst 2.4%,2.4,$(LINUX_VERSION)),2.4)
-$(eval $(call PKG_template,KMOD_WLCOMPAT,$(PKG_NAME),$(KERNEL_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,KMOD_WLCOMPAT,$(PKG_NAME),$(LINUX_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+ifeq ($(KERNEL_DIR),)
+KERNEL_DIR:=$(LINUX_DIR)
endif
-WLCOMPAT_FLAGS:=$(TARGET_CLFAGS) -D__KERNEL__ -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 \
+WLCOMPAT_FLAGS:=$(TARGET_CFLAGS) -D__KERNEL__ -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 \
-mno-abicalls -fno-pic -finline-limit=100000 -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 \
-Wa,-mips32 -Wa,--trap -DMODULE -mlong-calls -fno-common -I. -I linux-2.4 -funsigned-char -nostdinc \
- -iwithprefix include -I$(LINUX_DIR)/include -I$(LINUX_DIR)/include/asm/gcc -I./include -c
-
+ -iwithprefix include -I$(KERNEL_DIR)/include -I$(KERNEL_DIR)/include/asm/gcc -I$(TOPDIR)/package/openwrt/include -c
+
+$(PKG_BUILD_DIR)/.prepared:
+ mkdir -p $(PKG_BUILD_DIR)
+ touch $@
+
$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/wlcompat.o $(PKG_BUILD_DIR)/wlcompat-debug.o
touch $@
@@ -27,8 +33,8 @@ $(PKG_BUILD_DIR)/wlcompat-debug.o:
$(TARGET_CC) -DDEBUG $(WLCOMPAT_FLAGS) -o $@ wlcompat.c
$(IPKG_KMOD_WLCOMPAT): $(PKG_BUILD_DIR)/wlcompat.o $(PKG_BUILD_DIR)/wlcompat-debug.o
- mkdir -p $(IDIR_WLCOMPAT)/etc/modules.d
- echo "wlcompat" > $(IDIR_WLCOMPAT)/etc/modules.d/10-wlcompat
- mkdir -p $(IDIR_WLCOMPAT)/lib/modules/$(LINUX_VERSION)
- cp $^ $(IDIR_WLCOMPAT)/lib/modules/$(LINUX_VERSION)/
- $(IPKG_BUILD) $(IDIR_WLCOMPAT) $(PACKAGE_DIR)
+ mkdir -p $(IDIR_KMOD_WLCOMPAT)/etc/modules.d
+ echo "wlcompat" > $(IDIR_KMOD_WLCOMPAT)/etc/modules.d/10-wlcompat
+ mkdir -p $(IDIR_KMOD_WLCOMPAT)/lib/modules/$(LINUX_VERSION)
+ cp $(PKG_BUILD_DIR)/*.o $(IDIR_KMOD_WLCOMPAT)/lib/modules/$(LINUX_VERSION)/
+ $(IPKG_BUILD) $(IDIR_KMOD_WLCOMPAT) $(PACKAGE_DIR)