138c8a9a5SSteve French# SPDX-License-Identifier: GPL-2.0 238c8a9a5SSteve French# 338c8a9a5SSteve French# Makefile for Linux CIFS/SMB2/SMB3 VFS client 438c8a9a5SSteve French# 538c8a9a5SSteve Frenchccflags-y += -I$(src) # needed for trace events 638c8a9a5SSteve Frenchobj-$(CONFIG_CIFS) += cifs.o 738c8a9a5SSteve French 838c8a9a5SSteve Frenchcifs-y := trace.o cifsfs.o cifs_debug.o connect.o dir.o file.o \ 938c8a9a5SSteve French inode.o link.o misc.o netmisc.o smbencrypt.o transport.o \ 1038c8a9a5SSteve French cached_dir.o cifs_unicode.o cifsencrypt.o \ 1138c8a9a5SSteve French readdir.o ioctl.o sess.o export.o unc.o winucase.o \ 1238c8a9a5SSteve French smb2ops.o smb2maperror.o smb2transport.o \ 1338c8a9a5SSteve French smb2misc.o smb2pdu.o smb2inode.o smb2file.o cifsacl.o fs_context.o \ 14348a04a8SPaulo Alcantara dns_resolve.o cifs_spnego_negtokeninit.asn1.o asn1.o \ 15c520ba75SPaulo Alcantara namespace.o reparse.o 1638c8a9a5SSteve French 1738c8a9a5SSteve French$(obj)/asn1.o: $(obj)/cifs_spnego_negtokeninit.asn1.h 1838c8a9a5SSteve French 1938c8a9a5SSteve French$(obj)/cifs_spnego_negtokeninit.asn1.o: $(obj)/cifs_spnego_negtokeninit.asn1.c $(obj)/cifs_spnego_negtokeninit.asn1.h 2038c8a9a5SSteve French 2138c8a9a5SSteve Frenchcifs-$(CONFIG_CIFS_XATTR) += xattr.o 2238c8a9a5SSteve French 2338c8a9a5SSteve Frenchcifs-$(CONFIG_CIFS_UPCALL) += cifs_spnego.o 2438c8a9a5SSteve French 25348a04a8SPaulo Alcantaracifs-$(CONFIG_CIFS_DFS_UPCALL) += dfs_cache.o dfs.o 2638c8a9a5SSteve French 2738c8a9a5SSteve Frenchcifs-$(CONFIG_CIFS_SWN_UPCALL) += netlink.o cifs_swn.o 2838c8a9a5SSteve French 2938c8a9a5SSteve Frenchcifs-$(CONFIG_CIFS_FSCACHE) += fscache.o 3038c8a9a5SSteve French 3138c8a9a5SSteve Frenchcifs-$(CONFIG_CIFS_SMB_DIRECT) += smbdirect.o 3238c8a9a5SSteve French 3338c8a9a5SSteve Frenchcifs-$(CONFIG_CIFS_ROOT) += cifsroot.o 3438c8a9a5SSteve French 35b09eab52SDavid Howellscifs-$(CONFIG_CIFS_ALLOW_INSECURE_LEGACY) += \ 36b09eab52SDavid Howells cifssmb.o \ 37e5ac3ff6SDavid Howells smb1debug.o \ 38b6fe9237SDavid Howells smb1encrypt.o \ 396fb4e46dSDavid Howells smb1maperror.o \ 403739f6d2SDavid Howells smb1misc.o \ 41b09eab52SDavid Howells smb1ops.o \ 42dec5a519SDavid Howells smb1session.o \ 43b09eab52SDavid Howells smb1transport.o 44d14bbfffSSteve French 45d14bbfffSSteve Frenchcifs-$(CONFIG_CIFS_COMPRESSION) += compress.o compress/lz77.o 46c527e13aSDavid Howells 47c527e13aSDavid Howellsifneq ($(CONFIG_CIFS_ALLOW_INSECURE_LEGACY),) 48c527e13aSDavid Howells# 49c527e13aSDavid Howells# Build the SMB1 error mapping tables from nterr.h and smberr.h 50c527e13aSDavid Howells# 51*34420cb9SHuiwen Hesmb1-gen-y := smb1_mapping_table.c \ 52*34420cb9SHuiwen He smb1_err_dos_map.c \ 53c527e13aSDavid Howells smb1_err_srv_map.c 54c527e13aSDavid Howells 55c527e13aSDavid Howells$(obj)/smb1_mapping_table.c: $(src)/nterr.h $(src)/gen_smb1_mapping FORCE 56c527e13aSDavid Howells $(call if_changed,gen_smb1_mapping) 57c527e13aSDavid Howells 58c527e13aSDavid Howells$(obj)/smb1_err_%.c: $(src)/smberr.h $(src)/gen_smb1_mapping FORCE 597d0bf050SChenXiaoSong $(call if_changed,gen_smb1_mapping) 607d0bf050SChenXiaoSong 61*34420cb9SHuiwen He$(obj)/smb1maperror.o: $(addprefix $(obj)/, $(smb1-gen-y)) 62*34420cb9SHuiwen He 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