Skip to content

Commit 1856763

Browse files
authored
Merge pull request #2060 from theotherjimmy/cleanup-make-export
[Exporters-gcc_arm] Clean up the source directory
2 parents b70d901 + 3850c26 commit 1856763

13 files changed

+103
-414
lines changed

tools/export/gcc_arm_common.tmpl

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,41 @@
11
# This file was automagically generated by mbed.org. For more information,
22
# see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
33

4+
# cross-platform directory manipulation
5+
ifeq ($(OSTYPE),)
6+
MAKEDIR = if not exist "$(1)" mkdir "$(1)"
7+
RM = rmdir /S /Q
8+
else
9+
MAKEDIR = mkdir -p $(1)
10+
RM = rm -rf
11+
endif
12+
13+
ifeq (,$(filter .build,$(notdir $(CURDIR))))
14+
.SUFFIXES:
15+
OBJDIR := .build
16+
MAKETARGET = $(MAKE) --no-print-directory -C $(OBJDIR) -f $(CURDIR)/Makefile \
17+
SRCDIR=$(CURDIR) $(MAKECMDGOALS)
18+
.PHONY: $(OBJDIR) clean
19+
all:
20+
+@$(call MAKEDIR,$(OBJDIR))
21+
+@$(MAKETARGET)
22+
$(OBJDIR): all
23+
Makefile : ;
24+
% :: $(OBJDIR) ; :
25+
clean :
26+
$(RM) $(OBJDIR)
27+
{% block target_clean -%}
28+
{% endblock %}
29+
else
30+
31+
VPATH = $(SRCDIR)
32+
433
GCC_BIN =
534
PROJECT = {{name}}
635
OBJECTS = {% for f in to_be_compiled %}{{f}} {% endfor %}
736
SYS_OBJECTS = {% for f in object_files %}{{f}} {% endfor %}
8-
INCLUDE_PATHS = {% for p in include_paths %}-I{{p}} {% endfor %}
9-
LIBRARY_PATHS = {% for p in library_paths %}-L{{p}} {% endfor %}
37+
INCLUDE_PATHS = {% for p in include_paths %}-I../{{p}} {% endfor %}
38+
LIBRARY_PATHS = {% for p in library_paths %}-L../{{p}} {% endfor %}
1039
LIBRARIES = {% for lib in libraries %}-l{{lib}} {% endfor %}
1140
LINKER_SCRIPT = {{linker_script}}
1241
{%- block additional_variables -%}{% endblock %}
@@ -49,34 +78,36 @@ else
4978
CC_FLAGS += -DNDEBUG -Os
5079
endif
5180

52-
.PHONY: all clean lst size
81+
82+
.PHONY: all lst size
5383

5484
{% block target_all -%}
5585
all: $(PROJECT).bin $(PROJECT).hex size
5686
{% endblock %}
5787

58-
{% block target_clean -%}
59-
clean:
60-
rm -f $(PROJECT).bin $(PROJECT).elf $(PROJECT).hex $(PROJECT).map $(PROJECT).lst $(OBJECTS) $(DEPS)
61-
{% endblock %}
6288

6389
.asm.o:
90+
+@$(call MAKEDIR,$(dir $@))
6491
$(CC) $(CPU) -c $(ASM_FLAGS) -o $@ $<
6592
.s.o:
93+
+@$(call MAKEDIR,$(dir $@))
6694
$(CC) $(CPU) -c $(ASM_FLAGS) -o $@ $<
6795
.S.o:
96+
+@$(call MAKEDIR,$(dir $@))
6897
$(CC) $(CPU) -c $(ASM_FLAGS) -o $@ $<
6998

7099
.c.o:
100+
+@$(call MAKEDIR,$(dir $@))
71101
$(CC) $(CC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $<
72102

73103
.cpp.o:
104+
+@$(call MAKEDIR,$(dir $@))
74105
$(CPP) $(CPPC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $<
75106

76107

77108
{% block target_project_elf %}
78-
$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS)
79-
$(LD) $(LD_FLAGS) -T$(LINKER_SCRIPT) $(LIBRARY_PATHS) -o $@ $^ -Wl,--start-group $(LIBRARIES) $(LD_SYS_LIBS) -Wl,--end-group
109+
$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS) $(LINKER_SCRIPT)
110+
$(LD) $(LD_FLAGS) -T$(filter %.ld, $^) $(LIBRARY_PATHS) -o $@ $(filter %.o, $^) -Wl,--start-group $(LIBRARIES) $(LD_SYS_LIBS) -Wl,--end-group
80111
{% endblock %}
81112

82113
$(PROJECT).bin: $(PROJECT).elf
@@ -97,4 +128,5 @@ DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
97128
-include $(DEPS)
98129

99130
{% block additional_targets %}{% endblock %}
131+
endif
100132

tools/export/gcc_arm_efm32_common.tmpl

