Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

treewide: clean up architecture specific toolchain setup #15996

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,9 @@ include $(BOARDDIR)/Makefile.include
INCLUDES += -I$(RIOTCPU)/$(CPU)/include
include $(RIOTCPU)/$(CPU)/Makefile.include

# include architecture specific settings, if any
-include $(RIOTMAKE)/arch/$(CPU_ARCH).inc.mk

# Include common serial logic to define TERMPROG, TERMFLAGS variables based on
# the content of RIOT_TERMINAL
include $(RIOTMAKE)/tools/serial.inc.mk
Expand Down
4 changes: 2 additions & 2 deletions cpu/arm7_common/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
CPU_ARCH = armv4t
CPU_CORE = arm7tdmi_s
CPU_ARCH := armv4t
CPU_CORE := arm7tdmi_s
fjmolinas marked this conversation as resolved.
Show resolved Hide resolved
Comment on lines -1 to +2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mind putting these changes in its own commit, they are not really related to the whole PR. And you can add the argument for doing this to the commit message.


FEATURES_PROVIDED += arch_32bit
FEATURES_PROVIDED += arch_arm
Expand Down
19 changes: 0 additions & 19 deletions cpu/arm7_common/Makefile.include
Original file line number Diff line number Diff line change
@@ -1,20 +1 @@
# Target architecture for the build. Use arm-none-eabi if you are unsure.
TARGET_ARCH_ARM7 ?= arm-none-eabi
TARGET_ARCH ?= $(TARGET_ARCH_ARM7)

INCLUDES += -I$(RIOTBASE)/cpu/arm7_common/include/

# currently only arm7tdmi-s is supported by RIOT, but allow overriding MCPU
# if someone wants to add support for other ARM7 CPUs
MCPU ?= arm7tdmi-s

CFLAGS_CPU = -mcpu=$(MCPU)
CFLAGS_LINK = -ffunction-sections -fdata-sections -fno-builtin -fshort-enums
CFLAGS_DBG ?= -ggdb -g3
CFLAGS_OPT ?= -Os

CFLAGS += $(CFLAGS_CPU) $(CFLAGS_LINK) $(CFLAGS_DBG) $(CFLAGS_OPT)
ASFLAGS += $(CFLAGS_CPU) $(CFLAGS_DBG)
LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ldscripts/$(CPU).ld
LINKFLAGS += $(CFLAGS_CPU) $(CFLAGS_DBG) $(CFLAGS_OPT) -static -lgcc -nostartfiles
LINKFLAGS += -Wl,--gc-sections
2 changes: 2 additions & 0 deletions cpu/avr8_common/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
CPU_ARCH = avr8

FEATURES_PROVIDED += arch_8bit
FEATURES_PROVIDED += arch_avr8
FEATURES_PROVIDED += cpp
2 changes: 0 additions & 2 deletions cpu/avr8_common/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,3 @@
INCLUDES += -I$(RIOTCPU)/avr8_common/include \
-isystem$(RIOTCPU)/avr8_common/avr_libc_extra/include \
-isystem$(RIOTCPU)/avr8_common/avr_libc_extra/include/vendor

include $(RIOTMAKE)/arch/atmega.inc.mk
2 changes: 0 additions & 2 deletions cpu/cc2538/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,3 @@ LINKER_SCRIPT ?= cc2538.ld
ifneq (,$(filter riotboot,$(FEATURES_USED)))
CFLAGS += -DUPDATE_CCA=0
endif

include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 0 additions & 1 deletion cpu/cc26x0_cc13x0/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,3 @@ ROM_LEN ?= 128K
RAM_LEN ?= 20K

include ${RIOTCPU}/cc26xx_cc13xx/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 0 additions & 1 deletion cpu/cc26x2_cc13x2/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,3 @@ ROM_LEN ?= 352K
RAM_LEN ?= 80K

include ${RIOTCPU}/cc26xx_cc13xx/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
2 changes: 0 additions & 2 deletions cpu/efm32/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,3 @@ ROM_START_ADDR = $(EFM32_FLASH_START)
ROM_LEN = $(EFM32_FLASH_SIZE)
RAM_START_ADDR = $(EFM32_SRAM_START)
RAM_LEN = $(EFM32_SRAM_SIZE)

include $(RIOTMAKE)/arch/cortexm.inc.mk
2 changes: 1 addition & 1 deletion cpu/esp32/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

config CPU_CORE_XTENSA_LX6
bool
select CPU_ARCH_XTENSA
select CPU_ARCH_XTENSA_LX6

config CPU_FAM_ESP32
bool
Expand Down
3 changes: 2 additions & 1 deletion cpu/esp32/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
CPU_FAM = esp32
CPU_ARCH := xtensa-lx6
CPU_FAM := esp32

# MCU defined features that are provided independent on board definitions

Expand Down
3 changes: 0 additions & 3 deletions cpu/esp32/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ include $(RIOTCPU)/esp_common/Makefile.include

# regular Makefile

