Merge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2
[yaffs2.git] / Makefile
index 1155a670a05e5e22cb7892eeb68a892aade6e1f7..1dbafc6ff3a501e1db1594f92d70dc6714a99b61 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,26 +1,54 @@
-
+# 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.
+#
+# Copyright (C) 2002-2010 Aleph One Ltd.
 #   for Toby Churchill Ltd and Brightstar Engineering
-# 
+#
 # 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
+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_ecc.o yaffs_fs.o yaffs_guts.o
-       yaffs2-objs += yaffs_packedtags2.o yaffs_qsort.o
+       yaffs2-objs := yaffs_mtdif.o yaffs_mtdif2_single.o
+       yaffs2-objs += yaffs_mtdif1_single.o 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 yaffs_tagsvalidity.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
+
+       yaffs2multi-objs := yaffs_mtdif.o yaffs_mtdif2_multi.o
+       yaffs2multi-objs += yaffs_mtdif1_multi.o 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 yaffs_tagsvalidity.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
 
 else
        KERNELDIR ?= /lib/modules/$(shell uname -r)/build