diff options
Diffstat (limited to 'openwrt/target/linux/package')
-rw-r--r-- | openwrt/target/linux/package/Makefile | 6 | ||||
-rw-r--r-- | openwrt/target/linux/package/wlcompat/Makefile | 26 |
2 files changed, 22 insertions, 10 deletions
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) |