From 08ab4e1780fa63c88dd5a5ab52f4ff4ed1ee1878 Mon Sep 17 00:00:00 2001
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sun, 31 Aug 2008 04:24:56 +0200
Subject: [PATCH] fs: Move conditional compilation to Makefile

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 fs/Makefile                 | 10 +++++++++-
 fs/cramfs/Makefile          |  7 ++++---
 fs/cramfs/cramfs.c          |  5 -----
 fs/cramfs/uncompress.c      |  4 ----
 fs/ext2/Makefile            |  6 +++---
 fs/ext2/dev.c               |  3 ---
 fs/ext2/ext2fs.c            |  4 ----
 fs/fat/Makefile             |  6 +++---
 fs/fat/fat.c                |  4 ----
 fs/fat/file.c               |  4 ----
 fs/fdos/Makefile            |  6 +++---
 fs/fdos/dev.c               |  5 -----
 fs/fdos/fat.c               |  4 ----
 fs/fdos/fdos.c              |  5 +----
 fs/fdos/fs.c                |  4 ----
 fs/fdos/subdir.c            |  3 ---
 fs/fdos/vfat.c              |  5 -----
 fs/jffs2/Makefile           |  8 +++++---
 fs/jffs2/compr_lzari.c      |  3 ---
 fs/jffs2/compr_lzo.c        |  4 ----
 fs/jffs2/compr_rtime.c      |  4 ----
 fs/jffs2/compr_rubin.c      |  4 ----
 fs/jffs2/compr_zlib.c       |  4 ----
 fs/jffs2/jffs2_1pass.c      |  5 -----
 fs/jffs2/jffs2_nand_1pass.c |  2 +-
 fs/jffs2/mini_inflate.c     |  5 -----
 fs/reiserfs/Makefile        |  6 +++---
 fs/reiserfs/dev.c           |  4 ----
 fs/reiserfs/mode_string.c   |  3 ---
 fs/reiserfs/reiserfs.c      |  4 ----
 30 files changed, 32 insertions(+), 109 deletions(-)

diff --git a/fs/Makefile b/fs/Makefile
index 95ac0e93fe..8bbd563249 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -22,7 +22,15 @@
 #
 #
 
-SUBDIRS	:= jffs2 cramfs fdos fat reiserfs ext2 yaffs2
+subdirs-$(CONFIG_CMD_CRAMFS) := cramfs
+subdirs-$(CONFIG_CMD_EXT2) += ext2
+subdirs-$(CONFIG_CMD_FAT) += fat
+subdirs-$(CONFIG_CMD_FDOS) += fdos
+subdirs-$(CONFIG_CMD_JFFS2) += jffs2
+subdirs-$(CONFIG_CMD_REISER) += reiserfs
+subdirs-$(CONFIG_YAFFS2) += yaffs2
+
+SUBDIRS	:= $(subdirs-y)
 
 $(obj).depend all:
 	@for dir in $(SUBDIRS) ; do \
diff --git a/fs/cramfs/Makefile b/fs/cramfs/Makefile
index 13c043fcde..7b6cc0ad3e 100644
--- a/fs/cramfs/Makefile
+++ b/fs/cramfs/Makefile
@@ -26,10 +26,11 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)libcramfs.a
 
 AOBJS	=
-COBJS	= cramfs.o uncompress.o
+COBJS-$(CONFIG_CMD_CRAMFS) := cramfs.o
+COBJS-$(CONFIG_CMD_CRAMFS) += uncompress.o
 
-SRCS	:= $(AOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS))
+SRCS	:= $(AOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 
 #CPPFLAGS +=
 
diff --git a/fs/cramfs/cramfs.c b/fs/cramfs/cramfs.c
index e53c783e5a..2956d390da 100644
--- a/fs/cramfs/cramfs.c
+++ b/fs/cramfs/cramfs.c
@@ -26,9 +26,6 @@
 
 #include <common.h>
 #include <malloc.h>
-
-#if defined(CONFIG_CMD_CRAMFS)
-
 #include <asm/byteorder.h>
 #include <linux/stat.h>
 #include <jffs2/jffs2.h>
@@ -343,5 +340,3 @@ int cramfs_check (struct part_info *info)
 	}
 	return 1;
 }
