xref: /linux/fs/smb/client/Makefile (revision 58ac796bb3c0f7b8295046404629724b68b40fa0)
1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for Linux CIFS/SMB2/SMB3 VFS client
4#
5ccflags-y += -I$(src)		# needed for trace events
6obj-$(CONFIG_CIFS) += cifs.o
7
8cifs-y := trace.o cifsfs.o cifs_debug.o connect.o dir.o file.o \
9	  inode.o link.o misc.o netmisc.o smbencrypt.o transport.o \
10	  cached_dir.o cifs_unicode.o cifsencrypt.o \
11	  readdir.o ioctl.o sess.o export.o unc.o winucase.o \
12	  smb2ops.o smb2maperror.o smb2transport.o \
13	  smb2misc.o smb2pdu.o smb2inode.o smb2file.o cifsacl.o fs_context.o \
14	  dns_resolve.o cifs_spnego_negtokeninit.asn1.o asn1.o \
15	  namespace.o reparse.o
16
17$(obj)/asn1.o: $(obj)/cifs_spnego_negtokeninit.asn1.h
18
19$(obj)/cifs_spnego_negtokeninit.asn1.o: $(obj)/cifs_spnego_negtokeninit.asn1.c $(obj)/cifs_spnego_negtokeninit.asn1.h
20
21cifs-$(CONFIG_CIFS_XATTR) += xattr.o
22
23cifs-$(CONFIG_CIFS_UPCALL) += cifs_spnego.o
24
25cifs-$(CONFIG_CIFS_DFS_UPCALL) += dfs_cache.o dfs.o
26
27cifs-$(CONFIG_CIFS_SWN_UPCALL) += netlink.o cifs_swn.o
28
29cifs-$(CONFIG_CIFS_FSCACHE) += fscache.o
30
31cifs-$(CONFIG_CIFS_SMB_DIRECT) += smbdirect.o
32
33cifs-$(CONFIG_CIFS_ROOT) += cifsroot.o
34
35cifs-$(CONFIG_CIFS_ALLOW_INSECURE_LEGACY) += \
36	cifssmb.o \
37	smb1debug.o \
38	smb1encrypt.o \
39	smb1maperror.o \
40	smb1misc.o \
41	smb1ops.o \
42	smb1session.o \
43	smb1transport.o
44
45cifs-$(CONFIG_CIFS_COMPRESSION) += compress.o compress/lz77.o
46
47ifneq ($(CONFIG_CIFS_ALLOW_INSECURE_LEGACY),)
48#
49# Build the SMB1 error mapping tables from nterr.h and smberr.h
50#
51smb1-gen-y := smb1_mapping_table.c \
52	      smb1_err_dos_map.c \
53	      smb1_err_srv_map.c
54
55$(obj)/smb1_mapping_table.c: $(src)/nterr.h $(src)/gen_smb1_mapping FORCE
56	$(call if_changed,gen_smb1_mapping)
57
58$(obj)/smb1_err_%.c: $(src)/smberr.h $(src)/gen_smb1_mapping FORCE
59	$(call if_changed,gen_smb1_mapping)
60
61$(obj)/smb1maperror.o: $(addprefix $(obj)/, $(smb1-gen-y))
62
63quiet_cmd_gen_smb1_mapping = GEN     $@
64      cmd_gen_smb1_mapping = perl $(src)/gen_smb1_mapping $< $@
65endif
66
67#
68# Build the SMB2 error mapping table from smb2status.h
69#
70$(obj)/smb2_mapping_table.c: $(src)/../common/smb2status.h \
71			     $(src)/gen_smb2_mapping FORCE
72	$(call if_changed,gen_smb2_mapping)
73
74$(obj)/smb2maperror.o: $(obj)/smb2_mapping_table.c
75
76quiet_cmd_gen_smb2_mapping = GEN     $@
77      cmd_gen_smb2_mapping = perl $(src)/gen_smb2_mapping $< $@
78
79obj-$(CONFIG_SMB1_KUNIT_TESTS) += smb1maperror_test.o
80obj-$(CONFIG_SMB_KUNIT_TESTS) += smb2maperror_test.o
81
82# Let Kbuild handle tracking and cleaning
83targets += smb2_mapping_table.c $(smb1-gen-y)
84