# ******************************************************************************
# (C) Automotive-Lighting Reutlingen GmbH  -  ALRT/EEG
#     Tuebinger Strasse 123, 72762 Reutlingen, Germany
# ******************************************************************************

# ------------------------------------------------------------------------------
# file   CustVarBuild_070_Link.gmk
#
# \brief customer variant type build type make linker step
#
# ------------------------------------------------------------------------------

# ------------------------------------------------------------------------------
# Define local tools for converting and extracting symbols from ELF to M51 for RDM.
# ------------------------------------------------------------------------------

AL_ELF_TO_RDM_NAME    = ALElfToRdm.exe
AL_ELF_TO_RDM         = $(PATH_TOOLS_AL)/ALElfToRdm/$(AL_ELF_TO_RDM_NAME)
AL_ELF_TO_RDM_OBJDUMP = $(PATH_TOOLS_AL)/ALElfToRdm/arm-none-eabi-objdump.exe

# ------------------------------------------------------------------------------
# Link object files for target
# ------------------------------------------------------------------------------

FILES_LD     = $(ENV_MAKE_CUST_VAR)/$(TYP_PRJ)_$(TYP_VAR)_$(TYP_CC)_LinkerScript.$(SUFFIX_LDF)

#generate MISRA Compliance Report (MCR) if CFLAGS_OPT_MISRAC is not blank
ifeq ($(CFLAGS_OPT_MISRAC),)
	LD_MISRA_REPORT =
else
	LD_MISRA_REPORT =--misra-c-report=$(FILE_BIN_NAME).mcr
endif

LinkObjectFiles : $(FILES_TMP_OBJ) $(FILES_LD)
	@$(GNUECHO) +++ linking application: $(FILE_BIN_NAME).$(SUFFIX_ABS)
	@$(GNUECHO) > $(FILE_BIN_NAME).$(SUFFIX_LCF)
	@FOR %%A IN ($(subst \,/,$(FILES_TMP_OBJ))) DO echo %%A >> $(FILE_BIN_NAME).$(SUFFIX_LCF)
	@-$(LD) $(LDFLAGS) $(C_DEF_PARAM) $(LD_MISRA_REPORT) --option-file=$(FILE_BIN_NAME).$(SUFFIX_LCF) --map-file=$(FILE_BIN_NAME).map --lsl-file=$(FILES_LD) --output=$(FILE_BIN_NAME).$(SUFFIX_ABS):ELF -Wl--output=$(FILE_BIN_NAME).$(SUFFIX_HEX):IHEX
	@$(GNUECHO) +++ end link
