# Makefile to build the package in openwrt.
-# goes into package/ipfw3/Makefile
+# goes into package/network/utils/ipfw3/Makefile
#
# Edit IPFW_DIR to point to the directory with the sources for ipfw
include $(INCLUDE_DIR)/package.mk
#Stuff depending on kernel version
-ifeq ($(KERNEL),2.6)
-
-VERS:=2.6
-IPFW_MOD:=ipfw_mod.ko
-IPFW_SRC_DIR:=M
+$(warning --- openwrt kernel version $(KERNEL) linux dir $(LINUX_DIR) -------)
+ifeq ($(KERNEL),2.4)
+ VERS:=openwrt
+ CFLAGS_WRT:=-DSYSCTL_NODE -DEMULATE_SYSCTL
+ IPFW_MOD:=ipfw_mod.o
+ IPFW_SRC_DIR:=SUBDIRS
else
-
-VERS:=openwrt
-CFLAGS_WRT:=-DSYSCTL_NODE -DEMULATE_SYSCTL
-IPFW_MOD:=ipfw_mod.o
-IPFW_SRC_DIR:=SUBDIRS
-
+ #VERS:=2.6
+ IPFW_MOD:=ipfw_mod.ko
+ IPFW_SRC_DIR:=M
endif
# Description for the package.
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
+ # 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
+ $(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
- # compile the userland part for openwrt
- $(MAKE) -C $(PKG_BUILD_DIR)/ipfw \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS) $(CFLAGS_WRT) -I./include_e -I./include -include ../glue.h -DNO_ALTQ -D__BSD_VISIBLE" \
- _VER=$(VERS) all
+endef
+
+define Build/Compile_new
+ $(call Build/Compile/Default)
+ $(call Build/Compile/Default,modules)
endef
define Package/ipfw3-userland