annotate Makefile @ 60:0d4ecc74db1f

Remove the support for yaffsram.
author luc
date Mon, 01 Aug 2005 21:54:45 +0100
parents 00464f69ccdb
children 51cad800e99c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
1 #Makefile for YAFFS2 as a module
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
2 #
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
3 # NB this is not yet suitable for putting into the kernel tree.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
4 # YAFFS: Yet another FFS. A NAND-flash specific file system.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
5 #
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
6 # Copyright (C) 2002 Aleph One Ltd.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
7 # for Toby Churchill Ltd and Brightstar Engineering
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
8 #
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
9 # Created by Charles Manning <charles@aleph1.co.uk>
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
10 #
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
11 # This program is free software; you can redistribute it and/or modify
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
12 # it under the terms of the GNU General Public License version 2 as
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
13 # published by the Free Software Foundation.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
14 #
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
15 # $Id$
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
16 #
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
17
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
18 ## Change or override KERNELDIR to your kernel
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
19 ## comment out USE_xxxx if you don't want these features.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
20
24
4ebabd859f38 Some improvements to garbage collection and st_xxx to yst_xxx changes
charles
parents: 18
diff changeset
21 KERNELDIR = /usr/src/kernels/2.6.11-1.1369_FC4-i686
9
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
22
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
23 ## Change if you are using a cross-compiler
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
24 MAKETOOLS =
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
25
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
26 CC=$(MAKETOOLS)gcc
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
27 LD=$(MAKETOOLS)ld
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
28
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
29 # Configurations...
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
30 # Comment out the stuff you don't want.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
31 #
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
32
53
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
33 # CONFIG_YAFFS_YAFFS1
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
34 # This adds the yaffs file system support for working with a
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
35 # a 512 byte / page NAND mtd.
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
36
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
37 USE_MTD = -DCONFIG_YAFFS_YAFFS1
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
38
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
39 # CONFIG_YAFFS_YAFFS2
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
40 # This adds the yaffs2 file system support for working with a
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
41 # 2048 or larger byte / page NAND mtd.
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
42
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
43 USE_MTD_2 = -DCONFIG_YAFFS_YAFFS2
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
44
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
45
9
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
46 # CONFIG_YAFFS_USE_NANDECC
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
47 # This enables the ECC functions of the generic MTD-NAND driver.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
48 # This will not work if you are using the old mtd.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
49 #
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
50 # NB UseNANDECC does not work at present with yaffsram.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
51
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
52 USE_NANDECC = -DCONFIG_YAFFS_USE_NANDECC
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
53
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
54 # CONFIG_YAFFS_ECC_WRONG_ORDER
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
55 # This makes yaffs_ecc.c use the same ecc byte order as
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
56 # Steven Hill's nand_ecc.c. If not set, then you get the
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
57 # same ecc byte order as SmartMedia.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
58
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
59 #USE_WRONGECC = -DCONFIG_YAFFS_ECC_WRONG_ORDER
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
60
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
61 # CONFIG_YAFFS_USE_HEADER_FILE_SIZE
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
62 # When the flash is scanned, two file sizes are constructed:
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
63 # * The size taken from the object header for the file.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
64 # * The size figured out by scanning the data chunks.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
65 # If this option is enabled, then the object header size is used, otherwise the scanned size is used.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
66 # Suggest leaving this disabled.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
67
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
68 #USE_HEADER_FILE_SIZE = -DCONFIG_YAFFS_USE_HEADER_FILE_SIZE
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
69
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
70 #CONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
71 # Enabling this turns off the test that chunks are erased in flash before writing to them.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
72 # this is safe, since the write verification will fail.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
73 # Suggest enabling the test (ie. keep the following line commented) during development to help debug things.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
74
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
75 #IGNORE_CHUNK_ERASED = -DCONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
76
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
77 #CONFIG_YAFFS_DISABLE_WRITE_VERIFY
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
78 # I am severely reluctant to provide this config. Disabling the verification is not a good thing to do
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
79 # since NAND writes can fail silently.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
80 # Disabling the write verification will cause your teeth to rot, rats to eat your corn and give you split ends.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
81 # You have been warned. ie. Don't uncomment the following line.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
82
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
83 #IGNORE_WRITE_VERIFY = -DCONFIG_YAFFS_DISBLE_WRITE_VERIFY
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
84
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
85 #CONFIG_YAFFS_SHORT_NAMES_IN_RAM
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
86 # If this config is set, then short names are stored with the yaffs_Object
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
87 # This costs an extra 16 bytes of RAM per object, but makes look-ups faster.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
88
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
89 ENABLE_SHORT_NAMES_IN_RAM = -DCONFIG_SHORT_NAMES_IN_RAM
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
90
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
91 # End of configuration options.
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
92
24
4ebabd859f38 Some improvements to garbage collection and st_xxx to yst_xxx changes
charles
parents: 18
diff changeset
93 WIERD_COMPILE_CONFIGS = -DNR_IRQS=1 -DNR_IRQ_VECTORS=1
4ebabd859f38 Some improvements to garbage collection and st_xxx to yst_xxx changes
charles
parents: 18
diff changeset
94
4ebabd859f38 Some improvements to garbage collection and st_xxx to yst_xxx changes
charles
parents: 18
diff changeset
95 YAFFS_CONFIGS = $(WIERD_COMPILE_CONFIGS) \
4ebabd859f38 Some improvements to garbage collection and st_xxx to yst_xxx changes
charles
parents: 18
diff changeset
96 $(USE_RAM_FOR_TEST) $(USE_MTD) $(USE_RAM_FOR_TEST_2) $(USE_MTD_2)\
9
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
97 $(USE_HEADER_FILE_SIZE) $(IGNORE_CHUNK_ERASED) $(IGNORE_WRITE_VERIFY) \
59
00464f69ccdb Remove the support for the old MTD.
luc
parents: 53
diff changeset
98 $(ENABLE_SHORT_NAMES_IN_RAM) $(USE_NANDECC) $(USE_WRONGECC)
9
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
99
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
100
53
19ee75abdcad Ooops. missed this one: Needed to change MTD_ defines to match changes
marty
parents: 24
diff changeset
101 YAFFS2_CONFIGS = $(YAFFS_CONFIGS)
9
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
102
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
103 CFLAGS = -D__KERNEL__ -DMODULE $(YAFFS2_CONFIGS) -I$(KERNELDIR)/include -O2 -g -Wall
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
104
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
105
18
885038f60446 *** empty log message ***
charles
parents: 9
diff changeset
106 OBJS = yaffs_fs.o yaffs_guts.o yaffs_ramem.o yaffs_mtdif.o yaffs_ecc.o yaffs_tagscompat.o yaffs_ramem2k.o yaffs_packedtags2.o yaffs_mtdif2.o yaffs_tagsvalidity.o
9
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
107
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
108
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
109 all: yaffs.o
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
110
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
111 $(OBJS): %.o: %.c Makefile
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
112 $(CC) -c $(CFLAGS) $< -o $@
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
113
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
114 yaffs.o: $(OBJS)
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
115 $(LD) -r $(OBJS) -o $@
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
116
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
117 clean:
af67b6d281b8 *** empty log message ***
charles
parents:
diff changeset
118 rm -f $(OBJS) core