
ifeq ($(DCXO), yes)
LIBPS_PATH=$(LIB_DIR)/libps/$(RF_TYPE)_$(MODEM_TYPE)_dcxo
else
LIBPS_PATH=$(LIB_DIR)/libps/$(RF_TYPE)_$(MODEM_TYPE)
endif

libps_libs =
libps_libs_lto = 
libps_libs_nolto =
ifneq ($(USE_CPPS_KO),yes)
libps_libs_nolto +=  $(LIBPS_PATH)/appstart/appstart.o
endif


libps_libs_nolto += $(LIBPS_PATH)/appstart/appstart.a
libps_libs_nolto +=  $(wildcard $(LIBPS_PATH)/gsml1/*.a)

ifeq ($(USE_ENABLE_LTO),yes)
	libps_libs_lto += $(wildcard $(LIBPS_PATH)/plat/*.o)
	libps_libs_lto += $(wildcard $(LIBPS_PATH)/drv/*.o)
	libps_libs_nolto += $(LIBPS_PATH)/drv/audio_process.a
	libps_libs_lto += $(wildcard $(LIBPS_PATH)/phy/*.o)
	libps_libs_lto += $(wildcard $(LIBPS_PATH)/tools/*.o)
	libps_libs_lto +=  $(wildcard $(LIBPS_PATH)/amt/*.o)
	libps_libs_lto +=  $(wildcard $(LIBPS_PATH)/ref/*.o)
	libps_libs_lto += $(wildcard $(LIBPS_PATH)/ps/*.o)
	libps_libs_lto +=  $(wildcard $(LIBPS_PATH)/psbase/*.o)
	libps_libs_lto +=  $(wildcard $(LIBPS_PATH)/usat/*.o)
else
	libps_libs_nolto += $(wildcard $(LIBPS_PATH)/plat/*.a)
	libps_libs_nolto += $(wildcard $(LIBPS_PATH)/drv/*.a)
	libps_libs_nolto += $(wildcard $(LIBPS_PATH)/phy/*.a)
	libps_libs_nolto += $(wildcard $(LIBPS_PATH)/tools/*.a)
	libps_libs_nolto +=  $(wildcard $(LIBPS_PATH)/amt/*.a)
	libps_libs_nolto +=  $(wildcard $(LIBPS_PATH)/ref/*.a)
	libps_libs_nolto += $(wildcard $(LIBPS_PATH)/ps/*.a)
	libps_libs_nolto +=  $(wildcard $(LIBPS_PATH)/psbase/*.a)
	libps_libs_nolto +=  $(wildcard $(LIBPS_PATH)/usat/*.a)
endif
ifeq ($(USE_OPTEE),yes)
libps_libs_nolto +=  $(wildcard $(LIBPS_PATH)/optee/*.a)
endif
libps_libs_nolto += $(CROSS_COMPILE_LIB_KERNEL)

libps_libs += $(libps_libs_nolto) 
libps_libs += $(libps_libs_lto)

ifeq ($(USE_ENABLE_LTO),yes)

LTO_CFLAGS = -flto -fno-toplevel-reorder
# $(DISABLE_TL_REORDER)
LTO_FINAL_CFLAGS := -fuse-linker-plugin

# would be needed to support < 5.0
LTO_FINAL_CFLAGS += -fno-toplevel-reorder

LTO_FINAL_CFLAGS += -flto=jobserver

# don't compile everything twice
# requires plugin ar
LTO_CFLAGS += -fno-fat-lto-objects

# Used to disable LTO for specific files (e.g. vdso)
DISABLE_LTO = -fno-lto

# shut up lots of warnings for the compat syscalls
#LTO_CFLAGS += $(call cc-disable-warning,attribute-alias,)

LTO_FINAL_CFLAGS += $(LTO_CFLAGS) -fwhole-program

# most options are passed through implicitely in the LTO
# files per function, but not all.
# should not pass any that may need to be disabled for
# individual files.
#LTO_FINAL_CFLAGS += $(filter -pg,${KBUILD_CFLAGS})
LTO_FINAL_CFLAGS += -fno-strict-aliasing

#ifdef CONFIG_LTO_DEBUG
#LTO_FINAL_CFLAGS += -fdump-ipa-cgraph -fdump-ipa-inline-details
# add for debugging compiler crashes:
# LTO_FINAL_CFLAGS += -dH -save-temps
#endif
#ifdef CONFIG_LTO_CP_CLONE
#LTO_FINAL_CFLAGS += -fipa-cp-clone
#LTO_CFLAGS += -fipa-cp-clone
#endif

else

LTO_CFLAGS =
DISABLE_LTO =
LTO_FINAL_CFLAGS =

endif

CPKO_EXT_CFLAGS =
KERNEL_EXT_CFLAGS =

ifeq ($(USE_TestHarness),yes)
CPKO_EXT_CFLAGS   += -D_USE_TestHarness
endif

ifeq ($(USE_VOICE_SUPPORT),yes)
CPKO_EXT_CFLAGS += -DUSE_VOICE_SUPPORT
endif

ifeq ($(LIBC_TYPE),glibc)
CPKO_EXT_CFLAGS += -DUSE_GLIBC
endif

ifeq ($(CONFIG_SINGLECORE),yes)
KERNEL_EXT_CFLAGS   += -DCONFIG_SINGLECORE
endif

ifeq ($(CONFIG_MEMCHECK),yes)
KERNEL_EXT_CFLAGS   += -DCONFIG_MEM_CHECK
endif

ifeq ($(CONFIG_KLOCWORK),yes)
KERNEL_EXT_CFLAGS   += -DCONFIG_KLOCWORK
endif

ifeq ($(USE_CAP_SYS),yes)
KERNEL_EXT_CFLAGS   += -D_USE_CAP_SYS
endif
ifeq ($(USE_CAP_SYS),no)
KERNEL_EXT_CFLAGS   += -DDDR_BASE_LEN_CAP=0
KERNEL_EXT_CFLAGS   += -DDDR_BASE_LEN_CAP_BUF=0
endif

ifeq ($(USE_VEHICLE_DC),yes)
KERNEL_EXT_CFLAGS   += -D_USE_VEHICLE_DC
endif

ifeq ($(USE_VEHICLE_DC_REF),yes)
KERNEL_EXT_CFLAGS   += -D_USE_VEHICLE_DC_REF
#jb.qi add for wifi config on 20240301 start
#KERNEL_EXT_CFLAGS   += -D_USE_VEHICLE_DC_REF_MMC0
#jb.qi add for wifi config on 20240301 end
endif

KERNEL_EXT_CFLAGS   += -DDDR_BASE_ADDR_LINUX_VA

ifeq ($(USE_BTRUNK_SUPPORT),yes)
KERNEL_EXT_CFLAGS   += -DBTRUNK_SUPPORT
endif

KERNEL_EXT_CFLAGS += $(CPKO_EXT_CFLAGS)

ifeq ($(USE_ZCAT_MBIM),yes)
KERNEL_EXT_CFLAGS   += -D_USE_MBIM
endif

ifeq ($(DCXO),yes)
KERNEL_EXT_CFLAGS   += -DRFC_DCXO_EN
endif

ifeq ($(RF_TYPE),220A1)
KERNEL_EXT_CFLAGS   += -D_USE_RF_ZTE220A1
endif

ifeq ($(RF_TYPE),230A)
KERNEL_EXT_CFLAGS   += -D_USE_RF_ZTE230A
endif

ifeq ($(USE_DSDS_VSIM),yes)
KERNEL_EXT_CFLAGS   += -DUSE_DSDS_VSIM
endif

ifeq ($(USE_ZXIC_DEBUG_INFO),yes)
KERNEL_EXT_CFLAGS   += -D_USE_ZXIC_DEBUG_INFO
endif

ifeq ($(MODEM_TYPE),lte_only)
KERNEL_EXT_CFLAGS   += -D_USE_LTE_ONLY
endif

KERNEL_EXT_CFLAGS += -I$(PUB_ROOT_DIR)/include/infra

ifeq ($(ALSA_CODEC_IN_CAP),yes)
KERNEL_EXT_CFLAGS += -D_ALSA_CODEC_IN_CAP
endif