-
-#endif /* CFG_FS_CRAMFS */
diff --git a/fs/cramfs/uncompress.c b/fs/cramfs/uncompress.c
index cf67967904..39dd2751be 100644
--- a/fs/cramfs/uncompress.c
+++ b/fs/cramfs/uncompress.c
@@ -25,8 +25,6 @@
 #include <watchdog.h>
 #include <zlib.h>
 
-#if defined(CONFIG_CMD_CRAMFS)
-
 static z_stream stream;
 
 void *zalloc(void *, unsigned, unsigned);
@@ -86,5 +84,3 @@ int cramfs_uncompress_exit (void)
 	inflateEnd (&stream);
 	return 0;
 }
-
-#endif /* CFG_FS_CRAMFS */
diff --git a/fs/ext2/Makefile b/fs/ext2/Makefile
index 8313cdc17c..712e348395 100644
--- a/fs/ext2/Makefile
+++ b/fs/ext2/Makefile
@@ -30,10 +30,10 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)libext2fs.a
 
 AOBJS	=
-COBJS	= ext2fs.o dev.o
+COBJS-$(CONFIG_CMD_EXT2) := ext2fs.o dev.o
 
-SRCS	:= $(AOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS))
+SRCS	:= $(AOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 
 #CPPFLAGS +=
 
diff --git a/fs/ext2/dev.c b/fs/ext2/dev.c
index 1728b34fc8..3b49650bae 100644
--- a/fs/ext2/dev.c
+++ b/fs/ext2/dev.c
@@ -25,8 +25,6 @@
 
 
 #include <common.h>
-#if defined(CONFIG_CMD_EXT2)
-
 #include <config.h>
 #include <ext2fs.h>
 
@@ -139,4 +137,3 @@ int ext2fs_devread (int sector, int byte_offset, int byte_len, char *buf) {
 	}
 	return (1);
 }
-#endif
diff --git a/fs/ext2/ext2fs.c b/fs/ext2/ext2fs.c
index 78335510e2..436f4a4aa9 100644
--- a/fs/ext2/ext2fs.c
+++ b/fs/ext2/ext2fs.c
@@ -24,8 +24,6 @@
  */
 
 #include <common.h>
-
-#if defined(CONFIG_CMD_EXT2)
 #include <ext2fs.h>
 #include <malloc.h>
 #include <asm/byteorder.h>
@@ -874,5 +872,3 @@ fail:
 	ext2fs_root = NULL;
 	return (0);
 }
-
-#endif
diff --git a/fs/fat/Makefile b/fs/fat/Makefile
index 87af73b7eb..b711460f3a 100644
--- a/fs/fat/Makefile
+++ b/fs/fat/Makefile
@@ -24,10 +24,10 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)libfat.a
 
 AOBJS	=
-COBJS	= fat.o file.o
+COBJS-$(CONFIG_CMD_FAT)	:= fat.o file.o
 
-SRCS	:= $(AOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS))
+SRCS	:= $(AOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 
 all:	$(LIB) $(AOBJS)
 
diff --git a/fs/fat/fat.c b/fs/fat/fat.c
index 49c78ed79a..2f0bd8c14d 100644
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -31,8 +31,6 @@
 #include <asm/byteorder.h>
 #include <part.h>
 
-#if defined(CONFIG_CMD_FAT)
-
 /*
  * Convert a string to lowercase.
  */
@@ -1024,5 +1022,3 @@ file_fat_read(const char *filename, void *buffer, unsigned long maxsize)
 	printf("reading %s\n",filename);
 	return do_fat_read(filename, buffer, maxsize, LS_NO);
 }
-
-#endif
diff --git a/fs/fat/file.c b/fs/fat/file.c
index 514dbaecba..e870734402 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -32,8 +32,6 @@
 #include <linux/stat.h>
 #include <linux/time.h>
 
-#if defined(CONFIG_CMD_FAT)
-
 /* Supported filesystems */
 static const struct filesystem filesystems[] = {
 	{ file_fat_detectfs,  file_fat_ls,  file_fat_read,  "FAT" },
@@ -204,5 +202,3 @@ file_read(const char *filename, void *buffer, unsigned long maxsize)
 
 	return filesystems[current_filesystem].read(arg, buffer, maxsize);
 }
-
-#endif
diff --git a/fs/fdos/Makefile b/fs/fdos/Makefile
index 2dba0fb690..fce2032bdd 100644
--- a/fs/fdos/Makefile
+++ b/fs/fdos/Makefile
@@ -31,10 +31,10 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)libfdos.a
 
 AOBJS	=
