From c777091a82bbe6750c37b8425678ac7741e0a4cb Mon Sep 17 00:00:00 2001 From: charles Date: Fri, 17 Dec 2004 23:14:51 +0000 Subject: [PATCH] *** empty log message *** --- Makefile | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b9477b0 --- /dev/null +++ b/Makefile @@ -0,0 +1,133 @@ +#Makefile for YAFFS2 as a module +# +# NB this is not yet suitable for putting into the kernel tree. +# YAFFS: Yet another FFS. A NAND-flash specific file system. +# +# Copyright (C) 2002 Aleph One Ltd. +# for Toby Churchill Ltd and Brightstar Engineering +# +# Created by Charles Manning +# +# 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. +# +# $Id: Makefile,v 1.1 2004-12-17 23:14:51 charles Exp $ +# + +## Change or override KERNELDIR to your kernel +## comment out USE_xxxx if you don't want these features. + +KERNELDIR = /usr/src/kernel-headers-2.4.27 + +## Change if you are using a cross-compiler +MAKETOOLS = + +CC=$(MAKETOOLS)gcc +LD=$(MAKETOOLS)ld + +# Configurations... +# Comment out the stuff you don't want. +# + +# CONFIG_YAFFS_RAM_ENABLED. +# This adds the yaffsram file system support. Nice for testing on x86, but uses 2MB of RAM. +# Don't enable for NAND-based targets. + +USE_RAM_FOR_TEST = -DCONFIG_YAFFS_RAM_ENABLED + + +# CONFIG_YAFFS_MTD_ENABLED. +# This adds the yaffs file system support for working with a NAND mtd. + +USE_MTD = -DCONFIG_YAFFS_MTD_ENABLED + +# CONFIG_YAFFS2_RAM_ENABLED. +# This adds the yaffs2ram file system support. Nice for testing on x86, but uses 2MB of RAM. +# Don't enable for NAND-based targets. + +USE_RAM_FOR_TEST_2 = -DCONFIG_YAFFS2_RAM_ENABLED + + +# CONFIG_YAFFS2_MTD_ENABLED. +# This adds the yaffs2 file system support for working with a NAND mtd. + +USE_MTD_2 = -DCONFIG_YAFFS2_MTD_ENABLED + +# CONFIG_YAFFS_USE_OLD_MTD +# Enable this to use the old MTD stuff that did not have yaffs support. +# You can use this to get around compilation problems, but the best +# thing to do is to upgrade your MTD support. You will get better speed. + +#USE_OLD_MTD = -DCONFIG_YAFFS_USE_OLD_MTD + +# CONFIG_YAFFS_USE_NANDECC +# This enables the ECC functions of the generic MTD-NAND driver. +# This will not work if you are using the old mtd. +# +# NB UseNANDECC does not work at present with yaffsram. + +USE_NANDECC = -DCONFIG_YAFFS_USE_NANDECC + +# CONFIG_YAFFS_ECC_WRONG_ORDER +# This makes yaffs_ecc.c use the same ecc byte order as +# Steven Hill's nand_ecc.c. If not set, then you get the +# same ecc byte order as SmartMedia. + +#USE_WRONGECC = -DCONFIG_YAFFS_ECC_WRONG_ORDER + +# CONFIG_YAFFS_USE_HEADER_FILE_SIZE +# When the flash is scanned, two file sizes are constructed: +# * The size taken from the object header for the file. +# * The size figured out by scanning the data chunks. +# If this option is enabled, then the object header size is used, otherwise the scanned size is used. +# Suggest leaving this disabled. + +#USE_HEADER_FILE_SIZE = -DCONFIG_YAFFS_USE_HEADER_FILE_SIZE + +#CONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK +# Enabling this turns off the test that chunks are erased in flash before writing to them. +# this is safe, since the write verification will fail. +# Suggest enabling the test (ie. keep the following line commented) during development to help debug things. + +#IGNORE_CHUNK_ERASED = -DCONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK + +#CONFIG_YAFFS_DISABLE_WRITE_VERIFY +# I am severely reluctant to provide this config. Disabling the verification is not a good thing to do +# since NAND writes can fail silently. +# Disabling the write verification will cause your teeth to rot, rats to eat your corn and give you split ends. +# You have been warned. ie. Don't uncomment the following line. + +#IGNORE_WRITE_VERIFY = -DCONFIG_YAFFS_DISBLE_WRITE_VERIFY + +#CONFIG_YAFFS_SHORT_NAMES_IN_RAM +# If this config is set, then short names are stored with the yaffs_Object +# This costs an extra 16 bytes of RAM per object, but makes look-ups faster. + +ENABLE_SHORT_NAMES_IN_RAM = -DCONFIG_SHORT_NAMES_IN_RAM + +# End of configuration options. + +YAFFS_CONFIGS = $(USE_RAM_FOR_TEST) $(USE_MTD) $(USE_RAM_FOR_TEST_2) $(USE_MTD_2)\ + $(USE_HEADER_FILE_SIZE) $(IGNORE_CHUNK_ERASED) $(IGNORE_WRITE_VERIFY) \ + $(ENABLE_SHORT_NAMES_IN_RAM) $(USE_NANDECC) $(USE_OLD_MTD) $(USE_WRONGECC) + + +YAFFS2_CONFIGS = $(YAFFS_CONFIGS) -DCONFIG_YAFFS_YAFFS2 + +CFLAGS = -D__KERNEL__ -DMODULE $(YAFFS2_CONFIGS) -I$(KERNELDIR)/include -O2 -g -Wall + + +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 + + +all: yaffs.o + +$(OBJS): %.o: %.c Makefile + $(CC) -c $(CFLAGS) $< -o $@ + +yaffs.o: $(OBJS) + $(LD) -r $(OBJS) -o $@ + +clean: + rm -f $(OBJS) core -- 2.30.2