xref: /OK3568_Linux_fs/kernel/arch/um/scripts/Makefile.rules (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun# ===========================================================================
3*4882a593Smuzhiyun# arch/um: Generic definitions
4*4882a593Smuzhiyun# ===========================================================================
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunUSER_SINGLE_OBJS := \
7*4882a593Smuzhiyun	$(foreach f,$(patsubst %.o,%,$(obj-y) $(obj-m)),$($(f)-objs))
8*4882a593SmuzhiyunUSER_OBJS += $(filter %_user.o,$(obj-y) $(obj-m)  $(USER_SINGLE_OBJS))
9*4882a593SmuzhiyunUSER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file))
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun$(USER_OBJS:.o=.%): \
12*4882a593Smuzhiyun	c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) -include $(srctree)/include/linux/kern_levels.h -include user.h $(CFLAGS_$(basetarget).o)
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun# These are like USER_OBJS but filter USER_CFLAGS through unprofile instead of
15*4882a593Smuzhiyun# using it directly.
16*4882a593SmuzhiyunUNPROFILE_OBJS := $(foreach file,$(UNPROFILE_OBJS),$(obj)/$(file))
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun$(UNPROFILE_OBJS:.o=.%): \
19*4882a593Smuzhiyun	c_flags = -Wp,-MD,$(depfile) $(call unprofile,$(USER_CFLAGS)) $(CFLAGS_$(basetarget).o)
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun$(USER_OBJS) $(UNPROFILE_OBJS): \
22*4882a593Smuzhiyun	CHECKFLAGS := $(patsubst $(NOSTDINC_FLAGS),,$(CHECKFLAGS))
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun# The stubs can't try to call mcount or update basic block data
25*4882a593Smuzhiyundefine unprofile
26*4882a593Smuzhiyun	$(patsubst -pg,,$(patsubst -fprofile-arcs -ftest-coverage,,$(1)))
27*4882a593Smuzhiyunendef
28