-COBJS	= fat.o vfat.o dev.o fdos.o fs.o subdir.o
+COBJS-$(CONFIG_CMD_FDOS) := fat.o vfat.o dev.o fdos.o fs.o subdir.o
 
-SRCS	:= $(AOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS))
+SRCS	:= $(AOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 
 #CPPFLAGS +=
 
diff --git a/fs/fdos/dev.c b/fs/fdos/dev.c
index 271d0e790b..b55b6ed2d6 100644
--- a/fs/fdos/dev.c
+++ b/fs/fdos/dev.c
@@ -28,8 +28,6 @@
 #include "dos.h"
 #include "fdos.h"
 
-#if defined(CONFIG_CMD_FDOS)
-
 #define NB_HEADS        2
 #define NB_TRACKS       80
 #define NB_SECTORS      18
@@ -190,6 +188,3 @@ int check_dev (BootSector_t *boot, Fs_t *fs)
 
     return (0);
 }
-
-
-#endif
diff --git a/fs/fdos/fat.c b/fs/fdos/fat.c
index 2e2d2b8cef..5707c1952c 100644
--- a/fs/fdos/fat.c
+++ b/fs/fdos/fat.c
@@ -26,8 +26,6 @@
 #include <config.h>
 #include <malloc.h>
 
-#if defined(CONFIG_CMD_FDOS)
-
 #include "dos.h"
 #include "fdos.h"
 
@@ -138,5 +136,3 @@ int read_fat (BootSector_t *boot, Fs_t *fs)
     }
     return (0);
 }
-
-#endif
diff --git a/fs/fdos/fdos.c b/fs/fdos/fdos.c
index 5be6a960e7..db585623c6 100644
--- a/fs/fdos/fdos.c
+++ b/fs/fdos/fdos.c
@@ -24,9 +24,8 @@
 
 #include <common.h>
 #include <config.h>
-
-#if defined(CONFIG_CMD_FDOS)
 #include <malloc.h>
+
 #include "dos.h"
 #include "fdos.h"
 
@@ -171,5 +170,3 @@ int dos_dir (void)
     free (name);
     return (0);
 }
-
-#endif
diff --git a/fs/fdos/fs.c b/fs/fdos/fs.c
index aded6708d1..5acf1232c7 100644
--- a/fs/fdos/fs.c
+++ b/fs/fdos/fs.c
@@ -26,8 +26,6 @@
 #include <config.h>
 #include <malloc.h>
 
-#if defined(CONFIG_CMD_FDOS)
-
 #include "dos.h"
 #include "fdos.h"
 
@@ -114,5 +112,3 @@ int fs_init (Fs_t *fs)
     free (boot);
     return (0);
 }
-
-#endif
diff --git a/fs/fdos/subdir.c b/fs/fdos/subdir.c
index 497f554f91..5e96b0a65d 100644
--- a/fs/fdos/subdir.c
+++ b/fs/fdos/subdir.c
@@ -26,8 +26,6 @@
 #include <config.h>
 #include <malloc.h>
 
-#if defined(CONFIG_CMD_FDOS)
-
 #include "dos.h"
 #include "fdos.h"
 
@@ -345,4 +343,3 @@ int read_file (Fs_t *fs,
     }
     return (read);
 }
-#endif
diff --git a/fs/fdos/vfat.c b/fs/fdos/vfat.c
index 0e7883b0ab..9f357a6212 100644
--- a/fs/fdos/vfat.c
+++ b/fs/fdos/vfat.c
@@ -24,8 +24,6 @@
 
 #include <common.h>
 #include <config.h>
-
-#if defined(CONFIG_CMD_FDOS)
 #include <linux/ctype.h>
 
 #include "dos.h"
@@ -352,6 +350,3 @@ static char *conv_name (char *name, char *ext, char Case, char *ans)
     }
     return (ans);
 }
-
-
-#endif
diff --git a/fs/jffs2/Makefile b/fs/jffs2/Makefile
index a071af1f6e..fd6a1050c6 100644
--- a/fs/jffs2/Makefile
+++ b/fs/jffs2/Makefile
@@ -26,13 +26,15 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)libjffs2.a
 
 AOBJS	=
