1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for the Linux nfs server
4#
5
6ccflags-y += -I$(src)			# needed for trace events
7
8obj-$(CONFIG_NFSD)	+= nfsd.o
9
10# this one should be compiled first, as the tracing macros can easily blow up
11nfsd-y			+= trace.o
12
13nfsd-y 			+= nfssvc.o nfsctl.o nfsfh.o vfs.o \
14			   export.o auth.o lockd.o nfscache.o \
15			   stats.o filecache.o nfs3proc.o nfs3xdr.o \
16			   netlink.o
17nfsd-$(CONFIG_NFSD_V2) += nfsproc.o nfsxdr.o
18nfsd-$(CONFIG_NFSD_V2_ACL) += nfs2acl.o
19nfsd-$(CONFIG_NFSD_V3_ACL) += nfs3acl.o
20nfsd-$(CONFIG_NFSD_V4)	+= nfs4proc.o nfs4xdr.o nfs4state.o nfs4idmap.o \
21			   nfs4acl.o nfs4callback.o nfs4recover.o nfs4xdr_gen.o
22nfsd-$(CONFIG_NFSD_PNFS) += nfs4layouts.o
23nfsd-$(CONFIG_NFSD_BLOCKLAYOUT) += blocklayout.o blocklayoutxdr.o
24nfsd-$(CONFIG_NFSD_SCSILAYOUT) += blocklayout.o blocklayoutxdr.o
25nfsd-$(CONFIG_NFSD_FLEXFILELAYOUT) += flexfilelayout.o flexfilelayoutxdr.o
26nfsd-$(CONFIG_NFS_LOCALIO) += localio.o
27
28
29.PHONY: xdrgen
30
31xdrgen: ../../include/linux/sunrpc/xdrgen/nfs4_1.h nfs4xdr_gen.h nfs4xdr_gen.c
32
33../../include/linux/sunrpc/xdrgen/nfs4_1.h: ../../Documentation/sunrpc/xdr/nfs4_1.x
34	../../tools/net/sunrpc/xdrgen/xdrgen definitions $< > $@
35
36nfs4xdr_gen.h: ../../Documentation/sunrpc/xdr/nfs4_1.x
37	../../tools/net/sunrpc/xdrgen/xdrgen declarations $< > $@
38
39nfs4xdr_gen.c: ../../Documentation/sunrpc/xdr/nfs4_1.x
40	../../tools/net/sunrpc/xdrgen/xdrgen source $< > $@
41