openwrt/package/fuse24/patches/101-kmod_build.patch

46 lines
1.0 KiB
Diff

--- a/kernel/Makefile.in
+++ b/kernel/Makefile.in
@@ -54,23 +54,8 @@ distdir: $(DISTFILES) $(COMPATDISTFILES)
ifeq ($(majver), 2.4)
-CC = gcc
-LD = ld
-CFLAGS = -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe @KERNELCFLAGS@
-CPPFLAGS = -I@kernelsrc@/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"$(VERSION)\" @KERNELCPPFLAGS@
-
fuse_objs = dev.o dir.o file.o inode.o compat/parser.o
-SUFFIXES = .c .o .s
-
-all-spec: fuse.o
-
-.c.o:
- $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
-
-fuse.o: $(fuse_objs)
- $(LD) -r -o fuse.o $(fuse_objs)
-
fuse_headers = fuse_i.h fuse_kernel.h
dev.o: $(fuse_headers)
@@ -78,6 +63,18 @@ dir.o: $(fuse_headers)
file.o: $(fuse_headers)
inode.o: $(fuse_headers)
+EXTRA_CFLAGS += -DFUSE_VERSION=\"$(VERSION)\"
+
+O_TARGET := fuse.o
+
+obj-y := $(fuse_objs)
+obj-m := $(O_TARGET)
+
+-include $(TOPDIR)/Rules.make
+
+all-spec:
+ $(MAKE) -C @kernelsrc@ TOPDIR=@kernelsrc@ SUBDIRS=$(PWD) modules
+
else
EXTRA_CFLAGS += -DFUSE_VERSION=\"$(VERSION)\"