Finished the 32 and 64 bit tests.
[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_cache.o
30         yaffs2-objs += yaffs_mtdif_single.o
31         yaffs2-objs += yaffs_packedtags1.o
32         yaffs2-objs += yaffs_ecc.o yaffs_vfs_single.o yaffs_guts.o
33         yaffs2-objs += yaffs_packedtags2.o
34         yaffs2-objs += yaffs_tagscompat.o
35         yaffs2-objs += yaffs_tagsmarshall.o
36         yaffs2-objs += yaffs_checkptrw.o yaffs_nand.o
37         yaffs2-objs += yaffs_checkptrw.o yaffs_nand.o yaffs_nameval.o
38         yaffs2-objs += yaffs_allocator.o yaffs_bitmap.o yaffs_attribs.o
39         yaffs2-objs += yaffs_yaffs1.o
40         yaffs2-objs += yaffs_yaffs2.o
41         yaffs2-objs += yaffs_verify.o
42         yaffs2-objs += yaffs_endian.o
43         yaffs2-objs += yaffs_summary.o
44
45         yaffs2multi-objs := yaffs_cache.o
46         yaffs2multi-objs += yaffs_mtdif_multi.o
47         yaffs2multi-objs += yaffs_packedtags1.o
48         yaffs2multi-objs += yaffs_ecc.o yaffs_vfs_multi.o yaffs_guts.o
49         yaffs2multi-objs += yaffs_packedtags2.o
50         yaffs2multi-objs += yaffs_tagscompat.o
51         yaffs2multi-objs += yaffs_tagsmarshall.o
52         yaffs2multi-objs += yaffs_checkptrw.o yaffs_nand.o
53         yaffs2multi-objs += yaffs_checkptrw.o yaffs_nand.o yaffs_nameval.o
54         yaffs2multi-objs += yaffs_allocator.o yaffs_bitmap.o yaffs_attribs.o
55         yaffs2multi-objs += yaffs_yaffs1.o
56         yaffs2multi-objs += yaffs_yaffs2.o
57         yaffs2multi-objs += yaffs_verify.o
58         yaffs2multi-objs += yaffs_endian.o
59         yaffs2multi-objs += yaffs_summary.o
60
61 else
62         KERNELDIR ?= /lib/modules/$(shell uname -r)/build
63         PWD := $(shell pwd)
64
65 modules default:
66         $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
67
68 mi modules_install:
69         $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
70
71 clean:
72         $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
73 endif