blob: 208a74e0b00e12edf164468e7a63cda611f12a8b [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#
3# Makefile for the Linux filesystems.
4#
5# 14 Sep 2000, Christoph Hellwig <hch@infradead.org>
6# Rewritten to use lists instead of if-statements.
7#
8
Luis Chamberlainab171b92022-01-21 22:13:27 -08009obj-$(CONFIG_SYSCTL) += sysctls.o
10
David Howells93614012006-09-30 20:45:40 +020011obj-y := open.o read_write.o file_table.o super.o \
12 char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
Al Virof776c732013-03-12 09:46:27 -040013 ioctl.o readdir.o select.o dcache.o inode.o \
Thomas Petazzoniebf3f092008-10-15 22:05:12 -070014 attr.o bad_inode.o file.o filesystems.o namespace.o \
David Howells93614012006-09-30 20:45:40 +020015 seq_file.o xattr.o libfs.o fs-writeback.o \
Al Viro7a5cf792018-03-05 19:15:50 -050016 pnode.o splice.o sync.o utimes.o d_path.o \
Phillip Potterbbe7449e2019-01-21 00:54:27 +000017 stack.o fs_struct.o statfs.o fs_pin.o nsfs.o \
Kees Cook5287b072020-10-02 10:38:16 -070018 fs_types.o fs_context.o fs_parser.o fsopen.o init.o \
Linus Torvaldsc4728cf2020-10-23 11:33:41 -070019 kernel_read_file.o remap_range.o
David Howells93614012006-09-30 20:45:40 +020020
21ifeq ($(CONFIG_BLOCK),y)
Christoph Hellwig0dca4462021-09-07 16:13:03 +020022obj-y += buffer.o direct-io.o mpage.o
David Howells93614012006-09-30 20:45:40 +020023else
24obj-y += no-block.o
25endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070026
Al Viro0226f492011-12-06 12:21:54 -050027obj-$(CONFIG_PROC_FS) += proc_namespace.o
28
Eric Paris272eb012008-12-17 13:59:41 -050029obj-y += notify/
Linus Torvalds1da177e2005-04-16 15:20:36 -070030obj-$(CONFIG_EPOLL) += eventpoll.o
David Howellsdadd2292018-11-05 17:40:31 +000031obj-y += anon_inodes.o
Davide Libenzifba2afa2007-05-10 22:23:13 -070032obj-$(CONFIG_SIGNALFD) += signalfd.o
Davide Libenzib215e282007-05-10 22:23:16 -070033obj-$(CONFIG_TIMERFD) += timerfd.o
Davide Libenzie1ad7462007-05-10 22:23:19 -070034obj-$(CONFIG_EVENTFD) += eventfd.o
Andrea Arcangelia14c1512015-09-04 15:46:54 -070035obj-$(CONFIG_USERFAULTFD) += userfaultfd.o
Thomas Petazzoniebf3f092008-10-15 22:05:12 -070036obj-$(CONFIG_AIO) += aio.o
Jens Axboe2b188cc2019-01-07 10:46:33 -070037obj-$(CONFIG_IO_URING) += io_uring.o
Jens Axboe771b53d02019-10-22 10:25:58 -060038obj-$(CONFIG_IO_WQ) += io-wq.o
Matthew Wilcox6cd176a2015-02-16 15:59:25 -080039obj-$(CONFIG_FS_DAX) += dax.o
Jaegeuk Kim0b81d072015-05-15 16:26:10 -070040obj-$(CONFIG_FS_ENCRYPTION) += crypto/
Eric Biggers671e67b2019-07-22 09:26:21 -070041obj-$(CONFIG_FS_VERITY) += verity/
Thomas Petazzonibfcd17a2008-08-06 15:12:22 +020042obj-$(CONFIG_FILE_LOCKING) += locks.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070043obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070044obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o
Josh Triplett2535e0d2013-04-30 15:27:44 -070045obj-$(CONFIG_BINFMT_SCRIPT) += binfmt_script.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070046obj-$(CONFIG_BINFMT_ELF) += binfmt_elf.o
Roland McGrathb9d36d52008-01-30 13:31:46 +010047obj-$(CONFIG_COMPAT_BINFMT_ELF) += compat_binfmt_elf.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070048obj-$(CONFIG_BINFMT_ELF_FDPIC) += binfmt_elf_fdpic.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070049obj-$(CONFIG_BINFMT_FLAT) += binfmt_flat.o
50
51obj-$(CONFIG_FS_MBCACHE) += mbcache.o
Christoph Hellwig5c8ebd52013-12-20 05:16:37 -080052obj-$(CONFIG_FS_POSIX_ACL) += posix_acl.o
Andreas Gruenbachera257cdd2005-06-22 17:16:26 +000053obj-$(CONFIG_NFS_COMMON) += nfs_common/
Alex Kelly046d6622012-10-04 17:15:23 -070054obj-$(CONFIG_COREDUMP) += coredump.o
Josh Triplett146732c2013-04-29 15:07:22 -070055obj-$(CONFIG_SYSCTL) += drop_caches.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070056
Aneesh Kumar K.V990d6c22011-01-29 18:43:26 +053057obj-$(CONFIG_FHANDLE) += fhandle.o
Darrick J. Wong1c230202019-07-15 08:50:57 -070058obj-y += iomap/
Aneesh Kumar K.V990d6c22011-01-29 18:43:26 +053059
Jan Kara884d1792009-01-26 15:28:09 +010060obj-y += quota/
Linus Torvalds1da177e2005-04-16 15:20:36 -070061
Linus Torvalds1da177e2005-04-16 15:20:36 -070062obj-$(CONFIG_PROC_FS) += proc/
Tejun Heoba341d52014-02-03 14:09:17 -050063obj-$(CONFIG_KERNFS) += kernfs/
64obj-$(CONFIG_SYSFS) += sysfs/
Joel Beckercef08932006-05-03 11:38:53 -070065obj-$(CONFIG_CONFIGFS_FS) += configfs/
Linus Torvalds1da177e2005-04-16 15:20:36 -070066obj-y += devpts/
67
David Teiglande7fd4172006-01-18 09:30:29 +000068obj-$(CONFIG_DLM) += dlm/
Linus Torvalds1da177e2005-04-16 15:20:36 -070069
70# Do not add any filesystems before this line
David Howells3d3c9502020-05-13 17:41:20 +010071obj-$(CONFIG_NETFS_SUPPORT) += netfs/
David Howells06b3db12009-04-03 16:42:36 +010072obj-$(CONFIG_FSCACHE) += fscache/
Linus Torvalds1da177e2005-04-16 15:20:36 -070073obj-$(CONFIG_REISERFS_FS) += reiserfs/
Theodore Ts'od8ae4602009-02-28 09:50:01 -050074obj-$(CONFIG_EXT4_FS) += ext4/
Darrick J. Wong91727962015-10-15 10:33:21 -040075# We place ext4 before ext2 so that clean ext3 root fs's do NOT mount using the
76# ext2 driver, which doesn't know about journalling! Explicitly request ext2
77# by giving the rootfstype= parameter.
78obj-$(CONFIG_EXT2_FS) += ext2/
Mingming Caodab291a2006-10-11 01:21:01 -070079obj-$(CONFIG_JBD2) += jbd2/
Linus Torvalds1da177e2005-04-16 15:20:36 -070080obj-$(CONFIG_CRAMFS) += cramfs/
Phillip Lougherfcef6fb2009-01-05 08:46:27 +000081obj-$(CONFIG_SQUASHFS) += squashfs/
Robert P. J. Day8e3f7152007-10-16 23:29:27 -070082obj-y += ramfs/
Linus Torvalds1da177e2005-04-16 15:20:36 -070083obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
84obj-$(CONFIG_CODA_FS) += coda/
85obj-$(CONFIG_MINIX_FS) += minix/
86obj-$(CONFIG_FAT_FS) += fat/
Namjae Jeonb9d1e2e2020-03-02 15:21:42 +090087obj-$(CONFIG_EXFAT_FS) += exfat/
Linus Torvalds1da177e2005-04-16 15:20:36 -070088obj-$(CONFIG_BFS_FS) += bfs/
89obj-$(CONFIG_ISO9660_FS) += isofs/
Linus Torvalds1da177e2005-04-16 15:20:36 -070090obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+
91obj-$(CONFIG_HFS_FS) += hfs/
Michael Halcrow237fead2006-10-04 02:16:22 -070092obj-$(CONFIG_ECRYPT_FS) += ecryptfs/
Linus Torvalds1da177e2005-04-16 15:20:36 -070093obj-$(CONFIG_VXFS_FS) += freevxfs/
94obj-$(CONFIG_NFS_FS) += nfs/
95obj-$(CONFIG_EXPORTFS) += exportfs/
96obj-$(CONFIG_NFSD) += nfsd/
97obj-$(CONFIG_LOCKD) += lockd/
98obj-$(CONFIG_NLS) += nls/
Christoph Hellwig5298d4b2022-01-18 07:56:14 +010099obj-y += unicode/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100obj-$(CONFIG_SYSV_FS) += sysv/
Steve French23e91d82021-09-08 23:59:26 -0500101obj-$(CONFIG_SMBFS_COMMON) += smbfs_common/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102obj-$(CONFIG_CIFS) += cifs/
Namjae Jeon1a930842021-06-24 10:34:11 +0900103obj-$(CONFIG_SMB_SERVER) += ksmbd/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104obj-$(CONFIG_HPFS_FS) += hpfs/
105obj-$(CONFIG_NTFS_FS) += ntfs/
Konstantin Komarov6e5be402021-08-13 17:21:30 +0300106obj-$(CONFIG_NTFS3_FS) += ntfs3/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107obj-$(CONFIG_UFS_FS) += ufs/
108obj-$(CONFIG_EFS_FS) += efs/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109obj-$(CONFIG_JFFS2_FS) += jffs2/
Artem Bityutskiy0d7eff82008-07-14 19:08:38 +0300110obj-$(CONFIG_UBIFS_FS) += ubifs/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111obj-$(CONFIG_AFFS_FS) += affs/
112obj-$(CONFIG_ROMFS_FS) += romfs/
113obj-$(CONFIG_QNX4FS_FS) += qnx4/
Kai Bankett5d026c72012-02-17 05:59:20 +0100114obj-$(CONFIG_QNX6FS_FS) += qnx6/
Ian Kent2a3ae0a2018-06-07 17:11:31 -0700115obj-$(CONFIG_AUTOFS_FS) += autofs/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700116obj-$(CONFIG_ADFS_FS) += adfs/
Miklos Szeredi04578f12005-09-09 13:10:22 -0700117obj-$(CONFIG_FUSE_FS) += fuse/
Miklos Szeredief94b182014-11-20 16:39:59 +0100118obj-$(CONFIG_OVERLAY_FS) += overlayfs/
Mike Marshall07f01962015-07-17 10:38:17 -0400119obj-$(CONFIG_ORANGEFS_FS) += orangefs/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700120obj-$(CONFIG_UDF_FS) += udf/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/
Bob Copeland63ca8ce2008-07-25 19:45:17 -0700122obj-$(CONFIG_OMFS_FS) += omfs/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123obj-$(CONFIG_JFS_FS) += jfs/
124obj-$(CONFIG_XFS_FS) += xfs/
Eric Van Hensbergen93fa58c2005-09-09 13:04:18 -0700125obj-$(CONFIG_9P_FS) += 9p/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126obj-$(CONFIG_AFS_FS) += afs/
Ryusuke Konishi0c4fb872009-04-06 19:01:41 -0700127obj-$(CONFIG_NILFS2_FS) += nilfs2/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128obj-$(CONFIG_BEFS_FS) += befs/
129obj-$(CONFIG_HOSTFS) += hostfs/
David Howells9ae326a2009-04-03 16:42:41 +0100130obj-$(CONFIG_CACHEFILES) += cachefiles/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131obj-$(CONFIG_DEBUG_FS) += debugfs/
Steven Rostedt (Red Hat)4282d602015-01-20 11:36:55 -0500132obj-$(CONFIG_TRACING) += tracefs/
Mark Fashehb4e40a52005-12-15 14:31:24 -0800133obj-$(CONFIG_OCFS2_FS) += ocfs2/
Chris Mason60582d12008-09-25 12:25:16 -0400134obj-$(CONFIG_BTRFS_FS) += btrfs/
David Teiglandf7825dc2006-01-16 16:43:37 +0000135obj-$(CONFIG_GFS2_FS) += gfs2/
Jaegeuk Kima14d53932012-11-02 17:25:27 +0900136obj-$(CONFIG_F2FS_FS) += f2fs/
Sage Weil9030aaf2009-10-06 11:31:15 -0700137obj-$(CONFIG_CEPH_FS) += ceph/
Tony Luckca01d6d2010-12-28 14:25:21 -0800138obj-$(CONFIG_PSTORE) += pstore/
Matt Flemingd68772b2013-02-08 16:27:24 +0000139obj-$(CONFIG_EFIVAR_FS) += efivarfs/
Gao Xiang47e49372019-08-23 05:36:59 +0800140obj-$(CONFIG_EROFS_FS) += erofs/
Hans de Goede0fd16952019-12-12 15:09:14 +0100141obj-$(CONFIG_VBOXSF_FS) += vboxsf/
Damien Le Moal8dcc1a92019-12-25 16:07:44 +0900142obj-$(CONFIG_ZONEFS_FS) += zonefs/