summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/package/mini_fo/Makefile20
-rw-r--r--target/linux/package/mini_fo/patches/101-kmod_build.patch52
-rw-r--r--target/linux/package/shfs/Makefile1
3 files changed, 56 insertions, 17 deletions
diff --git a/target/linux/package/mini_fo/Makefile b/target/linux/package/mini_fo/Makefile
index 357d09b94..3a0014960 100644
--- a/target/linux/package/mini_fo/Makefile
+++ b/target/linux/package/mini_fo/Makefile
@@ -17,17 +17,7 @@ PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
ifeq ($(KERNEL_DIR),)
KERNEL_DIR:=$(LINUX_DIR)
endif
-ifeq ($(LINUX_VERSION),2.4.30)
-KERNEL_VERSION=2.4
-else
-KERNEL_VERSION=2.6
-endif
-
-KERNEL_FLAGS=-D__KERNEL__ -DMODULE -DFISTGEN -I. -I$(KERNEL_DIR)/include \
- -Wno-unused -fno-common -fno-schedule-insns -fno-schedule-insns2 \
- -fomit-frame-pointer -finline-limit=100000 -mabi=32 -march=mips32 \
- -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap -DMODULE -mlong-calls \
- -fno-strict-aliasing -G 0 -mno-abicalls -fno-pic
+KERNEL_VERSION=$(shell echo "$(LINUX_VERSION)" | cut -d. -f1,2)
include $(TOPDIR)/package/rules.mk
@@ -37,15 +27,11 @@ $(PKG_BUILD_DIR)/.configured:
touch $@
$(PKG_BUILD_DIR)/.built:
- rm -rf $(PKG_INSTALL_DIR)
- mkdir -p $(PKG_INSTALL_DIR)
$(MAKE) -C $(PKG_BUILD_DIR) \
- CFLAGS="$(TARGET_CFLAGS) $(KERNEL_FLAGS)" \
- CC="$(TARGET_CC)" \
- LD="$(TARGET_CROSS)ld" \
+ ARCH="$(LINUX_KARCH)" \
KERNELVERSION="$(KERNEL_VERSION)" \
KERNEL_SRC="$(KERNEL_DIR)" \
- ROOT="$(PKG_INSTALL_DIR)"
+ all
touch $@
$(IPKG_KMOD_MINI_FO):
diff --git a/target/linux/package/mini_fo/patches/101-kmod_build.patch b/target/linux/package/mini_fo/patches/101-kmod_build.patch
new file mode 100644
index 000000000..f6a752c1f
--- /dev/null
+++ b/target/linux/package/mini_fo/patches/101-kmod_build.patch
@@ -0,0 +1,52 @@
+diff -ruN mini_fo-old/Makefile mini_fo-new/Makefile
+--- mini_fo-old/Makefile 2005-05-08 01:22:51.000000000 +0200
++++ mini_fo-new/Makefile 2005-08-15 04:37:22.000000000 +0200
+@@ -26,36 +26,32 @@
+ # allow custom override of TOPINC for fistgen developers
+ -include fistdev.mk
+
++obj-m := mini_fo.o
++mini_fo-objs := meta.o dentry.o file.o inode.o main.o super.o state.o aux.o
++
+ ifeq ($(KERNELVERSION),2.4)
+-CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -O2 -Wall -Wno-unused -g -fno-common -fno-schedule-insns -fno-schedule-insns2 -fno-strict-aliasing -msoft-float -Werror
+-ifeq ($(ARCH),um)
+-CFLAGS += $(shell cd $(KERNEL_SRC) ; make script 'SCRIPT=@echo $$(CFLAGS)' ARCH=um)
+-endif
+-UCFLAGS = -DFISTGEN -I. ${TOPINC} -g -O2 -Wall -Wno-unused -Werror
+-endif
+
+-CC = $(CROSS_COMPILE)gcc
+-LD = $(CROSS_COMPILE)ld
++O_TARGET := $(obj-m)
++obj-y := $(mini_fo-objs)
+
+-obj-m := mini_fo.o
+-mini_fo-objs := meta.o dentry.o file.o inode.o main.o super.o state.o aux.o
++-include $(TOPDIR)/Rules.make
++
++endif
+
+ all: mini_fo$(KERNELVERSION)
+
+-mini_fo2.4: ${obj-m}
++mini_fo2.4:
++ $(MAKE) -C ${KERNEL_SRC} TOPDIR="${KERNEL_SRC}" SUBDIRS=$(shell pwd) modules
+
+ mini_fo2.6:
+- make -C ${KERNEL_SRC} SUBDIRS=$(PWD) modules
+-
+-${obj-m}: ${mini_fo-objs}
+- $(LD) -o ${obj-m} -r ${mini_fo-objs}
++ $(MAKE) -C ${KERNEL_SRC} SUBDIRS=$(shell pwd) modules
+
+ TAGS:
+ etags -t *.[hc]
+
+ clean:
+ ifeq ($(KERNELVERSION),2.6)
+- -make -C ${KERNEL_SRC} SUBDIRS=$(PWD) clean
++ -$(MAKE) -C ${KERNEL_SRC} SUBDIRS=$(shell pwd) clean
+ endif
+ rm -f ${obj-m} ${mini_fo-objs} ${obj-m:.o=.ko} *.d .*.flags *~
+ rm -f TAGS
diff --git a/target/linux/package/shfs/Makefile b/target/linux/package/shfs/Makefile
index 36046065f..af1d1f984 100644
--- a/target/linux/package/shfs/Makefile
+++ b/target/linux/package/shfs/Makefile
@@ -29,6 +29,7 @@ $(PKG_BUILD_DIR)/.built:
rm -rf $(PKG_INSTALL_DIR)
mkdir -p $(PKG_INSTALL_DIR)
$(MAKE) -C $(PKG_BUILD_DIR) \
+ ARCH="$(LINUX_KARCH)" \
OFLAGS="$(TARGET_CFLAGS)" \
CC="$(TARGET_CC)" \
LINKER="$(TARGET_CC)" \