Lines changed: 0 additions & 115 deletions
This file was deleted.
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
{% extends "gcc_arm_efm32_common.tmpl" %}
1+
{% extends "gcc_arm_common.tmpl" %}
2+
3+
{% block target_project_elf %} {{ super() }} @echo ""
4+
@echo "*****"
5+
@echo "***** You must modify vector checksum value in *.bin and *.hex files."
6+
@echo "*****"
7+
@echo ""
8+
{%- endblock %}
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
{% extends "gcc_arm_efm32_common.tmpl" %}
1+
{% extends "gcc_arm_common.tmpl" %}
2+
3+
{% block target_project_elf %} {{ super() }} @echo ""
4+
@echo "*****"
5+
@echo "***** You must modify vector checksum value in *.bin and *.hex files."
6+
@echo "*****"
7+
@echo ""
8+
{%- endblock %}
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
{% extends "gcc_arm_efm32_common.tmpl" %}
1+
{% extends "gcc_arm_common.tmpl" %}
2+
3+
{% block target_project_elf %} {{ super() }} @echo ""
4+
@echo "*****"
5+
@echo "***** You must modify vector checksum value in *.bin and *.hex files."
6+
@echo "*****"
7+
@echo ""
8+
{%- endblock %}
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
{% extends "gcc_arm_efm32_common.tmpl" %}
1+
{% extends "gcc_arm_common.tmpl" %}
2+
3+
{% block target_project_elf %} {{ super() }} @echo ""
4+
@echo "*****"
5+
@echo "***** You must modify vector checksum value in *.bin and *.hex files."
6+
@echo "*****"
7+
@echo ""
8+
{%- endblock %}
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
{% extends "gcc_arm_efm32_common.tmpl" %}
1+
{% extends "gcc_arm_common.tmpl" %}
2+
3+
{% block target_project_elf %} {{ super() }} @echo ""
4+
@echo "*****"
5+
@echo "***** You must modify vector checksum value in *.bin and *.hex files."
6+
@echo "*****"
7+
@echo ""
8+
{%- endblock %}
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
{% extends "gcc_arm_efm32_common.tmpl" %}
1+
{% extends "gcc_arm_common.tmpl" %}
2+
3+
{% block target_project_elf %} {{ super() }} @echo ""
4+
@echo "*****"
5+
@echo "***** You must modify vector checksum value in *.bin and *.hex files."
6+
@echo "*****"
7+
@echo ""
8+
{%- endblock %}

tools/export/gcc_arm_samd21g18a.tmpl

Lines changed: 3 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,4 @@
1-
# This file was automagically generated by mbed.org. For more information,
2-
# see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
3-
4-
GCC_BIN =
5-
PROJECT = {{name}}
6-
OBJECTS = {% for f in to_be_compiled %}{{f}} {% endfor %}
7-
SYS_OBJECTS = {% for f in object_files %}{{f}} {% endfor %}
8-
INCLUDE_PATHS = {% for p in include_paths %}-I{{p}} {% endfor %}
9-
LIBRARY_PATHS = {% for p in library_paths %}-L{{p}} {% endfor %}
10-
LIBRARIES = {% for lib in libraries %}-l{{lib}} {% endfor %}
11-
LINKER_SCRIPT = {{linker_script}}
12-
13-
###############################################################################
14-
AS = $(GCC_BIN)arm-none-eabi-as
15-
CC = $(GCC_BIN)arm-none-eabi-gcc
16-
CPP = $(GCC_BIN)arm-none-eabi-g++
17-
LD = $(GCC_BIN)arm-none-eabi-g++
18-
OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy
19-
OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
20-
SIZE = $(GCC_BIN)arm-none-eabi-size
21-
22-
CPU = -mcpu=cortex-m0plus -mthumb
23-
CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fomit-frame-pointer
24-
CC_FLAGS += -MMD -MP
25-
CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %}
26-
27-
LD_FLAGS = $(CPU) -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float -Wl,--wrap,main
28-
LD_FLAGS += -Wl,-Map=$(PROJECT).map,--cref
29-
LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lgcc -Wl,--start-group -lc -lc -lnosys -Wl,--end-group
30-
31-
ifeq ($(DEBUG), 1)
32-
CC_FLAGS += -DDEBUG -O0
33-
else
34-
CC_FLAGS += -DNDEBUG -Os
35-
endif
36-
37-
all: $(PROJECT).bin $(PROJECT).hex
38-
39-
clean:
40-
rm -f $(PROJECT).bin $(PROJECT).elf $(PROJECT).hex $(PROJECT).map $(PROJECT).lst $(OBJECTS) $(DEPS)
41-
42-
.s.o:
43-
$(AS) $(CPU) -o $@ $<
44-
45-
.c.o:
46-
$(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $<
47-
48-
.cpp.o:
49-
$(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 -fno-rtti $(INCLUDE_PATHS) -o $@ $<
50-
51-
52-
$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS)
53-
$(LD) $(LD_FLAGS) -T$(LINKER_SCRIPT) $(LIBRARY_PATHS) -o $@ $^ $(LIBRARIES) $(LD_SYS_LIBS) $(LIBRARIES) $(LD_SYS_LIBS)
54-
$(SIZE) $@
55-
56-
$(PROJECT).bin: $(PROJECT).elf
57-
@$(OBJCOPY) -O binary $< $@
58-
59-
$(PROJECT).hex: $(PROJECT).elf
60-
@$(OBJCOPY) -O ihex $< $@
61-
62-
$(PROJECT).lst: $(PROJECT).elf
63-
@$(OBJDUMP) -Sdh $< > $@
64-
65-
lst: $(PROJECT).lst
66-
67-
size:
68-
$(SIZE) $(PROJECT).elf
69-
70-
DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
71-
-include $(DEPS)
1+
{% extends "gcc_arm_common.tmpl" %}
722

3+
{% block cpu %} -mcpu=cortex-m0plus -mthumb {% endblock %}
4+
{% block ld_sys_libs %}{{ super() }} -Wl,--start-group -lc -lc -lnosys -Wl,--end-group {% endblock %}

0 commit comments

Comments
 (0)