1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for the Linux filesystems.
5 # 14 Sep 2000, Christoph Hellwig <hch@infradead.org>
6 # Rewritten to use lists instead of if-statements.
9 obj-$(CONFIG_SYSCTL) += sysctls.o
11 obj-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 \
13 ioctl.o readdir.o select.o dcache.o inode.o \
14 attr.o bad_inode.o file.o filesystems.o namespace.o \
15 seq_file.o xattr.o libfs.o fs-writeback.o \
16 pnode.o splice.o sync.o utimes.o d_path.o \
17 stack.o fs_struct.o statfs.o fs_pin.o nsfs.o \
18 fs_types.o fs_context.o fs_parser.o fsopen.o init.o \
19 kernel_read_file.o remap_range.o
21 ifeq ($(CONFIG_BLOCK),y)
22 obj-y += buffer.o direct-io.o mpage.o
27 obj-$(CONFIG_PROC_FS) += proc_namespace.o
30 obj-$(CONFIG_EPOLL) += eventpoll.o
31 obj-y += anon_inodes.o
32 obj-$(CONFIG_SIGNALFD) += signalfd.o
33 obj-$(CONFIG_TIMERFD) += timerfd.o
34 obj-$(CONFIG_EVENTFD) += eventfd.o
35 obj-$(CONFIG_USERFAULTFD) += userfaultfd.o
36 obj-$(CONFIG_AIO) += aio.o
37 obj-$(CONFIG_IO_URING) += io_uring.o
38 obj-$(CONFIG_IO_WQ) += io-wq.o
39 obj-$(CONFIG_FS_DAX) += dax.o
40 obj-$(CONFIG_FS_ENCRYPTION) += crypto/
41 obj-$(CONFIG_FS_VERITY) += verity/
42 obj-$(CONFIG_FILE_LOCKING) += locks.o
43 obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o
44 obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o
45 obj-$(CONFIG_BINFMT_SCRIPT) += binfmt_script.o
46 obj-$(CONFIG_BINFMT_ELF) += binfmt_elf.o
47 obj-$(CONFIG_COMPAT_BINFMT_ELF) += compat_binfmt_elf.o
48 obj-$(CONFIG_BINFMT_ELF_FDPIC) += binfmt_elf_fdpic.o
49 obj-$(CONFIG_BINFMT_FLAT) += binfmt_flat.o
51 obj-$(CONFIG_FS_MBCACHE) += mbcache.o
52 obj-$(CONFIG_FS_POSIX_ACL) += posix_acl.o
53 obj-$(CONFIG_NFS_COMMON) += nfs_common/
54 obj-$(CONFIG_COREDUMP) += coredump.o
55 obj-$(CONFIG_SYSCTL) += drop_caches.o
57 obj-$(CONFIG_FHANDLE) += fhandle.o
62 obj-$(CONFIG_PROC_FS) += proc/
63 obj-$(CONFIG_KERNFS) += kernfs/
64 obj-$(CONFIG_SYSFS) += sysfs/
65 obj-$(CONFIG_CONFIGFS_FS) += configfs/
68 obj-$(CONFIG_DLM) += dlm/
70 # Do not add any filesystems before this line
71 obj-$(CONFIG_NETFS_SUPPORT) += netfs/
72 obj-$(CONFIG_FSCACHE) += fscache/
73 obj-$(CONFIG_REISERFS_FS) += reiserfs/
74 obj-$(CONFIG_EXT4_FS) += ext4/
75 # 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.
78 obj-$(CONFIG_EXT2_FS) += ext2/
79 obj-$(CONFIG_JBD2) += jbd2/
80 obj-$(CONFIG_CRAMFS) += cramfs/
81 obj-$(CONFIG_SQUASHFS) += squashfs/
83 obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
84 obj-$(CONFIG_CODA_FS) += coda/
85 obj-$(CONFIG_MINIX_FS) += minix/
86 obj-$(CONFIG_FAT_FS) += fat/
87 obj-$(CONFIG_EXFAT_FS) += exfat/
88 obj-$(CONFIG_BFS_FS) += bfs/
89 obj-$(CONFIG_ISO9660_FS) += isofs/
90 obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+
91 obj-$(CONFIG_HFS_FS) += hfs/
92 obj-$(CONFIG_ECRYPT_FS) += ecryptfs/
93 obj-$(CONFIG_VXFS_FS) += freevxfs/
94 obj-$(CONFIG_NFS_FS) += nfs/
95 obj-$(CONFIG_EXPORTFS) += exportfs/
96 obj-$(CONFIG_NFSD) += nfsd/
97 obj-$(CONFIG_LOCKD) += lockd/
98 obj-$(CONFIG_NLS) += nls/
100 obj-$(CONFIG_SYSV_FS) += sysv/
101 obj-$(CONFIG_SMBFS_COMMON) += smbfs_common/
102 obj-$(CONFIG_CIFS) += cifs/
103 obj-$(CONFIG_SMB_SERVER) += ksmbd/
104 obj-$(CONFIG_HPFS_FS) += hpfs/
105 obj-$(CONFIG_NTFS_FS) += ntfs/
106 obj-$(CONFIG_NTFS3_FS) += ntfs3/
107 obj-$(CONFIG_UFS_FS) += ufs/
108 obj-$(CONFIG_EFS_FS) += efs/
109 obj-$(CONFIG_JFFS2_FS) += jffs2/
110 obj-$(CONFIG_UBIFS_FS) += ubifs/
111 obj-$(CONFIG_AFFS_FS) += affs/
112 obj-$(CONFIG_ROMFS_FS) += romfs/
113 obj-$(CONFIG_QNX4FS_FS) += qnx4/
114 obj-$(CONFIG_QNX6FS_FS) += qnx6/
115 obj-$(CONFIG_AUTOFS_FS) += autofs/
116 obj-$(CONFIG_ADFS_FS) += adfs/
117 obj-$(CONFIG_FUSE_FS) += fuse/
118 obj-$(CONFIG_OVERLAY_FS) += overlayfs/
119 obj-$(CONFIG_ORANGEFS_FS) += orangefs/
120 obj-$(CONFIG_UDF_FS) += udf/
121 obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/
122 obj-$(CONFIG_OMFS_FS) += omfs/
123 obj-$(CONFIG_JFS_FS) += jfs/
124 obj-$(CONFIG_XFS_FS) += xfs/
125 obj-$(CONFIG_9P_FS) += 9p/
126 obj-$(CONFIG_AFS_FS) += afs/
127 obj-$(CONFIG_NILFS2_FS) += nilfs2/
128 obj-$(CONFIG_BEFS_FS) += befs/
129 obj-$(CONFIG_HOSTFS) += hostfs/
130 obj-$(CONFIG_CACHEFILES) += cachefiles/
131 obj-$(CONFIG_DEBUG_FS) += debugfs/
132 obj-$(CONFIG_TRACING) += tracefs/
133 obj-$(CONFIG_OCFS2_FS) += ocfs2/
134 obj-$(CONFIG_BTRFS_FS) += btrfs/
135 obj-$(CONFIG_GFS2_FS) += gfs2/
136 obj-$(CONFIG_F2FS_FS) += f2fs/
137 obj-$(CONFIG_CEPH_FS) += ceph/
138 obj-$(CONFIG_PSTORE) += pstore/
139 obj-$(CONFIG_EFIVAR_FS) += efivarfs/
140 obj-$(CONFIG_EROFS_FS) += erofs/
141 obj-$(CONFIG_VBOXSF_FS) += vboxsf/
142 obj-$(CONFIG_ZONEFS_FS) += zonefs/