mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
move package/linux into target/linux, use wbx' new kernel code. support building images with more than one kernel, split kernel module parts off of packages that use their own kernel modules (fuse, shfs, openswan). some cleanup in the image building process in target/. image builder is disabled for now, needs some fixing.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1085 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
103
target/linux/package/shfs/patches/101-kmod_build.patch
Normal file
103
target/linux/package/shfs/patches/101-kmod_build.patch
Normal file
@@ -0,0 +1,103 @@
|
||||
--- shfs-0.35-orig/shfs/Linux-2.4/Makefile 2004-06-01 15:16:19.000000000 +0200
|
||||
+++ shfs-0.35-2/shfs/Linux-2.4/Makefile 2005-04-09 02:34:35.000000000 +0200
|
||||
@@ -1,3 +1,17 @@
|
||||
+#
|
||||
+# the original Makefile was trashed and replaced by this one
|
||||
+# The main reason is that loadable modules should be built with
|
||||
+# the same compile flags the kernel was built with, so we'd better
|
||||
+# let the kernel tree build the module for us, like that :
|
||||
+#
|
||||
+# make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules
|
||||
+# make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules_install
|
||||
+#
|
||||
+#
|
||||
+# $(TOPDIR)/lib/string.o is needed at link time because the memchr function
|
||||
+# is not exported on mips (insmod: unresolved symbol memchr)
|
||||
+#
|
||||
+
|
||||
ifndef KERNEL
|
||||
KERNEL=$(shell uname -r)
|
||||
endif
|
||||
@@ -10,67 +24,30 @@
|
||||
KERNEL_SOURCES=${MODULESDIR}/build
|
||||
endif
|
||||
|
||||
-ifeq (${MODVERSIONS},detect)
|
||||
- ifeq ($(shell test -e ${KERNEL_SOURCES}/include/linux/modversions.h; echo $$?),0)
|
||||
- MODVERSIONS=yes
|
||||
- endif
|
||||
-endif
|
||||
-
|
||||
-ifeq (${MODVERSIONS},yes)
|
||||
-MVER=-DMODVERSIONS -DEXPORT_SYMTAB
|
||||
-endif
|
||||
-
|
||||
-LINVER=linux-${KERNEL}
|
||||
-
|
||||
-ALL_TARGETS := shfs.o
|
||||
-
|
||||
-SEARCHDIRS := -I- -I. -I${KERNEL_SOURCES}/include #-I/usr/src/linux/include/
|
||||
+all: all-y
|
||||
|
||||
-CC := gcc
|
||||
-CFLAGS = -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -Wall ${SEARCHDIRS} -DMODULE ${MVER} -D__KERNEL__ -DLINUX
|
||||
-LINKER := ld
|
||||
-LDFLAGS = -r
|
||||
-LOADLIBES :=
|
||||
+O_TARGET := shfs.o
|
||||
|
||||
-all: ${ALL_TARGETS}
|
||||
+shfs-objs := dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
|
||||
|
||||
-%.o: %.c $(wildcard *.h)
|
||||
- ${CC} ${CFLAGS} -c $< -o $@
|
||||
+obj-y := $(shfs-objs)
|
||||
+obj-m := $(O_TARGET)
|
||||
|
||||
-shfs.o: dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
|
||||
- ${LINKER} ${LDFLAGS} -o $@ ${filter-out %.a %.so, $^} ${LOADLIBES}
|
||||
-
|
||||
-tidy:
|
||||
- ${RM} core dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
|
||||
-
|
||||
-clean: tidy patch-clean
|
||||
- ${RM} shfs.o
|
||||
+-include $(TOPDIR)/Rules.make
|
||||
|
||||
+all-y:
|
||||
+ make -C ${KERNEL_SOURCES} TOPDIR="${KERNEL_SOURCES}" SUBDIRS="$(shell pwd)" modules
|
||||
+
|
||||
install: shfs.o
|
||||
rm -f ${MODULESDIR}/kernel/fs/shfs/shfs.o
|
||||
install -m644 -b -D shfs.o ${MODULESDIR}/kernel/fs/shfs/shfs.o
|
||||
- if [ -x /sbin/depmod -a "${ROOT}" = "/" ]; then /sbin/depmod -aq; fi
|
||||
|
||||
uninstall:
|
||||
rm -rf ${MODULESDIR}/kernel/fs/shfs
|
||||
- if [ -x /sbin/depmod -a "${ROOT}" = "/" ]; then /sbin/depmod -aq; fi
|
||||
|
||||
-patch:
|
||||
- rm -rf ${LINVER} ${LINVER}.orig; mkdir ${LINVER};
|
||||
- for i in Documentation fs/shfs include/linux; do \
|
||||
- mkdir -p ${LINVER}/$$i; \
|
||||
- done
|
||||
- cp ${KERNEL_SOURCES}/Documentation/Configure.help ${LINVER}/Documentation
|
||||
- cp ${KERNEL_SOURCES}/fs/{Makefile,Config.in} ${LINVER}/fs
|
||||
- cp -r ${LINVER} ${LINVER}.orig
|
||||
- cp ../../Changelog *.c shfs_debug.h proc.h ${LINVER}/fs/shfs/
|
||||
- cp shfs.h shfs_fs* ${LINVER}/include/linux/
|
||||
- (cd ${LINVER}; patch -p1 <../kernel-config.diff)
|
||||
- find . -type f -name "*.orig" -print | xargs rm -f
|
||||
- diff -urN ${LINVER}.orig ${LINVER} >${LINVER}.diff; true
|
||||
-
|
||||
-patch-clean:
|
||||
- rm -rf ${LINVER} ${LINVER}.orig;
|
||||
- rm -f ${LINVER}.diff
|
||||
-
|
||||
-.PHONY : all tidy clean install uninstall patch patch-clean
|
||||
+clean:
|
||||
+ rm -f core *.o *.a *.s
|
||||
+
|
||||
+shfs.o: $(shfs-objs)
|
||||
+ $(LD) -r -o $@ $(shfs-objs) $(TOPDIR)/lib/string.o
|
||||
+
|
||||
Reference in New Issue
Block a user