| 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # |
| 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 | |
| 9 | obj-$(CONFIG_SYSCTL) += sysctls.o |
| 10 | |
| 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 |
| 20 | |
| 21 | ifeq ($(CONFIG_BLOCK),y) |
| 22 | obj-y += buffer.o direct-io.o mpage.o |
| 23 | else |
| 24 | obj-y += no-block.o |
| 25 | endif |
| 26 | |
| 27 | obj-$(CONFIG_PROC_FS) += proc_namespace.o |
| 28 | |
| 29 | obj-y += notify/ |
| 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_FS_DAX) += dax.o |
| 38 | obj-$(CONFIG_FS_ENCRYPTION) += crypto/ |
| 39 | obj-$(CONFIG_FS_VERITY) += verity/ |
| 40 | obj-$(CONFIG_FILE_LOCKING) += locks.o |
| 41 | obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o |
| 42 | obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o |
| 43 | obj-$(CONFIG_BINFMT_SCRIPT) += binfmt_script.o |
| 44 | obj-$(CONFIG_BINFMT_ELF) += binfmt_elf.o |
| 45 | obj-$(CONFIG_COMPAT_BINFMT_ELF) += compat_binfmt_elf.o |
| 46 | obj-$(CONFIG_BINFMT_ELF_FDPIC) += binfmt_elf_fdpic.o |
| 47 | obj-$(CONFIG_BINFMT_FLAT) += binfmt_flat.o |
| 48 | |
| 49 | obj-$(CONFIG_FS_MBCACHE) += mbcache.o |
| 50 | obj-$(CONFIG_FS_POSIX_ACL) += posix_acl.o |
| 51 | obj-$(CONFIG_NFS_COMMON) += nfs_common/ |
| 52 | obj-$(CONFIG_COREDUMP) += coredump.o |
| 53 | obj-$(CONFIG_SYSCTL) += drop_caches.o |
| 54 | |
| 55 | obj-$(CONFIG_FHANDLE) += fhandle.o |
| 56 | obj-y += iomap/ |
| 57 | |
| 58 | obj-y += quota/ |
| 59 | |
| 60 | obj-$(CONFIG_PROC_FS) += proc/ |
| 61 | obj-$(CONFIG_KERNFS) += kernfs/ |
| 62 | obj-$(CONFIG_SYSFS) += sysfs/ |
| 63 | obj-$(CONFIG_CONFIGFS_FS) += configfs/ |
| 64 | obj-y += devpts/ |
| 65 | |
| 66 | obj-$(CONFIG_DLM) += dlm/ |
| 67 | |
| 68 | # Do not add any filesystems before this line |
| 69 | obj-$(CONFIG_NETFS_SUPPORT) += netfs/ |
| 70 | obj-$(CONFIG_FSCACHE) += fscache/ |
| 71 | obj-$(CONFIG_REISERFS_FS) += reiserfs/ |
| 72 | obj-$(CONFIG_EXT4_FS) += ext4/ |
| 73 | # We place ext4 before ext2 so that clean ext3 root fs's do NOT mount using the |
| 74 | # ext2 driver, which doesn't know about journalling! Explicitly request ext2 |
| 75 | # by giving the rootfstype= parameter. |
| 76 | obj-$(CONFIG_EXT2_FS) += ext2/ |
| 77 | obj-$(CONFIG_JBD2) += jbd2/ |
| 78 | obj-$(CONFIG_CRAMFS) += cramfs/ |
| 79 | obj-$(CONFIG_SQUASHFS) += squashfs/ |
| 80 | obj-y += ramfs/ |
| 81 | obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ |
| 82 | obj-$(CONFIG_CODA_FS) += coda/ |
| 83 | obj-$(CONFIG_MINIX_FS) += minix/ |
| 84 | obj-$(CONFIG_FAT_FS) += fat/ |
| 85 | obj-$(CONFIG_EXFAT_FS) += exfat/ |
| 86 | obj-$(CONFIG_BFS_FS) += bfs/ |
| 87 | obj-$(CONFIG_ISO9660_FS) += isofs/ |
| 88 | obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+ |
| 89 | obj-$(CONFIG_HFS_FS) += hfs/ |
| 90 | obj-$(CONFIG_ECRYPT_FS) += ecryptfs/ |
| 91 | obj-$(CONFIG_VXFS_FS) += freevxfs/ |
| 92 | obj-$(CONFIG_NFS_FS) += nfs/ |
| 93 | obj-$(CONFIG_EXPORTFS) += exportfs/ |
| 94 | obj-$(CONFIG_NFSD) += nfsd/ |
| 95 | obj-$(CONFIG_LOCKD) += lockd/ |
| 96 | obj-$(CONFIG_NLS) += nls/ |
| 97 | obj-y += unicode/ |
| 98 | obj-$(CONFIG_SYSV_FS) += sysv/ |
| 99 | obj-$(CONFIG_SMBFS_COMMON) += smbfs_common/ |
| 100 | obj-$(CONFIG_CIFS) += cifs/ |
| 101 | obj-$(CONFIG_SMB_SERVER) += ksmbd/ |
| 102 | obj-$(CONFIG_HPFS_FS) += hpfs/ |
| 103 | obj-$(CONFIG_NTFS_FS) += ntfs/ |
| 104 | obj-$(CONFIG_NTFS3_FS) += ntfs3/ |
| 105 | obj-$(CONFIG_UFS_FS) += ufs/ |
| 106 | obj-$(CONFIG_EFS_FS) += efs/ |
| 107 | obj-$(CONFIG_JFFS2_FS) += jffs2/ |
| 108 | obj-$(CONFIG_UBIFS_FS) += ubifs/ |
| 109 | obj-$(CONFIG_AFFS_FS) += affs/ |
| 110 | obj-$(CONFIG_ROMFS_FS) += romfs/ |
| 111 | obj-$(CONFIG_QNX4FS_FS) += qnx4/ |
| 112 | obj-$(CONFIG_QNX6FS_FS) += qnx6/ |
| 113 | obj-$(CONFIG_AUTOFS_FS) += autofs/ |
| 114 | obj-$(CONFIG_ADFS_FS) += adfs/ |
| 115 | obj-$(CONFIG_FUSE_FS) += fuse/ |
| 116 | obj-$(CONFIG_OVERLAY_FS) += overlayfs/ |
| 117 | obj-$(CONFIG_ORANGEFS_FS) += orangefs/ |
| 118 | obj-$(CONFIG_UDF_FS) += udf/ |
| 119 | obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/ |
| 120 | obj-$(CONFIG_OMFS_FS) += omfs/ |
| 121 | obj-$(CONFIG_JFS_FS) += jfs/ |
| 122 | obj-$(CONFIG_XFS_FS) += xfs/ |
| 123 | obj-$(CONFIG_9P_FS) += 9p/ |
| 124 | obj-$(CONFIG_AFS_FS) += afs/ |
| 125 | obj-$(CONFIG_NILFS2_FS) += nilfs2/ |
| 126 | obj-$(CONFIG_BEFS_FS) += befs/ |
| 127 | obj-$(CONFIG_HOSTFS) += hostfs/ |
| 128 | obj-$(CONFIG_CACHEFILES) += cachefiles/ |
| 129 | obj-$(CONFIG_DEBUG_FS) += debugfs/ |
| 130 | obj-$(CONFIG_TRACING) += tracefs/ |
| 131 | obj-$(CONFIG_OCFS2_FS) += ocfs2/ |
| 132 | obj-$(CONFIG_BTRFS_FS) += btrfs/ |
| 133 | obj-$(CONFIG_GFS2_FS) += gfs2/ |
| 134 | obj-$(CONFIG_F2FS_FS) += f2fs/ |
| 135 | obj-$(CONFIG_CEPH_FS) += ceph/ |
| 136 | obj-$(CONFIG_PSTORE) += pstore/ |
| 137 | obj-$(CONFIG_EFIVAR_FS) += efivarfs/ |
| 138 | obj-$(CONFIG_EROFS_FS) += erofs/ |
| 139 | obj-$(CONFIG_VBOXSF_FS) += vboxsf/ |
| 140 | obj-$(CONFIG_ZONEFS_FS) += zonefs/ |