Fix race yaffs_flush_inodes against iput
[yaffs2.git] / Makefile
1 # Main Makefile for out-of-tree yaffs2 .ko building
2 #
3 # You can make two flavours of the .ko
4 #  make YAFFS_CURRENT=1  : makes yaffs2.ko using the current version code
5 #  make                  : makes yaffs2multi.ko using the multi-version code
6 #
7 # YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
8 #
9 # Copyright (C) 2002-2018 Aleph One Ltd.
10 #
11 # Created by Charles Manning <charles@aleph1.co.uk>
12 #
13 # This program is free software; you can redistribute it and/or modify
14 # it under the terms of the GNU General Public License version 2 as
15 # published by the Free Software Foundation.
16
17 ifdef YAFFS_CURRENT
18         YAFFS_O := yaffs2.o
19         EXTRA_CFLAGS += -DYAFFS_CURRENT
20 else
21         YAFFS_O := yaffs2multi.o
22 endif
23
24 ifneq ($(KERNELRELEASE),)
25         EXTRA_CFLAGS += -DYAFFS_OUT_OF_TREE
26
27         obj-m := $(YAFFS_O)
28
29         yaffs2-objs := yaffs_mtdif_single.o
30         yaffs2-objs += yaffs_packedtags1.o
31         yaffs2-objs += yaffs_ecc.o yaffs_vfs_single.o yaffs_guts.o
32         yaffs2-objs += yaffs_packedtags2.o
33         yaffs2-objs += yaffs_tagscompat.o
34         yaffs2-objs += yaffs_tagsmarshall.o
35         yaffs2-objs += yaffs_checkptrw.o yaffs_nand.o
36         yaffs2-objs += yaffs_checkptrw.o yaffs_nand.o yaffs_nameval.o
37         yaffs2-objs += yaffs_allocator.o yaffs_bitmap.o yaffs_attribs.o
38         yaffs2-objs += yaffs_yaffs1.o
39         yaffs2-objs += yaffs_yaffs2.o
40         yaffs2-objs += yaffs_verify.o
41         yaffs2-objs += yaffs_endian.o
42         yaffs2-objs += yaffs_summary.o
43
44         yaffs2multi-objs := yaffs_mtdif_multi.o
45         yaffs2multi-objs += yaffs_packedtags1.o
46         yaffs2multi-objs += yaffs_ecc.o yaffs_vfs_multi.o yaffs_guts.o
47         yaffs2multi-objs += yaffs_packedtags2.o
48         yaffs2multi-objs += yaffs_tagscompat.o
49         yaffs2multi-objs += yaffs_tagsmarshall.o
50         yaffs2multi-objs += yaffs_checkptrw.o yaffs_nand.o
51         yaffs2multi-objs += yaffs_checkptrw.o yaffs_nand.o yaffs_nameval.o
52         yaffs2multi-objs += yaffs_allocator.o yaffs_bitmap.o yaffs_attribs.o
53         yaffs2multi-objs += yaffs_yaffs1.o
54         yaffs2multi-objs += yaffs_yaffs2.o
55         yaffs2multi-objs += yaffs_verify.o
56         yaffs2multi-objs += yaffs_endian.o
57         yaffs2multi-objs += yaffs_summary.o
58
59 else
60         KERNELDIR ?= /lib/modules/$(shell uname -r)/build
61         PWD := $(shell pwd)
62
63 modules default:
64         $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
65
66 mi modules_install:
67         $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
68
69 clean:
70         $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
71 endif