DEFINE RVCT31_TOOLS_PATH = c:/Program Files/ARM/RVCT/Programs/3.1/761/win_32-pentium\r
DEFINE RVCT31CYGWIN_TOOLS_PATH = /cygdrive/c/Program Files/ARM/RVCT/Programs/3.1/761/win_32-pentium\r
\r
-# Update to the location of the gcc executables\r
-DEFINE ARMGCC_BIN = /\r
+DEFINE SOURCERY_TOOLS = c:/Program Files/CodeSourcery/Sourcery G++ Lite/bin\r
+DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin\r
\r
####################################################################################\r
#\r
*_UNIXGCC_*_MAKE_PATH = make\r
*_UNIXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)\r
\r
-*_UNIXGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS)\r
-*_UNIXGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS)\r
+*_UNIXGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0\r
+*_UNIXGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0\r
*_UNIXGCC_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)\r
*_UNIXGCC_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)\r
*_UNIXGCC_*_ASM_FLAGS = DEF(GCC_ASM_FLAGS)\r
*_CYGGCC_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe\r
*_CYGGCC_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)\r
\r
-*_CYGGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS)\r
-*_CYGGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS)\r
+*_CYGGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0\r
+*_CYGGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0\r
*_CYGGCC_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)\r
*_CYGGCC_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)\r
*_CYGGCC_*_MAKE_FLAGS = /nologo\r
*_CYGGCC_IA32_ASLPP_PATH = DEF(CYGWIN_BINIA32)gcc\r
*_CYGGCC_IA32_ASLDLINK_PATH = DEF(CYGWIN_BINIA32)ld\r
*_CYGGCC_IA32_RC_PATH = DEF(CYGWIN_BINIA32)objcopy\r
-*_CYGGCC_IA32_OBJECT_PATH = DEF(CYGWIN_BINIA32)objcopy\r
+*_CYGGCC_IA32_OBJCOPY_PATH = DEF(CYGWIN_BINIA32)objcopy\r
\r
*_CYGGCC_IA32_CC_FLAGS = DEF(GCC_IA32_CC_FLAGS)\r
*_CYGGCC_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)\r
+*_CYGGCC_IA32_OBJCOPY_FLAGS =\r
\r
##################\r
# X64 definitions\r
*_CYGGCC_X64_ASLPP_PATH = DEF(CYGWIN_BINX64)gcc\r
*_CYGGCC_X64_ASLDLINK_PATH = DEF(CYGWIN_BINX64)ld\r
*_CYGGCC_X64_RC_PATH = DEF(CYGWIN_BINX64)objcopy\r
-*_CYGGCC_X64_OBJECT_PATH = DEF(CYGWIN_BINX64)objcopy\r
+*_CYGGCC_X64_OBJCOPY_PATH = DEF(CYGWIN_BINX64)objcopy\r
\r
*_CYGGCC_X64_CC_FLAGS = DEF(GCC_X64_CC_FLAGS)\r
*_CYGGCC_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)\r
+*_CYGGCC_X64_OBJCOPY_FLAGS =\r
\r
##################\r
# IPF definitions\r
*_CYGGCC_IPF_OBJCOPY_PATH = DEF(CYGWIN_BINIPF)objcopy\r
*_CYGGCC_IPF_SYMRENAME_PATH = DEF(CYGWIN_BINIPF)objcopy\r
*_CYGGCC_IPF_RC_PATH = DEF(CYGWIN_BINIPF)objcopy\r
-*_CYGGCC_IPF_OBJECT_PATH = DEF(CYGWIN_BINIPF)objcopy\r
\r
*_CYGGCC_IPF_CC_FLAGS = DEF(GCC_IPF_CC_FLAGS)\r
*_CYGGCC_IPF_DLINK_FLAGS = DEF(GCC_IPF_DLINK_FLAGS)\r
\r
####################################################################################\r
#\r
-# ARM GCC (GCC 4.1.1, etc.)\r
+# ARM GCC (www.codesourcery.com)\r
#\r
####################################################################################\r
# ARMGCC - ARM version of the GCC cross compiler\r
\r
*_ARMGCC_*_*_FAMILY = GCC\r
-*_ARMGCC_*_MAKE_PATH = make\r
+*_ARMGCC_*_*_BUILDRULEFAMILY = ARMGCC\r
+\r
+*_ARMGCC_*_MAKE_PATH = DEF(SOURCERY_TOOLS)/cs-make\r
+*_ARMGCC_*_MAKE_FLAGS = --no-print-directory\r
\r
##################\r
# ASL definitions\r
# ARM definitions\r
##################\r
\r
-*_ARMGCC_ARM_ASLCC_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc\r
-*_ARMGCC_ARM_ASLDLINK_PATH = DEF(ARMGCC_BIN)/arm-elf-ld\r
-*_ARMGCC_ARM_ASLPP_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc\r
+*_ARMGCC_ARM_ASLCC_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc\r
+*_ARMGCC_ARM_ASLDLINK_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-ld\r
+*_ARMGCC_ARM_ASLPP_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc\r
\r
-*_ARMGCC_ARM_CC_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc\r
-*_ARMGCC_ARM_SLINK_PATH = DEF(ARMGCC_BIN)/arm-elf-ar\r
-*_ARMGCC_ARM_DLINK_PATH = DEF(ARMGCC_BIN)/arm-elf-ld\r
-*_ARMGCC_ARM_ASM_PATH = DEF(ARMGCC_BIN)/arm-elf-as\r
-*_ARMGCC_ARM_PP_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc\r
-*_ARMGCC_ARM_VFRPP_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc\r
+*_ARMGCC_ARM_CC_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc\r
+*_ARMGCC_ARM_SLINK_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-ar\r
+*_ARMGCC_ARM_DLINK_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-ld\r
+*_ARMGCC_ARM_ASM_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-as\r
+*_ARMGCC_ARM_PP_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc\r
+*_ARMGCC_ARM_VFRPP_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc\r
\r
#\r
# Use default values, or override in DSC file\r
#\r
-*_ARMGCC_ARM_ARCHCC_FLAGS = \r
-*_ARMGCC_ARM_ARCHASM_FLAGS = \r
+*_ARMGCC_ARM_ARCHCC_FLAGS = -march=armv7-a -mthumb \r
+*_ARMGCC_ARM_ARCHASM_FLAGS = -march=armv7-a\r
*_ARMGCC_ARM_ARCHDLINK_FLAGS = \r
-*_ARMGCC_ARM_PLATFORM_FLAGS =\r
+*_ARMGCC_ARM_PLATFORM_FLAGS = -march=armv7-a\r
\r
DEBUG_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) -mlittle-endian -g\r
RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) -mlittle-endian\r
*_ARMGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
*_ARMGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
\r
-*_ARMGCC_ARM_MAKE_PATH = make\r
-\r
-*_ARMGCC_ARM_SLINK_FLAGS = -r\r
-*_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) --emit-relocs --oformat=elf32-littlearm -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-# --gc-sections\r
+*_ARMGCC_ARM_SLINK_FLAGS = -rc\r
+*_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) --oformat=elf32-littlearm -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+#\r
+# Had to remove --emit-relocs to get compile working. Images don't work correctly (linked at 0, no relocations)\r
+# --emit-relocs\r
+#\r
\r
DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mfpu=fpa -mlittle-endian -g -O2 -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mfpu=fpa -mlittle-endian -O2 -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r