-COBJS-y += jffs2_1pass.o
+ifdef CONFIG_CMD_JFFS2
+COBJS-$(CONFIG_JFFS2_LZO_LZARI) += compr_lzari.o
+COBJS-$(CONFIG_JFFS2_LZO_LZARI) += compr_lzo.o
 COBJS-y += compr_rtime.o
 COBJS-y += compr_rubin.o
 COBJS-y += compr_zlib.o
+COBJS-y += jffs2_1pass.o
 COBJS-y += mini_inflate.o
-COBJS-y += compr_lzo.o
-COBJS-y += compr_lzari.o
+endif
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(AOBJS:.o=.S) $(COBJS:.o=.c)
diff --git a/fs/jffs2/compr_lzari.c b/fs/jffs2/compr_lzari.c
index f64bc74a9e..6a29608562 100644
--- a/fs/jffs2/compr_lzari.c
+++ b/fs/jffs2/compr_lzari.c
@@ -50,8 +50,6 @@ All rights reserved. Permission granted for non-commercial use.
 
 
 #include <config.h>
-#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_JFFS2_LZO_LZARI)
-
 #include <linux/stddef.h>
 #include <jffs2/jffs2.h>
 
@@ -259,4 +257,3 @@ int lzari_decompress(unsigned char *data_in, unsigned char *cpage_out,
 {
     return Decode(data_in, cpage_out, srclen, destlen);
 }
-#endif
diff --git a/fs/jffs2/compr_lzo.c b/fs/jffs2/compr_lzo.c
index a32b9934e4..e648ec4fb2 100644
--- a/fs/jffs2/compr_lzo.c
+++ b/fs/jffs2/compr_lzo.c
@@ -67,8 +67,6 @@
 
 
 #include <config.h>
-#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_JFFS2_LZO_LZARI)
-
 #include <linux/stddef.h>
 #include <jffs2/jffs2.h>
 #include <jffs2/compr_rubin.h>
@@ -401,5 +399,3 @@ int lzo_decompress(unsigned char *data_in, unsigned char *cpage_out,
 	lzo_uint outlen = destlen;
 	return lzo1x_decompress (data_in, srclen, cpage_out, &outlen, NULL);
 }
-
-#endif
diff --git a/fs/jffs2/compr_rtime.c b/fs/jffs2/compr_rtime.c
index 144263c422..89b9f2f13e 100644
--- a/fs/jffs2/compr_rtime.c
+++ b/fs/jffs2/compr_rtime.c
@@ -46,8 +46,6 @@
  */
 
 #include <config.h>
-#if defined(CONFIG_CMD_JFFS2)
-
 #include <jffs2/jffs2.h>
 
 void rtime_decompress(unsigned char *data_in, unsigned char *cpage_out,
@@ -87,5 +85,3 @@ void rtime_decompress(unsigned char *data_in, unsigned char *cpage_out,
 		}
 	}
 }
-
-#endif
diff --git a/fs/jffs2/compr_rubin.c b/fs/jffs2/compr_rubin.c
index f6f3fa1b58..9ff2217738 100644
--- a/fs/jffs2/compr_rubin.c
+++ b/fs/jffs2/compr_rubin.c
@@ -39,8 +39,6 @@
  */
 
 #include <config.h>
-#if defined(CONFIG_CMD_JFFS2)
-
 #include <jffs2/jffs2.h>
 #include <jffs2/compr_rubin.h>
 
@@ -122,5 +120,3 @@ void dynrubin_decompress(unsigned char *data_in, unsigned char *cpage_out,
 
 	rubin_do_decompress(bits, data_in+8, cpage_out, dstlen);
 }
-
-#endif
diff --git a/fs/jffs2/compr_zlib.c b/fs/jffs2/compr_zlib.c
index 29dfe1b664..d306b6dc4c 100644
--- a/fs/jffs2/compr_zlib.c
+++ b/fs/jffs2/compr_zlib.c
@@ -37,8 +37,6 @@
 
 #include <common.h>
 #include <config.h>
-#if defined(CONFIG_CMD_JFFS2)
-
 #include <jffs2/jffs2.h>
 #include <jffs2/mini_inflate.h>
 
@@ -48,5 +46,3 @@ long zlib_decompress(unsigned char *data_in, unsigned char *cpage_out,
     return (decompress_block(cpage_out, data_in + 2, (void *) ldr_memcpy));
 
 }
