*** empty log message ***
[yaffs/.git] / Makefile
1 #Makefile for YAFFS as a module
2 #
3 # NB this is not yet suitable for putting into the kernel tree.
4 # YAFFS: Yet another FFS. A NAND-flash specific file system. 
5 #
6 # Copyright (C) 2002 Aleph One Ltd.
7 #   for Toby Churchill Ltd and Brightstar Engineering
8 #
9 # Created by Charles Manning <charles@aleph1.co.uk>
10 #
11 # This program is free software; you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License version 2 as
13 # published by the Free Software Foundation.
14
15 ## Change or override  KERNELDIR to your kernel
16 ## comment out USE_xxxx if you don't want these features.
17
18 KERNELDIR = /usr/src/kernel-headers-2.4.18
19
20 # Configurations...
21 # Comment out the stuff you don't want.
22 #
23
24 # CONFIG_YAFFS_RAM_ENABLED.
25 # This adds the yaffsram file system support. Nice for testing on x86, but uses 2MB of RAM.
26 # Don't enable for NAND-based targets.
27
28 USE_RAM_FOR_TEST = -DCONFIG_YAFFS_RAM_ENABLED
29
30
31 # CONFIG_YAFFS_MTD_ENABLED.
32 # This adds the yaffs file system support for working with a NAND mtd.
33
34 USE_MTD = -DCONFIG_YAFFS_MTD_ENABLED
35
36 # CONFIG_YAFFS_USE_GENERIC_RW
37 # Use generic_read/generic_write for reading/writing files. This enables the use of the Linux
38 # file caching layer.
39 #
40 # If you disable this, then caching is disabled and file read/write is direct.
41
42 USE_GENERIC_RW = -DCONFIG_YAFFS_USE_GENERIC_RW
43
44 # CONFIG_YAFFS_USE_HEADER_FILE_SIZE
45 # When the flash is scanned, two file sizes are constructed:
46 # * The size taken from the object header for the file.
47 # * The size figured out by scanning the data chunks.
48 # If this option is enabled, then the object header size is ued, otherwise the scanned size is used.
49 # Suggest leaving this disabled.
50
51 #USE_HEADER_FILE_SIZE = -DCONFIG_YAFFS_USE_HEADER_FILE_SIZE
52
53 #CONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK
54 # Enabling this turns off the test that chunks are erased in flash before writing to them.
55 # this is safe, since the write verification will fail.
56 # Suggest enabling the test (ie. keep the following line commented) during development to help debug things.
57
58 #IGNORE_CHUNK_ERASED = -DCONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK
59
60 #CONFIG_YAFFS_DISABLE_WRITE_VERIFY
61 # I am severely reluctant to provide this config. Disabling the verification is not a good thing to do
62 # since NAND writes can fail silently.
63 # Disabling the write verification will cause your teeth to rot, rats to eat your corn and give you split ends.
64 # You have been warned. ie. Don't uncomment the following line.
65
66 #IGNORE_WRITE_VERIFY = -DCONFIG_YAFFS_DISBLE_WRITE_VERIFY
67
68 # End of configuration options.
69
70 YAFFS_CONFIGS = $(USE_RAM_FOR_TEST) $(USE_MTD) $(USE_GENERIC_RW) $(USE_HEADER_FILE_SIZE) $(IGNORE_CHUNK_ERASED) $(IGNORE_WRITE_VERIFY)
71
72 CFLAGS = -D__KERNEL__ -DMODULE $(YAFFS_CONFIGS)  -I$(KERNELDIR)/include -O2 -Wall
73
74
75 OBJS = yaffs_fs.o yaffs_guts.o yaffs_ramem.o yaffs_mtdif.o nand_ecc.o
76
77
78 all: yaffs.o
79
80 $(OBJS): %.o: %.c Makefile
81         gcc -c $(CFLAGS) $< -o $@
82
83 yaffs.o: $(OBJS)
84         ld -r $(OBJS) -o $@
85
86 clean:
87         rm -f $(OBJS) core