include $(INCLUDE_DIR)/package.mk
#Stuff depending on kernel version
-$(warning -------- -kernel version $(KERNEL) -------)
-
+$(warning --- openwrt kernel version $(KERNEL) linux dir $(LINUX_DIR) -------)
ifeq ($(KERNEL),2.4)
VERS:=openwrt
IPFW_MOD:=ipfw_mod.o
IPFW_SRC_DIR:=SUBDIRS
else
- VERS:=2.6
+ #VERS:=2.6
IPFW_MOD:=ipfw_mod.ko
IPFW_SRC_DIR:=M
endif
TITLE:= IPFW and dummynet
# FILES is what makes up the module, both kernel and userland
# It must be in the KernelPackage section
- FILES := $(PKG_BUILD_DIR)/kipfw/$(IPFW_MOD) $(PKG_BUILD_DIR)/ipfw/ipfw
+ FILES := $(PKG_BUILD_DIR)/kipfw-mod/$(IPFW_MOD) $(PKG_BUILD_DIR)/ipfw/ipfw
# AUTOLOAD:=$(call AutoLoad,80,ipfw_mod)
endef
# $(warning Preparing ipfw sources)
mkdir -p $(PKG_BUILD_DIR)
$(CP) -Rp $(IPFW_DIR)/* $(PKG_BUILD_DIR)/
+ # The kernel sources are spread in multiple places,
+ # so we put everything in kipfw-mod
+ mkdir -p $(PKG_BUILD_DIR)/kipfw-mod
+ cp -Rp $(IPFW_DIR)/kipfw/* $(PKG_BUILD_DIR)/kipfw-mod
+ cp `find $(IPFW_DIR)/sys -name \*.c` $(PKG_BUILD_DIR)/kipfw-mod
+ # we do not need cross parameters
(cd $(PKG_BUILD_DIR)/ipfw && $(MAKE) include_e )
- (cd $(PKG_BUILD_DIR)/kipfw && $(MAKE) include_e )
+ (cd $(PKG_BUILD_DIR)/kipfw-mod && $(MAKE) include_e )
endef
define Build/Compile
- # compile the userland part for openwrt
+ # XXX check whether we need all linux_dir etc.
$(MAKE) -C $(PKG_BUILD_DIR)/ipfw \
+ LINUX_DIR=$(LINUX_DIR) \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS) $(CFLAGS_WRT) -I./include_e -I./include -include ../glue.h -DNO_ALTQ -D__BSD_VISIBLE" \
- VER=$(VERS) all
+ _VER=$(VERS) all
+ $(warning compile the kernel part for ipfw/openwrt)
# compile the kernel part for openwrt
$(MAKE) -C "$(LINUX_DIR)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
+ LINUX_DIR=$(LINUX_DIR) \
+ KERNELPATH=$(LINUX_DIR) \
ARCH="$(LINUX_KARCH)" \
- $(IPFW_SRC_DIR)="$(PKG_BUILD_DIR)/kipfw" \
+ $(IPFW_SRC_DIR)="$(PKG_BUILD_DIR)/kipfw-mod" \
IPFW3_ROOT="$(PKG_BUILD_DIR)" \
_VER=$(VERS) modules
endef