-
-#endif
diff --git a/fs/jffs2/jffs2_1pass.c b/fs/jffs2/jffs2_1pass.c
index b5e7ab8b19..5d22dd78e9 100644
--- a/fs/jffs2/jffs2_1pass.c
+++ b/fs/jffs2/jffs2_1pass.c
@@ -117,9 +117,6 @@
 #include <linux/stat.h>
 #include <linux/time.h>
 #include <watchdog.h>
-
-#if defined(CONFIG_CMD_JFFS2)
-
 #include <jffs2/jffs2.h>
 #include <jffs2/jffs2_1pass.h>
 
@@ -1394,5 +1391,3 @@ jffs2_1pass_info(struct part_info * part)
 	}
 	return 1;
 }
-
-#endif
diff --git a/fs/jffs2/jffs2_nand_1pass.c b/fs/jffs2/jffs2_nand_1pass.c
index 9f6de7d32a..e288d5a84a 100644
--- a/fs/jffs2/jffs2_nand_1pass.c
+++ b/fs/jffs2/jffs2_nand_1pass.c
@@ -1,6 +1,6 @@
 #include <common.h>
 
-#if !defined(CONFIG_NAND_LEGACY) && defined(CONFIG_CMD_JFFS2)
+#if !defined(CONFIG_NAND_LEGACY)
 
 #include <malloc.h>
 #include <linux/stat.h>
diff --git a/fs/jffs2/mini_inflate.c b/fs/jffs2/mini_inflate.c
index 4c50fc32dc..bd40a575ed 100644
--- a/fs/jffs2/mini_inflate.c
+++ b/fs/jffs2/mini_inflate.c
@@ -24,9 +24,6 @@
  */
 
 #include <config.h>
-
-#if defined(CONFIG_CMD_JFFS2)
-
 #include <jffs2/mini_inflate.h>
 
 /* The order that the code lengths in section 3.2.7 are in */
@@ -392,5 +389,3 @@ long decompress_block(unsigned char *dest, unsigned char *source,
 #endif
 	return stream.error ? -stream.error : stream.decoded;
 }
-
-#endif
diff --git a/fs/reiserfs/Makefile b/fs/reiserfs/Makefile
index e8711a411a..9cef8ee910 100644
--- a/fs/reiserfs/Makefile
+++ b/fs/reiserfs/Makefile
@@ -30,10 +30,10 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)libreiserfs.a
 
 AOBJS	=
-COBJS	= reiserfs.o dev.o mode_string.o
+COBJS-$(CONFIG_CMD_REISER) := reiserfs.o dev.o mode_string.o
 
-SRCS	:= $(AOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS))
+SRCS	:= $(AOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 
 #CPPFLAGS +=
 
diff --git a/fs/reiserfs/dev.c b/fs/reiserfs/dev.c
index 46dc41463f..1facfaf182 100644
--- a/fs/reiserfs/dev.c
+++ b/fs/reiserfs/dev.c
@@ -19,8 +19,6 @@
 
 
 #include <common.h>
-#if defined(CONFIG_CMD_REISER)
-
 #include <config.h>
 #include <reiserfs.h>
 
@@ -119,5 +117,3 @@ int reiserfs_devread (int sector, int byte_offset, int byte_len, char *buf)
 
 	return 1;
 }
-
-#endif
diff --git a/fs/reiserfs/mode_string.c b/fs/reiserfs/mode_string.c
index 3e57ee4a93..801263d881 100644
--- a/fs/reiserfs/mode_string.c
+++ b/fs/reiserfs/mode_string.c
@@ -25,7 +25,6 @@
 
 
 #include <common.h>
-#if defined(CONFIG_CMD_REISER)
 #include <linux/stat.h>
 
 #if ( S_ISUID != 04000 ) || ( S_ISGID != 02000 ) || ( S_ISVTX != 01000 ) \
@@ -137,5 +136,3 @@ const char *bb_mode_string(int mode)
 }
 
 #endif
-
-#endif
diff --git a/fs/reiserfs/reiserfs.c b/fs/reiserfs/reiserfs.c
index aa96361638..d84fb20bc7 100644
--- a/fs/reiserfs/reiserfs.c
+++ b/fs/reiserfs/reiserfs.c
@@ -29,8 +29,6 @@
  */
 
 #include <common.h>
-#if defined(CONFIG_CMD_REISER)
-
 #include <malloc.h>
 #include <linux/ctype.h>
 #include <linux/time.h>
@@ -982,5 +980,3 @@ reiserfs_open (char *filename)
 	}
 	return filemax;
 }
-
-#endif
-- 
2.39.5