| ############################################################################### |
| # Defines $(ASR_GLOBAL_DEFINES) (among other things) that specify a build. |
| # |
| # !!! NOTE: This file must be kept synchronized with builddef.h |
| # !!! Also the values of $(ASR_OPTIMIZE), $(ASR_PROFILE), & $(ASR_TRACE) must |
| # !!! be compatible with the corresponding values in buildddef.h |
| # |
| # Required macros set in macros.mak: |
| # $(ASR_OS) The name of the operating system. |
| # $(ASR_CPU) The name of the CPU architecture. |
| # $(ASR_COMPILER) The name of the compiler. |
| # $(ASR_BUILD) A string that defines what type of build to perform. |
| # $(ASR_UI) The name of the type of user interface. |
| # |
| # The important macros defined herein are: |
| # * $(ASR_GLOBAL_DEFINES)The compiler defines based on the values of: |
| # $(ASR_OS), $(ASR_CPU), $(ASR_COMPILER), $(ASR_BUILD), & $(ASR_UI). |
| # * $(ASR_SUB_DIR) The object, library, & binary sub-directory name. |
| # * $(ASR_OPTIMIZE) Used by $(ASR_COMPILER_CHAR)flags.mak to enable optimization. |
| # * $(ASR_PROFILE) Used by $(ASR_COMPILER_CHAR)flags.mak to enable profiling. |
| # * $(ASR_TRACE) Used by $(ASR_COMPILER_CHAR)flags.mak to enable tracing. |
| # |
| # Other macros incidentally valid on exit: |
| # * $(ASR_OS_TYPE) Value corresponding to the type of operating system. |
| # $(ASR_CPU_TYPE) Value corresponding to the type of CPU architecture. |
| # $(ASR_COMPILER_TYPE)Value corresponding to the type of compiler. |
| # * $(ASR_BUILD_TYPE) Value corresponding to the type of build to perform. |
| # $(ASR_UI_TYPE) Value corresponding to the type of user interface. |
| # $(ASR_OS_CHAR) Character corresponding to the type of operating system. |
| # $(ASR_CPU_CHARS) Characters corresponding to the type of CPU architecture. |
| # * $(ASR_COMPILER_CHAR)Character corresponding to the type of compiler. |
| # $(ASR_BUILD_CHAR) Character corresponding to the type of build to perform. |
| # $(ASR_OS_MSDOS) Value associated with $(ASR_OS_CHAR) = D. |
| # $(ASR_OS_WIN32) Value associated with $(ASR_OS_CHAR) = W. |
| # $(ASR_OS_MAC) Value associated with $(ASR_OS_CHAR) = M. |
| # $(ASR_OS_UNIX) Value associated with $(ASR_OS_CHAR) = U. |
| # $(ASR_OS_EMBEDDED) Value associated with $(ASR_OS_CHAR) = E. |
| # $(ASR_OS_VXWORKS) Value associated with $(ASR_OS_CHAR) = V. |
| # $(ASR_OS_QNX) Value associated with $(ASR_OS_CHAR) = Q. |
| # $(ASR_OS_PSOS) Value associated with $(ASR_OS_CHAR) = S. |
| # $(ASR_OS_WINCE) Value associated with $(ASR_OS_CHAR) = C. |
| # $(ASR_OS_PALM) Value associated with $(ASR_OS_CHAR) = P. |
| # $(ASR_OS_JAVA) Value associated with $(ASR_OS_CHAR) = J. |
| # $(ASR_CPU_I86) Value associated with $(ASR_CPU_CHARS) = IN. |
| # $(ASR_CPU_68K) Value associated with $(ASR_CPU_CHARS) = MO. |
| # $(ASR_CPU_MIPS) Value associated with $(ASR_CPU_CHARS) = MI. |
| # $(ASR_CPU_ALPHA) Value associated with $(ASR_CPU_CHARS) = AL. |
| # $(ASR_CPU_PPC) Value associated with $(ASR_CPU_CHARS) = PP. |
| # $(ASR_CPU_SPARC) Value associated with $(ASR_CPU_CHARS) = SP. |
| # $(ASR_CPU_ARM) Value associated with $(ASR_CPU_CHARS) = AR. |
| # $(ASR_CPU_STRONGARM)Value associated with $(ASR_CPU_CHARS) = SA. |
| # $(ASR_CPU_TMS320X) Value associated with $(ASR_CPU_CHARS) = TI. |
| # $(ASR_CPU_SH3) Value associated with $(ASR_CPU_CHARS) = HI. |
| # $(ASR_CPU_SH4) Value associated with $(ASR_CPU_CHARS) = HI. |
| # $(ASR_CPU_FAMILY_TMS320C30)Value associated with $(ASR_CPU_FAMILY) = 3. |
| # $(ASR_CPU_FAMILY_TMS320C40)Value associated with $(ASR_CPU_FAMILY) = 4. |
| # $(ASR_CPU_FAMILY_TMS320C2XX)Value associated with $(ASR_CPU_FAMILY) = 2. |
| # $(ASR_CPU_FAMILY_TMS320C54X)Value associated with $(ASR_CPU_FAMILY) = 5. |
| # $(ASR_C_BORLAND) Value associated with $(ASR_COMPILER_CHAR) = B. |
| # $(ASR_C_MICROSOFT) Value associated with $(ASR_COMPILER_CHAR) = M. |
| # $(ASR_C_HIGH) Value associated with $(ASR_COMPILER_CHAR) = H. |
| # $(ASR_C_INTEL) Value associated with $(ASR_COMPILER_CHAR) = I. |
| # $(ASR_C_ZORTECH) Value associated with $(ASR_COMPILER_CHAR) = Z. |
| # $(ASR_C_WATCOM) Value associated with $(ASR_COMPILER_CHAR) = W. |
| # $(ASR_C_GNU) Value associated with $(ASR_COMPILER_CHAR) = G. |
| # $(ASR_C_SUNPRO) Value associated with $(ASR_COMPILER_CHAR) = S. |
| # $(ASR_C_DECCXX) Value associated with $(ASR_COMPILER_CHAR) = D. |
| # $(ASR_C_METROWERKS) Value associated with $(ASR_COMPILER_CHAR) = C. |
| # $(ASR_C_GHS) Value associated with $(ASR_COMPILER_CHAR) = X. |
| # $(ASR_C_TICXC) Value associated with $(ASR_COMPILER_CHAR) = T. |
| # $(ASR_C_ARM) Value associated with $(ASR_COMPILER_CHAR) = A. |
| # $(ASR_BUILD_SHIP) Value associated with $(ASR_BUILD_CHAR) = S. |
| # $(ASR_BUILD_INHOUSE)Value associated with $(ASR_BUILD_CHAR) = I. |
| # $(ASR_BUILD_DEBUGO) Value associated with $(ASR_BUILD_CHAR) = G. |
| # $(ASR_BUILD_DEBUG) Value associated with $(ASR_BUILD_CHAR) = X. |
| # $(ASR_BUILD_PROFILE)Value associated with $(ASR_BUILD_CHAR) = P. |
| # $(ASR_BUILD_TRACE) Value associated with $(ASR_BUILD_CHAR) = L. |
| # |
| # !!! NOTE: Should these UI macros be used? |
| # |
| # $(ASR_UI_NONE) |
| # $(ASR_UI_TTY) |
| # $(ASR_UI_GUI) |
| # |
| # Optional (for certain values of $(ASR_CPU)) macros used herein: |
| # $(ASR_CPU_FAMILY) OPTIONAL single-character name of the $(ASR_CPU) family. |
| # |
| # Optional (for certain values of $(ASR_CPU)) macros defined herein: |
| # * $(ASR_CPU_FAMILY_TYPE)For OPTIONAL CPU-specifics in $(ASR_COMPILER_CHAR)flags.mak. |
| # |
| # * Used outside of this makefile. All macros with the suffix ``_TYPE'' |
| # used outside of this makefile can be &ed with macros with the |
| # corresponding prefix. Threfore it is implied that those macros are |
| # also available outside of this makefile. |
| ############################################################################### |
| |
| # Makefile.config configures the ASR build. Include this first! |
| include $(ASR_MAKE_DIR)/Makefile.config |
| |
| # Makefile.common contains settings available to all ASR modules |
| include $(ASR_MAKE_DIR)/Makefile.common |
| |
| # Define $(ASR_OS_*), $(ASR_CPU_*), $(ASR_COMPILER_*), $(ASR_BUILD_*) & $(ASR_UI_*) values. |
| |
| # OS |
| |
| ASR_OS_MSDOS = 1 |
| ASR_OS_WIN32 = 2 |
| ASR_OS_MAC = 4 |
| ASR_OS_UNIX = 8 |
| ASR_OS_EMBEDDED = 16 |
| ASR_OS_VXWORKS = 32 |
| ASR_OS_PSOS = 64 |
| ASR_OS_WINCE = 128 |
| ASR_OS_PALM = 256 |
| ASR_OS_JAVA = 512 |
| ASR_OS_QNX = 1024 |
| |
| # CPU |
| |
| ASR_CPU_I86 = 1 |
| ASR_CPU_68K = 2 |
| ASR_CPU_MIPS = 4 |
| ASR_CPU_ALPHA = 8 |
| ASR_CPU_PPC = 16 |
| ASR_CPU_SPARC = 32 |
| ASR_CPU_ARM = 64 |
| ASR_CPU_STRONGARM = 128 |
| ASR_CPU_TMS320X = 256 |
| ASR_CPU_SH3 = 512 |
| ASR_CPU_SH4 = 1024 |
| |
| # Used only by TFLAGS.MAK. |
| |
| ASR_CPU_FAMILY_TMS320C30 = 1 |
| ASR_CPU_FAMILY_TMS320C40 = 2 |
| ASR_CPU_FAMILY_TMS320C2XX = 4 |
| ASR_CPU_FAMILY_TMS320C54X = 8 |
| |
| # COMPILER |
| |
| ASR_C_BORLAND = 1 |
| ASR_C_MICROSOFT = 2 |
| ASR_C_INTEL = 4 |
| ASR_C_HIGH = 8 |
| ASR_C_ZORTECH = 16 |
| ASR_C_WATCOM = 32 |
| ASR_C_GNU = 64 |
| ASR_C_SUNPRO = 128 |
| ASR_C_DECCXX = 256 |
| ASR_C_METROWERKS = 512 |
| ASR_C_GHS = 1024 |
| ASR_C_TICXC = 2048 |
| ASR_C_ARM = 4096 |
| ASR_C_DIABDATA = 8192 |
| |
| # BUILD (must be synchronized with vcc_helper.h included by buildopt.h) |
| |
| ASR_BUILD_SHIP = 1 |
| ASR_BUILD_INHOUSE = 2 |
| ASR_BUILD_DEBUGO = 4 |
| ASR_BUILD_DEBUG = 8 |
| ASR_BUILD_PROFILE = 16 |
| ASR_BUILD_TRACE = 32 |
| |
| ASR_OFF = 0 |
| |
| # UI |
| |
| ASR_UI_NONE = 1 |
| ASR_UI_TTY = 2 |
| ASR_UI_GUI = 4 |
| |
| ######################################################################## |
| # |
| # Define $(ASR_*_TYPE) and $(ASR_*_CHAR[S]) to be used to define $(ASR_GLOBAL_DEFINES) |
| # and $(ASR_SUB_DIR). |
| |
| ################################## OS ################################## |
| |
| ifeq ("$(ASR_OS)","MSDOS") |
| ASR_OS_TYPE = $(ASR_OS_MSDOS) |
| |
| else # same as OS = "Windows_NT" |
| ifeq ("$(ASR_OS)","WIN32") |
| ASR_OS_TYPE = $(ASR_OS_WIN32) |
| |
| else # same as OS = "WIN32" |
| ifeq ("$(ASR_OS)","Windows_NT") |
| ASR_OS_TYPE = $(ASR_OS_WIN32) |
| |
| else |
| ifeq ("$(ASR_OS)","MAC") |
| ASR_OS_TYPE = $(ASR_OS_MAC) |
| |
| else |
| ifeq ("$(ASR_OS)","UNIX") |
| ASR_OS_TYPE = $(ASR_OS_UNIX) |
| |
| else |
| ifeq ("$(ASR_OS)","EMBEDDED") |
| ASR_OS_TYPE = $(ASR_OS_EMBEDDED) |
| |
| else |
| ifeq ("$(ASR_OS)","VXWORKS") |
| ASR_OS_TYPE = $(ASR_OS_VXWORKS) |
| |
| else |
| ifeq ("$(ASR_OS)","PSOS") |
| ASR_OS_TYPE = $(ASR_OS_PSOS) |
| |
| else |
| ifeq ("$(ASR_OS)","Wince") |
| ASR_OS_TYPE = $(ASR_OS_WINCE) |
| |
| else |
| ifeq ("$(ASR_OS)","PALM") |
| ASR_OS_TYPE = $(ASR_OS_PALM) |
| |
| else |
| ifeq ("$(ASR_OS)","JAVA") |
| ASR_OS_TYPE = $(ASR_OS_JAVA) |
| |
| else |
| ifeq ("$(ASR_OS)","QNX") |
| ASR_OS_TYPE = $(ASR_OS_QNX) |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,'Failed to select operating system with $$(ASR_OS) == "$(ASR_$(ASR_OS))"') |
| ASR_OS_TYPE = ASR_BAD_OS |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| |
| ################################## HOST_OS ################################## |
| |
| ifeq ("$(ASR_HOST_OS)","MSDOS") |
| ASR_HOST_OS_TYPE = $(ASR_OS_MSDOS) |
| |
| else # same as OS = "Windows_NT" |
| ifeq ("$(ASR_HOST_OS)","WIN32") |
| ASR_HOST_OS_TYPE = $(ASR_OS_WIN32) |
| |
| else # same as OS = "WIN32" |
| ifeq ("$(ASR_HOST_OS)","Windows_NT") |
| ASR_HOST_OS_TYPE = $(ASR_OS_WIN32) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","MAC") |
| ASR_HOST_OS_TYPE = $(ASR_OS_MAC) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","UNIX") |
| ASR_HOST_OS_TYPE = $(ASR_OS_UNIX) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","EMBEDDED") |
| ASR_HOST_OS_TYPE = $(ASR_OS_EMBEDDED) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","VXWORKS") |
| ASR_HOST_OS_TYPE = $(ASR_OS_VXWORKS) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","PSOS") |
| ASR_HOST_OS_TYPE = $(ASR_OS_PSOS) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","Wince") |
| ASR_HOST_OS_TYPE = $(ASR_OS_WINCE) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","PALM") |
| ASR_HOST_OS_TYPE = $(ASR_OS_PALM) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","JAVA") |
| ASR_HOST_OS_TYPE = $(ASR_OS_JAVA) |
| |
| else |
| ifeq ("$(ASR_HOST_OS)","QNX") |
| ASR_HOST_OS_TYPE = $(ASR_OS_QNX) |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,'Failed to select operating system with $$(ASR_HOST_OS) == "$(ASR_HOST_OS)"') |
| ASR_HOST_OS_TYPE = ASR_BAD_OS |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| ################################## TARGET_OS ################################## |
| |
| ifeq ("$(ASR_TARGET_OS)","MSDOS") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_MSDOS) |
| |
| else # same as OS = "Windows_NT" |
| ifeq ("$(ASR_TARGET_OS)","WIN32") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_WIN32) |
| |
| else # same as OS = "WIN32" |
| ifeq ("$(ASR_TARGET_OS)","Windows_NT") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_WIN32) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","MAC") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_MAC) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","UNIX") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_UNIX) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","EMBEDDED") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_EMBEDDED) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","VXWORKS") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_VXWORKS) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","PSOS") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_PSOS) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","Wince") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_WINCE) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","PALM") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_PALM) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","JAVA") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_JAVA) |
| |
| else |
| ifeq ("$(ASR_TARGET_OS)","QNX") |
| ASR_TARGET_OS_TYPE = $(ASR_OS_QNX) |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,'Failed to select operating system with $$(ASR_TARGET_OS) == "$(ASR_TARGET_OS)"') |
| ASR_TARGET_OS_TYPE = ASR_BAD_OS |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| ################################## CPU ################################# |
| |
| ifeq ("$(ASR_CPU)","I86") |
| ASR_CPU_TYPE = $(ASR_CPU_I86) |
| ASR_CPU_CHARS = in |
| |
| else |
| ifeq ("$(ASR_CPU)", "SIMNT") |
| ASR_CPU_TYPE = $(ASR_CPU_I86) |
| ASR_CPU_CHARS = in |
| |
| else |
| ifeq ("$(ASR_CPU)","68K") |
| ASR_CPU_TYPE = $(ASR_CPU_68K) |
| ASR_CPU_CHARS = mo |
| |
| else |
| ifeq ("$(ASR_CPU)","MIPS") |
| ASR_CPU_TYPE = $(ASR_CPU_MIPS) |
| ASR_CPU_CHARS = mi |
| |
| else |
| ifeq ("$(ASR_CPU)","ALPHA") |
| ASR_CPU_TYPE = $(ASR_CPU_ALPHA) |
| ASR_CPU_CHARS = al |
| |
| else |
| ifeq ("$(ASR_CPU)","PPC") |
| ASR_CPU_TYPE = $(ASR_CPU_PPC) |
| ASR_CPU_CHARS = pp |
| |
| else |
| ifeq ("$(ASR_CPU)","SPARC") |
| ASR_CPU_TYPE = $(ASR_CPU_SPARC) |
| ASR_CPU_CHARS = pp |
| |
| else |
| ifeq ("$(ASR_CPU)","ARM") |
| ASR_CPU_TYPE = $(ASR_CPU_ARM) |
| ASR_CPU_CHARS = ar |
| |
| else |
| ifeq ("$(ASR_CPU)","STRONGARM") |
| ASR_CPU_TYPE = $(ASR_CPU_STRONGARM) |
| ASR_CPU_CHARS = sa |
| |
| else |
| ifeq ("$(ASR_CPU)","TMS320X") |
| ASR_CPU_TYPE = $(ASR_CPU_TMS320X) |
| ASR_CPU_CHARS = ti |
| |
| ifndef CPU_FAMILY |
| CPU_FAMILY_TYPE = 0 |
| MESSAGE += \ |
| $(subst $(space),|,'$$(ASR_CPU_FAMILY_TYPE) defaulted to "$(ASR_CPU_FAMILY_TYPE)"') |
| |
| else |
| ASR_CPU_CHARS = T$(ASR_CPU_FAMILY) |
| |
| ifeq ("$(ASR_CPU_FAMILY)","3") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C30) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","4") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C40) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","2") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C2XX) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","5") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C54X) |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,\ |
| 'Failed to select CPU family with $$(ASR_CPU_FAMILY) == "$(ASR_CPU_FAMILY)"') |
| ASR_CPU_FAMILY_TYPE=ASR_BAD_CPU_FAMILY |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| else |
| ifeq ("$(ASR_CPU)","SH3") |
| ASR_CPU_TYPE = $(ASR_CPU_SH3) |
| ASR_CPU_CHARS = hi |
| |
| else |
| ifeq ("$(ASR_CPU)","SH4") |
| ASR_CPU_TYPE = $(ASR_CPU_SH4) |
| ASR_CPU_CHARS = hi |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,\ |
| 'Failed to select CPU architecture with $$(ASR_CPU) == "$(ASR_$(ASR_CPU))"') |
| ASR_CPU_TYPE = ASR_BAD_CPU |
| ASR_CPU_CHARS = ASR_BAD_CPU |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| ################################## HOST_CPU ################################# |
| |
| ifeq ("$(ASR_HOST_CPU)","I86") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_I86) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","68K") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_68K) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","MIPS") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_MIPS) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","ALPHA") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_ALPHA) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","PPC") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_PPC) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","SPARC") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_SPARC) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","ARM") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_ARM) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","STRONGARM") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_STRONGARM) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","TMS320X") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_TMS320X) |
| |
| ifndef CPU_FAMILY |
| ASR_CPU_FAMILY_TYPE = 0 |
| MESSAGE += \ |
| $(subst $(space),|,'$$(ASR_CPU_FAMILY_TYPE) defaulted to "$(ASR_CPU_FAMILY_TYPE)"') |
| |
| else |
| |
| ifeq ("$(ASR_CPU_FAMILY)","3") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C30) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","4") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C40) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","2") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C2XX) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","5") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C54X) |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,\ |
| 'Failed to select CPU family with $$(ASR_CPU_FAMILY) == "$(ASR_CPU_FAMILY)"') |
| ASR_CPU_FAMILY_TYPE=ASR_BAD_CPU_FAMILY |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","SH3") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_SH3) |
| |
| else |
| ifeq ("$(ASR_HOST_CPU)","SH4") |
| ASR_HOST_CPU_TYPE = $(ASR_CPU_SH4) |
| |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,\ |
| 'Failed to select CPU architecture with $$(ASR_HOST_CPU) == "$(ASR_HOST_CPU)"') |
| ASR_HOST_CPU_TYPE = ASR_BAD_CPU |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| ################################## TARGET_CPU ################################# |
| |
| ifeq ("$(ASR_TARGET_CPU)","I86") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_I86) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","68K") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_68K) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","MIPS") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_MIPS) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","ALPHA") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_ALPHA) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","PPC") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_PPC) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","SPARC") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_SPARC) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","ARM") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_ARM) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","STRONGARM") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_STRONGARM) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","TMS320X") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_TMS320X) |
| |
| ifndef CPU_FAMILY |
| ASR_CPU_FAMILY_TYPE = 0 |
| MESSAGE += \ |
| $(subst $(space),|,'$$(ASR_CPU_FAMILY_TYPE) defaulted to "$(ASR_CPU_FAMILY_TYPE)"') |
| |
| else |
| |
| ifeq ("$(ASR_CPU_FAMILY)","3") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C30) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","4") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C40) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","2") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C2XX) |
| |
| else |
| ifeq ("$(ASR_CPU_FAMILY)","5") |
| ASR_CPU_FAMILY_TYPE = $(ASR_CPU_FAMILY_TMS320C54X) |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,\ |
| 'Failed to select CPU family with $$(ASR_CPU_FAMILY) == "$(ASR_CPU_FAMILY)"') |
| ASR_CPU_FAMILY_TYPE=ASR_BAD_CPU_FAMILY |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","SH3") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_SH3) |
| |
| else |
| ifeq ("$(ASR_TARGET_CPU)","SH4") |
| ASR_TARGET_CPU_TYPE = $(ASR_CPU_SH4) |
| |
| else |
| |
| ERROR += \ |
| $(subst $(space),|,\ |
| 'Failed to select CPU architecture with $$(ASR_TARGET_CPU) == "$(ASR_TARGET_CPU)"') |
| ASR_TARGET_CPU_TYPE = ASR_BAD_CPU |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| |
| ############################### COMPILER ############################### |
| # |
| # $(ASR_COMPILER_CHAR) is also used to select which flags makefile to include. |
| |
| ifeq ("$(ASR_COMPILER)","BORLAND") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_BORLAND) |
| |
| else # same as COMPILER = "M$$" |
| ifeq ("$(ASR_COMPILER)","MS") |
| ASR_COMPILER_TYPE = $(ASR_C_MICROSOFT) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","INTEL") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_INTEL) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","HIGH") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_HIGH) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","ZORTECH") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_ZORTECH) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","WATCOM") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_WATCOM) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","GNU") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_GNU) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","SUNPRO") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_SUNPRO) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","DECCXX") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_DECCXX) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","METROWERKS") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_METROWERKS) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","GHS") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_GHS) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","TICXC") # !!! NOT SURE WHAT STRING TO USE !!! |
| ASR_COMPILER_TYPE = $(ASR_C_TICXC) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","ARM") # !!! NOT ANY PARTICULAR COMPILER !!! |
| ASR_COMPILER_TYPE = $(ASR_C_ARM) |
| |
| else |
| ifeq ("$(ASR_COMPILER)","DIABDATA") # !!! NOT ANY PARTICULAR COMPILER !!! |
| ASR_COMPILER_TYPE = $(ASR_C_DIABDATA) |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,\ |
| 'Failed to select compiler with $$(ASR_COMPILER) == "$(ASR_COMPILER)"') |
| ASR_COMPILER_TYPE = ASR_BAD_COMPILER |
| ASR_COMPILER_CHAR = ASR_BAD_COMPILER |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| ################################# BUILD ################################ |
| # |
| # Define OPTIMIZE, PROFILE, and TRACE for use in $(ASR_COMPILER_CHAR)flags.mak. |
| # These values must be compatible with the corresponding ones in builddef.h. |
| |
| ASR_OPTIMIZE = $(ASR_OFF) |
| ASR_PROFILE = $(ASR_OFF) |
| ASR_TRACE = $(ASR_OFF) |
| |
| # # BUILD CHAR OPTIMIZE PROFILE TRACE |
| # ---- ---- -------- ------- ----- |
| ifeq ("$(ASR_BUILD)","SHIP") # SHIP `S' OPTIMIZE |
| ASR_BUILD_TYPE = $(ASR_BUILD_SHIP) |
| ASR_BUILD_CHAR = s |
| ASR_OPTIMIZE = $(ASR_BUILD_TYPE) |
| |
| else |
| ifeq ("$(ASR_BUILD)","NDEBUG") # SHIP `S' OPTIMIZE |
| ASR_BUILD_TYPE = $(ASR_BUILD_SHIP) |
| ASR_BUILD_CHAR = s |
| ASR_OPTIMIZE = $(ASR_BUILD_TYPE) |
| |
| else |
| ifeq ("$(ASR_BUILD)","INHOUSE") # INHOUSE `I' OPTIMIZE |
| ASR_BUILD_TYPE = $(ASR_BUILD_INHOUSE) |
| ASR_BUILD_CHAR = i |
| ASR_OPTIMIZE = $(ASR_BUILD_TYPE) |
| |
| else |
| ifeq ("$(ASR_BUILD)","DEBUGO") # DEBUG `G' OPTIMIZE |
| ASR_BUILD_TYPE = $(ASR_BUILD_DEBUGO) |
| ASR_BUILD_CHAR = g |
| ASR_OPTIMIZE = $(ASR_BUILD_TYPE) |
| |
| else |
| ifeq ("$(ASR_BUILD)","DEBUG") # DEBUG `X' |
| ASR_BUILD_TYPE = $(ASR_BUILD_DEBUG) |
| ASR_BUILD_CHAR = x |
| |
| else |
| ifeq ("$(ASR_BUILD)","PROFILE") # INHOUSE `P' OPTIMIZE PROFILE |
| ASR_BUILD_TYPE = $(ASR_BUILD_PROFILE) |
| ASR_BUILD_CHAR = p |
| ASR_OPTIMIZE = $(ASR_BUILD_TYPE) |
| ASR_PROFILE = $(ASR_BUILD_TYPE) |
| |
| else |
| ifeq ("$(ASR_BUILD)","TRACE") # INHOUSE `L' OPTIMIZE TRACE |
| ASR_BUILD_TYPE = $(ASR_BUILD_TRACE) |
| ASR_BUILD_CHAR = l |
| ASR_OPTIMIZE = $(ASR_BUILD_TYPE) |
| ASR_TRACE = $(ASR_BUILD_TYPE) |
| |
| else |
| ERROR += \ |
| $(subst $(space),|,'Failed to select build type with $$(ASR_BUILD) == "$(ASR_BUILD)"') |
| ASR_BUILD_TYPE = ASR_BAD_BUILD |
| ASR_BUILD_CHAR = ASR_BAD_BUILD |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| endif |
| |
| ################################# UI ################################# |
| # |
| # !!! NOT USED !!! |
| |
| ###################################################################### |
| # |
| # Finally define the macros of interest. |
| |
| ASR_GLOBAL_DEFINES = \ |
| -DOS_UNIX=$(ASR_OS_UNIX) \ |
| -DOS_EMBEDDED=$(ASR_OS_EMBEDDED) \ |
| -DOS_VXWORKS=$(ASR_OS_VXWORKS) \ |
| -DOS_PSOS=$(ASR_OS_PSOS) \ |
| -DOS_QNX=$(ASR_OS_QNX) \ |
| -DOS=$(ASR_OS_TYPE) \ |
| -DHOST_OS=$(ASR_HOST_OS_TYPE) \ |
| -DTARGET_OS=$(ASR_TARGET_OS_TYPE) \ |
| -DCPU_PPC=$(ASR_CPU_PPC) \ |
| -DCPU_SPARC=$(ASR_CPU_SPARC) \ |
| -DCPU_ARM=$(ASR_CPU_ARM) \ |
| -DCPU_STRONGARM=$(ASR_CPU_STRONGARM) \ |
| -DCPU_TMS320X=$(ASR_CPU_TMS320X) \ |
| -DCPU_SH3=$(ASR_CPU_SH3) \ |
| -DCPU_SH4=$(ASR_CPU_SH4) \ |
| -DCPU=$(ASR_CPU_TYPE) \ |
| -DHOST_CPU=$(ASR_HOST_CPU_TYPE) \ |
| -DTARGET_CPU=$(ASR_TARGET_CPU_TYPE) \ |
| -DC_GNU=$(ASR_C_GNU) \ |
| -DC_SUNPRO=$(ASR_C_SUNPRO) \ |
| -DC_METROWERKS=$(ASR_C_METROWERKS) \ |
| -DC_TICXC=$(ASR_C_TICXC) \ |
| -DC_ARM=$(ASR_C_ARM) \ |
| -DCOMPILER=$(ASR_COMPILER_TYPE) \ |
| -DBUILD_SHIP=$(ASR_BUILD_SHIP) \ |
| -DBUILD_DEBUG=$(ASR_BUILD_DEBUG) \ |
| -DBUILD=$(ASR_BUILD_TYPE) \ |
| |
| # Include these from Makefile.common |
| ASR_GLOBAL_DEFINES += $(ASR_COMMON_DEFINES) $(ASR_WORKAROUND_DEFINES) |
| |
| # OS specific defines |
| ifeq ($(ASR_TARGET_OS),UNIX) |
| ASR_GLOBAL_DEFINES += -DPOSIX -D__linux |
| endif |
| |
| |
| # BUILD specific defines and flags |
| ASR_GLOBAL_CPPFLAGS = |
| |
| ifeq ($(ASR_BUILD),SHIP) |
| ASR_GLOBAL_DEFINES += -DNDEBUG -D_SHIP -DFINAL_RELEASE |
| #ASR_GLOBAL_CPPFLAGS += -O3 -fno-strict-aliasing |
| endif |
| |
| ifeq ($(ASR_BUILD),NDEBUG) |
| ASR_GLOBAL_DEFINES += -DNDEBUG |
| #ASR_GLOBAL_CPPFLAGS += |
| endif |
| |
| ifeq ($(ASR_BUILD),INHOUSE) |
| ASR_GLOBAL_DEFINES += -D_INHOUSE |
| #ASR_GLOBAL_CPPFLAGS += -g3 |
| endif |
| |
| ifeq ($(ASR_BUILD),DEBUGO) |
| ASR_GLOBAL_DEFINES += -D_DEBUG |
| #ASR_GLOBAL_CPPFLAGS += -g |
| endif |
| |
| ifeq ($(ASR_BUILD),DEBUG) |
| ASR_GLOBAL_DEFINES += -D_DEBUG |
| #ASR_GLOBAL_CPPFLAGS += -g |
| endif |
| |
| ifneq ($(ASR_OPTIMIZE),$(ASR_OFF)) |
| ASR_GLOBAL_DEFINES += -D_OPTIMIZE |
| #ASR_GLOBAL_CPPFLAGS += -O3 |
| endif |
| |
| ifneq ($(ASR_PROFILE),$(ASR_OFF)) |
| ASR_GLOBAL_DEFINES += -D_PROFILE |
| #ASR_GLOBAL_CPPFLAGS += -g3 |
| endif |
| |
| ifneq ($(ASR_TRACE),$(ASR_OFF)) |
| ASR_GLOBAL_DEFINES += -D_TRACE |
| #ASR_GLOBAL_CPPFLAGS += |
| endif |