TARGET_ARCH_ESP32 ?= xtensa-esp32-elf
TARGET_ARCH ?= $(TARGET_ARCH_ESP32)

PSEUDOMODULES += esp_eth_hw
PSEUDOMODULES += esp_gdbstub
PSEUDOMODULES += esp_hw_counter
Expand Down
2 changes: 1 addition & 1 deletion cpu/esp8266/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

config CPU_CORE_XTENSA_L106
bool
select CPU_ARCH_XTENSA
select CPU_ARCH_XTENSA_LX106

config CPU_FAM_ESP8266
bool
Expand Down
4 changes: 3 additions & 1 deletion cpu/esp8266/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
CPU_FAM = esp8266
CPU_ARCH := xtensa-lx106
CPU_FAM := esp8266


# MCU defined features that are provided independent on board definitions

Expand Down
4 changes: 0 additions & 4 deletions cpu/esp8266/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,6 @@ BOOTLOADER_POS = 0x0000
include $(RIOTCPU)/esp_common/Makefile.include

# regular Makefile

TARGET_ARCH_ESP8266 ?= xtensa-esp8266-elf
TARGET_ARCH ?= $(TARGET_ARCH_ESP8266)

PSEUDOMODULES += esp_sw_timer

INCLUDES += -I$(RIOTCPU)/$(CPU)
Expand Down
11 changes: 10 additions & 1 deletion cpu/esp_common/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ config CPU_ARCH_XTENSA
select HAS_ARCH_32BIT
select HAS_ARCH_ESP

config CPU_ARCH_XTENSA_LX106
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think these changes should be In another commit.

bool
select CPU_ARCH_XTENSA

config CPU_ARCH_XTENSA_LX6
bool
select CPU_ARCH_XTENSA

config CPU_COMMON_ESP
bool
select HAS_CPP
Expand Down Expand Up @@ -58,4 +66,5 @@ config HAS_ARCH_ESP

## Common CPU symbols
config CPU_ARCH
default "xtensa" if CPU_ARCH_XTENSA
default "xtensa-lx106" if CPU_ARCH_XTENSA_LX106
default "xtensa-lx6" if CPU_ARCH_XTENSA_LX6
2 changes: 0 additions & 2 deletions cpu/esp_common/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
CPU_ARCH = xtensa

# MCU defined features that are provided independent on board definitions

FEATURES_PROVIDED += arch_32bit
Expand Down
2 changes: 0 additions & 2 deletions cpu/kinetis/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,3 @@ CFLAGS += \
-DKINETIS_SUBFAMILY=$(KINETIS_SUBFAMILY) \
-DKINETIS_ROMSIZE=$(KINETIS_ROMSIZE) \
#

include $(RIOTMAKE)/arch/cortexm.inc.mk
2 changes: 0 additions & 2 deletions cpu/lm4f120/Makefile.include
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
include $(RIOTMAKE)/arch/cortexm.inc.mk

include $(RIOTCPU)/stellaris_common/Makefile.include
2 changes: 1 addition & 1 deletion cpu/lpc1768/Makefile.include
Original file line number Diff line number Diff line change
@@ -1 +1 @@
include $(RIOTMAKE)/arch/cortexm.inc.mk
# Existence of this file is expected by the build system, even if there is nothing to configure
2 changes: 1 addition & 1 deletion cpu/mips32r2_common/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CPU_ARCH = mips32r2
CPU_ARCH := mips32r2

FEATURES_PROVIDED += arch_32bit
FEATURES_PROVIDED += arch_mips32r2
Expand Down
1 change: 0 additions & 1 deletion cpu/mips_pic32mx/Makefile.include
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
export ROMABLE = 1

include $(RIOTCPU)/mips_pic32_common/Makefile.include
include $(RIOTMAKE)/arch/mips.inc.mk

# define build specific options
CFLAGS += -march=m4k -DSKIP_COPY_TO_RAM
Expand Down
1 change: 0 additions & 1 deletion cpu/mips_pic32mz/Makefile.include
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
export ROMABLE = 1

include $(RIOTCPU)/mips_pic32_common/Makefile.include
include $(RIOTMAKE)/arch/mips.inc.mk

# define build specific options
CFLAGS += -march=m5101 -mmicromips -DSKIP_COPY_TO_RAM
Expand Down
4 changes: 2 additions & 2 deletions cpu/msp430_common/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
CPU_ARCH = msp430
CPU_CORE = msp430
CPU_ARCH := msp430
CPU_CORE := msp430

FEATURES_PROVIDED += arch_16bit
FEATURES_PROVIDED += arch_msp430
Expand Down
3 changes: 0 additions & 3 deletions cpu/msp430_common/Makefile.include
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
INCLUDES += -I$(RIOTCPU)/msp430_common/include/

CFLAGS += -DCPU_MODEL_$(call uppercase_and_underscore,$(CPU_MODEL))

# include the msp430 common Makefile
include $(RIOTMAKE)/arch/msp430.inc.mk
2 changes: 2 additions & 0 deletions cpu/native/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
CPU_ARCH := native

