aboutsummaryrefslogtreecommitdiffstats
path: root/package/fuse/patches/101-kmod-build.patch
blob: 5f4bee745d89d2c205461446d6e9adb8c0ecc851 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
--- fuse-2.2.1-orig/kernel/Makefile.in	2005-01-09 13:07:00.000000000 +0100
+++ fuse-2.2.1-1/kernel/Makefile.in	2005-04-06 14:48:59.000000000 +0200
@@ -31,11 +31,11 @@
 install-y: all
 	$(mkdir_p) $(DESTDIR)$(fusemoduledir)
 	$(INSTALL) -m 644 $(fusemodule) $(DESTDIR)$(fusemoduledir)/$(fusemodule)
-	-/sbin/depmod -a
+#	-/sbin/depmod -a
 
 uninstall-y:
 	rm -f $(DESTDIR)$(fusemoduledir)/$(fusemodule)
-	-/sbin/depmod -a
+#	-/sbin/depmod -a
 
 clean:
 	-rm -f $(fusemodule) *.o .*.cmd *.mod.c *.ko *.s */*.o
@@ -54,23 +54,8 @@
 
 ifeq ($(majver), 2.4)
 
-CC = gcc
-LD = ld
-CFLAGS = -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe 
-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 @@
 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)\"