summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/Makefile')
-rw-r--r--fs/btrfs/Makefile50
1 files changed, 15 insertions, 35 deletions
diff --git a/fs/btrfs/Makefile b/fs/btrfs/Makefile
index 0720169b6d66..99e45a54ebd6 100644
--- a/fs/btrfs/Makefile
+++ b/fs/btrfs/Makefile
@@ -1,40 +1,20 @@
-CC=gcc
-CFLAGS = -g -Wall -Werror
-headers = radix-tree.h ctree.h disk-io.h kerncompat.h print-tree.h list.h \
- transaction.h
-objects = ctree.o disk-io.o radix-tree.o extent-tree.o print-tree.o \
- root-tree.o dir-item.o hash.o file-item.o inode-item.o \
- inode-map.o \
+ifneq ($(KERNELRELEASE),)
+# kbuild part of makefile
-# if you don't have sparse installed, use ls instead
-CHECKFLAGS=-D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise \
- -Wcontext -Wcast-truncate -Wuninitialized -Wshadow -Wundef
-check=sparse $(CHECKFLAGS)
-#check=ls
+obj-m := btrfs.o
+btrfs-y := super.o
-.c.o:
- $(check) $<
- $(CC) $(CFLAGS) -c $<
+#btrfs-y := ctree.o disk-io.o radix-tree.o extent-tree.o print-tree.o \
+# root-tree.o dir-item.o hash.o file-item.o inode-item.o \
+# inode-map.o \
-all: tester debug-tree quick-test dir-test tags mkfs.btrfs
-
-mkfs.btrfs: $(objects) mkfs.o
- gcc $(CFLAGS) -o mkfs.btrfs $(objects) mkfs.o
-
-debug-tree: $(objects) debug-tree.o
- gcc $(CFLAGS) -o debug-tree $(objects) debug-tree.o
-
-tester: $(objects) random-test.o
- gcc $(CFLAGS) -o tester $(objects) random-test.o
-
-dir-test: $(objects) dir-test.o
- gcc $(CFLAGS) -o dir-test $(objects) dir-test.o
-quick-test: $(objects) quick-test.o
- gcc $(CFLAGS) -o quick-test $(objects) quick-test.o
-
-$(objects): $(headers)
-
-clean :
- rm debug-tree tester *.o
+else
+# Normal Makefile
+KERNELDIR := /lib/modules/`uname -r`/build
+all::
+ $(MAKE) -C $(KERNELDIR) M=`pwd` modules
+clean::
+ rm *.o btrfs.ko
+endif