aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-05-17 10:47:53 +0200
committerHarald Welte <laforge@gnumonks.org>2019-05-17 10:53:27 +0200
commit488ddaeecacad7205d546e5c1b26a2372b54933f (patch)
tree034e82af113c6525eae553bfc0064452ff175724
parentfad379ac8880c5151d3b442003965a7d6171cd27 (diff)
Makefile: Use Variables for generating compiler/binutils names
-rw-r--r--sysmoOCTSIM/gcc/Makefile36
1 files changed, 23 insertions, 13 deletions
diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile
index 27e0241..c9222ca 100644
--- a/sysmoOCTSIM/gcc/Makefile
+++ b/sysmoOCTSIM/gcc/Makefile
@@ -4,11 +4,22 @@
EXTRA_LIBS=/usr/local/arm-none-eabi/lib/libosmocore.a
EXTRA_CFLAGS=-I/usr/local/arm-none-eabi/include -I../../ccid
+CROSS_COMPILE= arm-none-eabi-
CFLAGS_CPU=-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16
CFLAGS=-x c -mthumb -DDEBUG -Os -ffunction-sections -fdata-sections -mlong-calls \
-g3 -Wall -c -std=gnu99 $(CFLAGS_CPU)
+CC = $(CROSS_COMPILE)gcc
+LD = $(CROSS_COMPILE)ld
+SIZE = $(CROSS_COMPILE)size
+STRIP = $(CROSS_COMPILE)strip
+OBJCOPY = $(CROSS_COMPILE)objcopy
+OBJDUMP = $(CROSS_COMPILE)objdump
+SIZE = $(CROSS_COMPILE)size
+GDB = $(CROSS_COMPILE)gdb
+NM = $(CROSS_COMPILE)nm
+
ifdef SystemRoot
SHELL = cmd.exe
MK_DIR = mkdir
@@ -161,23 +172,22 @@ all: $(SUB_DIRS) $(OUTPUT_FILE_PATH)
$(OUTPUT_FILE_PATH): $(OBJS)
@echo Building target: $@
@echo Invoking: ARM/GNU Linker
- $(QUOTE)arm-none-eabi-gcc$(QUOTE) -o $(OUTPUT_FILE_NAME).elf $(OBJS) $(EXTRA_LIBS) -Wl,--start-group -lm -Wl,--end-group -mthumb \
+ $(CC) -o $(OUTPUT_FILE_NAME).elf $(OBJS) $(EXTRA_LIBS) -Wl,--start-group -lm -Wl,--end-group -mthumb \
-Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -mcpu=cortex-m4 \
\
-T"../gcc/gcc/same54n19a_dfu.ld" \
-L"../gcc/gcc"
@echo Finished building target: $@
- "arm-none-eabi-objcopy" -O binary "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).bin"
- "arm-none-eabi-objcopy" -O ihex -R .eeprom -R .fuse -R .lock -R .signature \
- "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).hex"
- "arm-none-eabi-objcopy" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma \
- .eeprom=0 --no-change-warnings -O binary "$(OUTPUT_FILE_NAME).elf" \
- "$(OUTPUT_FILE_NAME).eep" || exit 0
- "arm-none-eabi-objdump" -h -S "$(OUTPUT_FILE_NAME).elf" > "$(OUTPUT_FILE_NAME).lss"
- "arm-none-eabi-size" "$(OUTPUT_FILE_NAME).elf"
+ $(OBJCOPY) -O binary "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).bin"
+ $(OBJCOPY) -O ihex -R .eeprom -R .fuse -R .lock -R .signature \
+ "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).hex"
+ $(OBJCOPY) -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma \
+ .eeprom=0 --no-change-warnings -O binary "$(OUTPUT_FILE_NAME).elf" \
+ "$(OUTPUT_FILE_NAME).eep" || exit 0
+ $(OBJDUMP) -h -S "$(OUTPUT_FILE_NAME).elf" > "$(OUTPUT_FILE_NAME).lss"
+ $(SIZE) "$(OUTPUT_FILE_NAME).elf"
-
# Compiler targets
@@ -185,21 +195,21 @@ $(OUTPUT_FILE_PATH): $(OBJS)
%.o: %.c
@echo Building file: $<
@echo ARM/GNU C Compiler
- $(QUOTE)arm-none-eabi-gcc$(QUOTE) $(CFLAGS) $(INC_DIRS) $(EXTRA_CFLAGS) \
+ $(CC) $(CFLAGS) $(INC_DIRS) $(EXTRA_CFLAGS) \
-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<
%.o: %.s
@echo Building file: $<
@echo ARM/GNU Assembler
- $(QUOTE)arm-none-eabi-as$(QUOTE) $(CFLAGS) $(INC_DIRS) \
+ $(CC) $(CFLAGS) $(INC_DIRS) \
-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<
%.o: %.S
@echo Building file: $<
@echo ARM/GNU Preprocessing Assembler
- $(QUOTE)arm-none-eabi-gcc$(QUOTE) $(CFLAGS) $(INC_DIRS) \
+ $(CC) $(CFLAGS) $(INC_DIRS) \
-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<