ifeq (FreeBSD,$(OS))
DISABLE_LIBSTDCPP ?= 1
endif
Expand Down
1 change: 0 additions & 1 deletion cpu/nrf51/Makefile.include
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
include $(RIOTCPU)/nrf5x_common/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 0 additions & 1 deletion cpu/nrf52/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,3 @@ LINKER_SCRIPT ?= cortexm.ld
VECTORS_O ?= $(BINDIR)/nrf52_vectors/vectors_$(CPU_MODEL).o

include $(RIOTCPU)/nrf5x_common/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
2 changes: 0 additions & 2 deletions cpu/qn908x/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,3 @@ CFLAGS += \
# include path here.
PSEUDOMODULES += vendor_%
INCLUDES += -I$(RIOTCPU)/$(CPU)/include/vendor

include $(RIOTMAKE)/arch/cortexm.inc.mk
2 changes: 2 additions & 0 deletions cpu/riscv_common/Makefile.features
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
CPU_ARCH := risc-v
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same for this one, can you add to a commit where you say "adding missing arch or something like that", or fix missing arch and you can ad comment on the := change in that commit as well.


FEATURES_PROVIDED += arch_32bit
FEATURES_PROVIDED += arch_riscv
FEATURES_PROVIDED += cpp
Expand Down
2 changes: 0 additions & 2 deletions cpu/riscv_common/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,3 @@ ifneq (,$(ITIM_START_ADDR))
endif

LINKER_SCRIPT ?= riscv.ld

include $(RIOTMAKE)/arch/riscv.inc.mk
1 change: 0 additions & 1 deletion cpu/sam3/Makefile.include
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
include $(RIOTCPU)/sam_common/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 0 additions & 1 deletion cpu/samd21/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,3 @@ endif
CFLAGS += -DCPU_COMMON_SAMD21

include $(RIOTCPU)/sam0_common/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 0 additions & 1 deletion cpu/samd5x/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,3 @@ BACKUP_RAM_ADDR = 0x47000000
BACKUP_RAM_LEN = 0x2000

include $(RIOTCPU)/sam0_common/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 0 additions & 1 deletion cpu/saml1x/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,3 @@ endif
CFLAGS += -DCPU_COMMON_SAML1X

include $(RIOTCPU)/sam0_common/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 0 additions & 1 deletion cpu/saml21/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,3 @@ ifneq (,$(filter saml21j18b saml21j18a samr30g18a samr34j18b,$(CPU_MODEL)))
endif

include $(RIOTCPU)/sam0_common/Makefile.include
include $(RIOTMAKE)/arch/cortexm.inc.mk
2 changes: 0 additions & 2 deletions cpu/stm32/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,3 @@ $(STM32IRQS_INCLUDE_FILE): $(STM32FAM_INCLUDE_FILE)

# Include clock configuration directory
INCLUDES += -I$(RIOTCPU)/stm32/include/clk

include $(RIOTMAKE)/arch/cortexm.inc.mk
18 changes: 18 additions & 0 deletions makefiles/arch/armv4t.inc.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Target architecture for the build. Use arm-none-eabi if you are unsure.
TARGET_ARCH_ARM7 ?= arm-none-eabi
TARGET_ARCH ?= $(TARGET_ARCH_ARM7)

# currently only arm7tdmi-s is supported by RIOT, but allow overriding MCPU
# if someone wants to add support for other ARM7 CPUs
MCPU ?= arm7tdmi-s

CFLAGS_CPU = -mcpu=$(MCPU)
CFLAGS_LINK = -ffunction-sections -fdata-sections -fno-builtin -fshort-enums
CFLAGS_DBG ?= -ggdb -g3
CFLAGS_OPT ?= -Os

CFLAGS += $(CFLAGS_CPU) $(CFLAGS_LINK) $(CFLAGS_DBG) $(CFLAGS_OPT)
ASFLAGS += $(CFLAGS_CPU) $(CFLAGS_DBG)
LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ldscripts/$(CPU).ld
LINKFLAGS += $(CFLAGS_CPU) $(CFLAGS_DBG) $(CFLAGS_OPT) -static -lgcc -nostartfiles
LINKFLAGS += -Wl,--gc-sections
1 change: 1 addition & 0 deletions makefiles/arch/armv6m.inc.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 1 addition & 0 deletions makefiles/arch/armv7m.inc.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include $(RIOTMAKE)/arch/cortexm.inc.mk
1 change: 1 addition & 0 deletions makefiles/arch/armv8m.inc.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include $(RIOTMAKE)/arch/cortexm.inc.mk
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions makefiles/arch/xtensa-lx106.inc.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
TARGET_ARCH_ESP8266 ?= xtensa-esp8266-elf
TARGET_ARCH ?= $(TARGET_ARCH_ESP8266)
2 changes: 2 additions & 0 deletions makefiles/arch/xtensa-lx6.inc.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
TARGET_ARCH_ESP32 ?= xtensa-esp32-elf
TARGET_ARCH ?= $(TARGET_ARCH_ESP32)