yaffsfs.c: Fix NULL dereference in yaffs_unmount2_reldev()
[yaffs2.git] / Makefile
index 538aec420b43fc9612d95fc334f1917ec3cc9bad..5600eff5abe7eb67c6597a27e591aafe8d80c91b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,29 +1,62 @@
-# Main Makefile for YAFFS
+# Main Makefile for out-of-tree yaffs2 .ko building
 #
+# You can make two flavours of the .ko
+#  make YAFFS_CURRENT=1  : makes yaffs2.ko using the current version code
+#  make                  : makes yaffs2multi.ko using the multi-version code
 #
 # YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
-# 
-# Copyright (C) 2002-2007 Aleph One Ltd.
-#   for Toby Churchill Ltd and Brightstar Engineering
-# 
+#
+# Copyright (C) 2002-2018 Aleph One Ltd.
+#
 # Created by Charles Manning <charles@aleph1.co.uk>
-# 
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License version 2 as
 # published by the Free Software Foundation.
 
+ifdef YAFFS_CURRENT
+       YAFFS_O := yaffs2.o
+       EXTRA_CFLAGS += -DYAFFS_CURRENT
+else
+       YAFFS_O := yaffs2multi.o
+endif
 
 ifneq ($(KERNELRELEASE),)
        EXTRA_CFLAGS += -DYAFFS_OUT_OF_TREE
 
-       obj-m := yaffs2.o
+       obj-m := $(YAFFS_O)
 
-       yaffs2-objs := yaffs_mtdif.o yaffs_mtdif2.o
-       yaffs2-objs += yaffs_mtdif1.o yaffs_packedtags1.o
-       yaffs2-objs += yaffs_ecc.o yaffs_fs.o yaffs_guts.o
-       yaffs2-objs += yaffs_packedtags2.o yaffs_qsort.o
-       yaffs2-objs += yaffs_tagscompat.o yaffs_tagsvalidity.o
+       yaffs2-objs := yaffs_cache.o
+       yaffs2-objs += yaffs_mtdif_single.o
+       yaffs2-objs += yaffs_packedtags1.o
+       yaffs2-objs += yaffs_ecc.o yaffs_vfs_single.o yaffs_guts.o
+       yaffs2-objs += yaffs_packedtags2.o
+       yaffs2-objs += yaffs_tagscompat.o
+       yaffs2-objs += yaffs_tagsmarshall.o
        yaffs2-objs += yaffs_checkptrw.o yaffs_nand.o
+       yaffs2-objs += yaffs_checkptrw.o yaffs_nand.o yaffs_nameval.o
+       yaffs2-objs += yaffs_allocator.o yaffs_bitmap.o yaffs_attribs.o
+       yaffs2-objs += yaffs_yaffs1.o
+       yaffs2-objs += yaffs_yaffs2.o
+       yaffs2-objs += yaffs_verify.o
+       yaffs2-objs += yaffs_endian.o
+       yaffs2-objs += yaffs_summary.o
+
+       yaffs2multi-objs := yaffs_cache.o
+       yaffs2multi-objs += yaffs_mtdif_multi.o
+       yaffs2multi-objs += yaffs_packedtags1.o
+       yaffs2multi-objs += yaffs_ecc.o yaffs_vfs_multi.o yaffs_guts.o
+       yaffs2multi-objs += yaffs_packedtags2.o
+       yaffs2multi-objs += yaffs_tagscompat.o
+       yaffs2multi-objs += yaffs_tagsmarshall.o
+       yaffs2multi-objs += yaffs_checkptrw.o yaffs_nand.o
+       yaffs2multi-objs += yaffs_checkptrw.o yaffs_nand.o yaffs_nameval.o
+       yaffs2multi-objs += yaffs_allocator.o yaffs_bitmap.o yaffs_attribs.o
+       yaffs2multi-objs += yaffs_yaffs1.o
+       yaffs2multi-objs += yaffs_yaffs2.o
+       yaffs2multi-objs += yaffs_verify.o
+       yaffs2multi-objs += yaffs_endian.o
+       yaffs2multi-objs += yaffs_summary.o
 
 else
        KERNELDIR ?= /lib/modules/$(shell uname -r)/build