
A_INC_PARAM       = $(addprefix -I, $(subst $(CURDIR)/,./,$(C_INCLUDES)))
C_INC_PARAM       = $(addprefix -I, $(subst $(CURDIR)/,./,$(C_INCLUDES)))

A_DEF_PARAM       = $(addprefix -D, $(C_DEFINES))
C_DEF_PARAM       = $(addprefix -D, $(C_DEFINES))

DEPFLAGS          = -MMD                                       \
                    -MF                                        \
                    $(PATH_TMP_NAME_OBJ)/$(basename $(@F)).d

# BUILD RULES
RULE_SHOW_COMPILER_VERSION_CMD        = $(CC) --version
RULE_SHOW_COMPILATION_ERRORS_CMD      = $(SED) --text "s|:\([0-9]*\):\([0-9]*\):|(\1,\2) :|" $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err

RULE_COMPILE_C_TO_ASM_CMD             =
RULE_COMPILE_C_TO_PRE_CMD             =
RULE_COMPILE_CPP_TO_PRE_CMD           =

RULE_COMPILE_C_TO_OBJ_CMD             = $(CC) $(CFLAGS_DEFAULT) $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_COMPILE_C_TO_OBJ_CMD_VARIANT_1   = $(CC) $(CFLAGS_NOWARN)  $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_COMPILE_C_TO_OBJ_CMD_VARIANT_2   = $(CC) $(CFLAGS_DEBUG)   $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_COMPILE_C_TO_OBJ_CMD_VARIANT_3   = $(CC) $(CFLAGS_NOWARN)  $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_COMPILE_C_TO_OBJ_CMD_VARIANT_4   = $(CC) $(CFLAGS_DEFAULT) $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err

RULE_COMPILE_CPP_TO_OBJ_CMD           = $(CC) $(CPPFLAGS)       $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_COMPILE_CPP_TO_OBJ_CMD_VARIANT_1 = $(CC) $(CPPFLAGS)       $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_COMPILE_CPP_TO_OBJ_CMD_VARIANT_2 = $(CC) $(CPPFLAGS)       $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_COMPILE_CPP_TO_OBJ_CMD_VARIANT_3 = $(CC) $(CPPFLAGS)       $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_COMPILE_CPP_TO_OBJ_CMD_VARIANT_4 = $(CC) $(CPPFLAGS)       $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@ $(DEPFLAGS) 2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err

RULE_ASSEMBLE_ASM_TO_OBJ_CMD          = $(AS) $(AFLAGS)         $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) -list=$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst -c $< -o $@             2> $(PATH_TMP_NAME_ERR)/$(basename $(@F)).err
RULE_GENERATE_C_DEPENDENCY_FILE       =
RULE_GENERATE_CPP_DEPENDENCY_FILE     =
RULE_MOVE_PREPRO_FILE                 =
RULE_MOVE_LIST_FILE                   = if exist $(basename $(@F)).lst @$(MV) $(basename $(@F)).lst  $(subst /,\,$(PATH_TMP_NAME_LST)/$(basename $(@F)).lst)
