Files
vxWorks/h/make/defs.memory
2025-08-20 18:25:46 +08:00

91 lines
2.5 KiB
Plaintext

# defs.memory - memory oriented build definitions
#
# Copyright 2004 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01a,02jul04,fle written
# DESCRIPTION
# This build definition file sets the ADRS_MACROS and ADRS_DEFINE build macros.
#
# The ADRS_MACROS build macro list the build macros the kernel configuration
# tool will have to get from cdf files, and write in the kernel configuration
# Makefile.
#
# The ADRS_DEFINE build macros is part of the CC_DEFINES, and is passed to the
# compilers as a definition macro
#
# TREE
# This file is included by :
#
# $(TGT_DIR)/h/make/rules.memory
#
# SEE ALSO: vxprj
# default values for some later comparisons
DEFAULT_ADJUST_VMA = 0
DEFAULT_VMA_START = 0
DEFAULT_DATA_SEG_ALIGN = 1
ADRS_MACROS += RAM_LOW_ADRS RAM_HIGH_ADRS LOCAL_MEM_LOCAL_ADRS \
ADJUST_VMA DATA_SEG_ALIGN
ADRS_DEFINE =
# the addresses may be defined with 0x values, or just hex value without
# the leading 0x, we should make sure ADRS_DEFINE does not add extra 0x when it
# is not required
# LOCAL_MEM_LOCAL_ADRS should be given to the compilers
ifdef LOCAL_MEM_LOCAL_ADRS
ifneq ($(findstring 0x, $(LOCAL_MEM_LOCAL_ADRS)),)
ADRS_DEFINE += $(OPTION_DEFINE_MACRO)LOCAL_MEM_LOCAL_ADRS=$(LOCAL_MEM_LOCAL_ADRS)
else
ADRS_DEFINE += $(OPTION_DEFINE_MACRO)LOCAL_MEM_LOCAL_ADRS=0x$(LOCAL_MEM_LOCAL_ADRS)
endif
endif
# RAM_LOW_ADRS should be given to the compilers
ifdef RAM_LOW_ADRS
ifneq ($(findstring 0x, $(RAM_LOW_ADRS)),)
ADRS_DEFINE += $(OPTION_DEFINE_MACRO)RAM_LOW_ADRS=$(RAM_LOW_ADRS)
else
ADRS_DEFINE += $(OPTION_DEFINE_MACRO)RAM_LOW_ADRS=0x$(RAM_LOW_ADRS)
endif
endif
# RAM_HIGH_ADRS should be given to the compilers
ifdef RAM_HIGH_ADRS
ifneq ($(findstring 0x, $(RAM_HIGH_ADRS)),)
ADRS_DEFINE += $(OPTION_DEFINE_MACRO)RAM_HIGH_ADRS=$(RAM_HIGH_ADRS)
else
ADRS_DEFINE += $(OPTION_DEFINE_MACRO)RAM_HIGH_ADRS=0x$(RAM_HIGH_ADRS)
endif
endif
# DATA_SEG_ALIGN is not meant to be given to the compiler, just the linker
# scripts
ifdef DATA_SEG_ALIGN
ifneq ($(findstring 0x, $(DATA_SEG_ALIGN)),)
LD_DATA_SEG_ALIGN = $(strip $(LD_DATA_SEG_ALIGN_FLAG))=$(DATA_SEG_ALIGN)
else
LD_DATA_SEG_ALIGN = $(strip $(LD_DATA_SEG_ALIGN_FLAG))=0x$(DATA_SEG_ALIGN)
endif
else
DATA_SEG_ALIGN = $(DEFAULT_DATA_SEG_ALIGN)
LD_DATA_SEG_ALIGN = $(strip $(LD_DATA_SEG_ALIGN_FLAG))=$(DATA_SEG_ALIGN)
endif
# ADJUST_VMA is used only if it is different from the DEFAULT_ADJUST_VMA.
# If it is not set yet, just set it to DEFAULT_ADJUST_VMA
ifndef ADJUST_VMA
ADJUST_VMA = $(DEFAULT_ADJUST_VMA)
endif