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
10obj-y :=	open.o read_write.o file_table.o super.o \
11		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
12		ioctl.o readdir.o select.o dcache.o inode.o \
13		attr.o bad_inode.o file.o filesystems.o namespace.o \
14		seq_file.o xattr.o libfs.o fs-writeback.o \
15		pnode.o splice.o sync.o utimes.o d_path.o \
16		stack.o fs_struct.o statfs.o fs_pin.o nsfs.o \
17		fs_types.o fs_context.o fs_parser.o fsopen.o init.o \
18		kernel_read_file.o mnt_idmapping.o remap_range.o pidfs.o
19
20obj-$(CONFIG_BUFFER_HEAD)	+= buffer.o mpage.o
21obj-$(CONFIG_PROC_FS)		+= proc_namespace.o
22obj-$(CONFIG_LEGACY_DIRECT_IO)	+= direct-io.o
23obj-y				+= notify/
24obj-$(CONFIG_EPOLL)		+= eventpoll.o
25obj-y				+= anon_inodes.o
26obj-$(CONFIG_SIGNALFD)		+= signalfd.o
27obj-$(CONFIG_TIMERFD)		+= timerfd.o
28obj-$(CONFIG_EVENTFD)		+= eventfd.o
29obj-$(CONFIG_USERFAULTFD)	+= userfaultfd.o
30obj-$(CONFIG_AIO)               += aio.o
31obj-$(CONFIG_FS_DAX)		+= dax.o
32obj-$(CONFIG_FS_ENCRYPTION)	+= crypto/
33obj-$(CONFIG_FS_VERITY)		+= verity/
34obj-$(CONFIG_FILE_LOCKING)      += locks.o
35obj-$(CONFIG_BINFMT_MISC)	+= binfmt_misc.o
36obj-$(CONFIG_BINFMT_SCRIPT)	+= binfmt_script.o
37obj-$(CONFIG_BINFMT_ELF)	+= binfmt_elf.o
38obj-$(CONFIG_COMPAT_BINFMT_ELF)	+= compat_binfmt_elf.o
39obj-$(CONFIG_BINFMT_ELF_FDPIC)	+= binfmt_elf_fdpic.o
40obj-$(CONFIG_BINFMT_FLAT)	+= binfmt_flat.o
41
42obj-$(CONFIG_FS_STACK)		+= backing-file.o
43obj-$(CONFIG_FS_MBCACHE)	+= mbcache.o
44obj-$(CONFIG_FS_POSIX_ACL)	+= posix_acl.o
45obj-$(CONFIG_NFS_COMMON)	+= nfs_common/
46obj-$(CONFIG_COREDUMP)		+= coredump.o
47obj-$(CONFIG_SYSCTL)		+= drop_caches.o sysctls.o
48
49obj-$(CONFIG_FHANDLE)		+= fhandle.o
50obj-y				+= iomap/
51
52obj-y				+= quota/
53
54obj-$(CONFIG_PROC_FS)		+= proc/
55obj-$(CONFIG_KERNFS)		+= kernfs/
56obj-$(CONFIG_SYSFS)		+= sysfs/
57obj-$(CONFIG_CONFIGFS_FS)	+= configfs/
58obj-y				+= devpts/
59
60obj-$(CONFIG_DLM)		+= dlm/
61 
62# Do not add any filesystems before this line
63obj-$(CONFIG_NETFS_SUPPORT)	+= netfs/
64obj-$(CONFIG_REISERFS_FS)	+= reiserfs/
65obj-$(CONFIG_EXT4_FS)		+= ext4/
66# We place ext4 before ext2 so that clean ext3 root fs's do NOT mount using the
67# ext2 driver, which doesn't know about journalling!  Explicitly request ext2
68# by giving the rootfstype= parameter.
69obj-$(CONFIG_EXT2_FS)		+= ext2/
70obj-$(CONFIG_JBD2)		+= jbd2/
71obj-$(CONFIG_CRAMFS)		+= cramfs/
72obj-$(CONFIG_SQUASHFS)		+= squashfs/
73obj-y				+= ramfs/
74obj-$(CONFIG_HUGETLBFS)		+= hugetlbfs/
75obj-$(CONFIG_CODA_FS)		+= coda/
76obj-$(CONFIG_MINIX_FS)		+= minix/
77obj-$(CONFIG_FAT_FS)		+= fat/
78obj-$(CONFIG_EXFAT_FS)		+= exfat/
79obj-$(CONFIG_BFS_FS)		+= bfs/
80obj-$(CONFIG_ISO9660_FS)	+= isofs/
81obj-$(CONFIG_HFSPLUS_FS)	+= hfsplus/ # Before hfs to find wrapped HFS+
82obj-$(CONFIG_HFS_FS)		+= hfs/
83obj-$(CONFIG_ECRYPT_FS)		+= ecryptfs/
84obj-$(CONFIG_VXFS_FS)		+= freevxfs/
85obj-$(CONFIG_NFS_FS)		+= nfs/
86obj-$(CONFIG_EXPORTFS)		+= exportfs/
87obj-$(CONFIG_NFSD)		+= nfsd/
88obj-$(CONFIG_LOCKD)		+= lockd/
89obj-$(CONFIG_NLS)		+= nls/
90obj-y				+= unicode/
91obj-$(CONFIG_SYSV_FS)		+= sysv/
92obj-$(CONFIG_SMBFS)		+= smb/
93obj-$(CONFIG_HPFS_FS)		+= hpfs/
94obj-$(CONFIG_NTFS3_FS)		+= ntfs3/
95obj-$(CONFIG_UFS_FS)		+= ufs/
96obj-$(CONFIG_EFS_FS)		+= efs/
97obj-$(CONFIG_JFFS2_FS)		+= jffs2/
98obj-$(CONFIG_UBIFS_FS)		+= ubifs/
99obj-$(CONFIG_AFFS_FS)		+= affs/
100obj-$(CONFIG_ROMFS_FS)		+= romfs/
101obj-$(CONFIG_QNX4FS_FS)		+= qnx4/
102obj-$(CONFIG_QNX6FS_FS)		+= qnx6/
103obj-$(CONFIG_AUTOFS_FS)		+= autofs/
104obj-$(CONFIG_ADFS_FS)		+= adfs/
105obj-$(CONFIG_FUSE_FS)		+= fuse/
106obj-$(CONFIG_OVERLAY_FS)	+= overlayfs/
107obj-$(CONFIG_ORANGEFS_FS)       += orangefs/
108obj-$(CONFIG_UDF_FS)		+= udf/
109obj-$(CONFIG_SUN_OPENPROMFS)	+= openpromfs/
110obj-$(CONFIG_OMFS_FS)		+= omfs/
111obj-$(CONFIG_JFS_FS)		+= jfs/
112obj-$(CONFIG_XFS_FS)		+= xfs/
113obj-$(CONFIG_9P_FS)		+= 9p/
114obj-$(CONFIG_AFS_FS)		+= afs/
115obj-$(CONFIG_NILFS2_FS)		+= nilfs2/
116obj-$(CONFIG_BEFS_FS)		+= befs/
117obj-y				+= hostfs/
118obj-$(CONFIG_CACHEFILES)	+= cachefiles/
119obj-$(CONFIG_DEBUG_FS)		+= debugfs/
120obj-$(CONFIG_TRACING)		+= tracefs/
121obj-$(CONFIG_OCFS2_FS)		+= ocfs2/
122obj-$(CONFIG_BTRFS_FS)		+= btrfs/
123obj-$(CONFIG_GFS2_FS)           += gfs2/
124obj-$(CONFIG_F2FS_FS)		+= f2fs/
125obj-$(CONFIG_BCACHEFS_FS)	+= bcachefs/
126obj-$(CONFIG_CEPH_FS)		+= ceph/
127obj-$(CONFIG_PSTORE)		+= pstore/
128obj-$(CONFIG_EFIVAR_FS)		+= efivarfs/
129obj-$(CONFIG_EROFS_FS)		+= erofs/
130obj-$(CONFIG_VBOXSF_FS)		+= vboxsf/
131obj-$(CONFIG_ZONEFS_FS)		+= zonefs/
132