diff --git a/Makefile b/Makefile
index c04917f60d939ea94eb99fbecd507b69a3fbdf73..b8713a49359973cadd5e1dc68bacc9774083fcf6 100644
--- a/Makefile
+++ b/Makefile
@@ -243,8 +243,7 @@ endif
 LIBS-$(CONFIG_IXP4XX_NPE) += drivers/net/npe/
 LIBS-$(CONFIG_OF_EMBED) += dts/
 LIBS-y += arch/$(ARCH)/lib/
-LIBS-y += fs/ \
-	fs/fat/
+LIBS-y += fs/
 LIBS-y += net/
 LIBS-y += disk/
 LIBS-y += drivers/
diff --git a/fs/Makefile b/fs/Makefile
index bdcd74631d603def66d49b079c4200519236846a..ee01a7d4a10779146befae73b4c8f9d76dc5b9b4 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -6,11 +6,15 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
+ifdef CONFIG_SPL_BUILD
+obj-$(CONFIG_SPL_FAT_SUPPORT) += fat/
+else
 obj-y				+= fs.o
 
 obj-y += cbfs/
 obj-y += cramfs/
 obj-y += ext4/
+obj-y += fat/
 obj-y += fdos/
 obj-y += jffs2/
 obj-y += reiserfs/
@@ -18,3 +22,4 @@ obj-y += sandbox/
 obj-y += ubifs/
 obj-y += yaffs2/
 obj-y += zfs/
+endif
diff --git a/spl/Makefile b/spl/Makefile
index 5bc75b4bcead9fa7627d8a8460baf66973611637..29d7818df5076b21c6f6846ccc89513648b89a10 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -73,7 +73,7 @@ LIBS-$(CONFIG_SPL_MMC_SUPPORT) += drivers/mmc/
 LIBS-$(CONFIG_SPL_SERIAL_SUPPORT) += drivers/serial/
 LIBS-$(CONFIG_SPL_SPI_FLASH_SUPPORT) += drivers/mtd/spi/
 LIBS-$(CONFIG_SPL_SPI_SUPPORT) += drivers/spi/
-LIBS-$(CONFIG_SPL_FAT_SUPPORT) += fs/fat/
+LIBS-y += fs/
 LIBS-$(CONFIG_SPL_LIBGENERIC_SUPPORT) += lib/
 LIBS-$(CONFIG_SPL_POWER_SUPPORT) += drivers/power/ \
 	drivers/power/pmic/