From ce66685c70a51967e95837c59ad601682e51f56a Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Fri, 14 Oct 2022 08:14:54 -0600 Subject: [PATCH] make: Move arch.mk to toolchain.mk The arch.mk file contains variables/rules to build, so rename it. Leave an empty arch.mk so it can still be used in a follow-up commit. Signed-off-by: Tim Crawford --- Makefile | 2 ++ src/arch/8051/arch.mk | 27 --------------------------- src/arch/8051/toolchain.mk | 27 +++++++++++++++++++++++++++ src/arch/avr/arch.mk | 30 ------------------------------ src/arch/avr/toolchain.mk | 30 ++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 57 deletions(-) create mode 100644 src/arch/8051/toolchain.mk create mode 100644 src/arch/avr/toolchain.mk diff --git a/Makefile b/Makefile index c4fbeb7..2043f9a 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,8 @@ INCLUDE+=$(wildcard $(ARCH_DIR)/include/arch/*.h) $(ARCH_DIR)/arch.mk CFLAGS+=-I$(ARCH_DIR)/include -D__ARCH__=$(ARCH) include $(ARCH_DIR)/arch.mk +include $(ARCH_DIR)/toolchain.mk + # The architecture defines build targets, no more is required endif diff --git a/src/arch/8051/arch.mk b/src/arch/8051/arch.mk index d88a86d..e69de29 100644 --- a/src/arch/8051/arch.mk +++ b/src/arch/8051/arch.mk @@ -1,27 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-only - -CC=sdcc -mmcs51 --model-large --code-size $(CODE_SIZE) --xram-size $(SRAM_SIZE) --Werror -OBJ=$(sort $(patsubst src/%.c,$(BUILD)/%.rel,$(SRC))) - -# Run EC rom in simulator -sim: $(BUILD)/ec.rom - cargo run \ - --release \ - --manifest-path ecsim/Cargo.toml \ - --no-default-features \ - -- $< - -# Convert from Intel Hex file to binary file -$(BUILD)/ec.rom: $(BUILD)/ec.ihx - @mkdir -p $(@D) - objcopy -I ihex -O binary --gap-fill=0xFF $< $@ - -# Link object files into Intel Hex file -$(BUILD)/ec.ihx: $(OBJ) - @mkdir -p $(@D) - $(CC) $(LDFLAGS) -o $@ $^ - -# Compile C files into object files -$(OBJ): $(BUILD)/%.rel: src/%.c $(INCLUDE) - @mkdir -p $(@D) - $(CC) $(CFLAGS) -o $@ -c $< diff --git a/src/arch/8051/toolchain.mk b/src/arch/8051/toolchain.mk new file mode 100644 index 0000000..d88a86d --- /dev/null +++ b/src/arch/8051/toolchain.mk @@ -0,0 +1,27 @@ +# SPDX-License-Identifier: GPL-3.0-only + +CC=sdcc -mmcs51 --model-large --code-size $(CODE_SIZE) --xram-size $(SRAM_SIZE) --Werror +OBJ=$(sort $(patsubst src/%.c,$(BUILD)/%.rel,$(SRC))) + +# Run EC rom in simulator +sim: $(BUILD)/ec.rom + cargo run \ + --release \ + --manifest-path ecsim/Cargo.toml \ + --no-default-features \ + -- $< + +# Convert from Intel Hex file to binary file +$(BUILD)/ec.rom: $(BUILD)/ec.ihx + @mkdir -p $(@D) + objcopy -I ihex -O binary --gap-fill=0xFF $< $@ + +# Link object files into Intel Hex file +$(BUILD)/ec.ihx: $(OBJ) + @mkdir -p $(@D) + $(CC) $(LDFLAGS) -o $@ $^ + +# Compile C files into object files +$(OBJ): $(BUILD)/%.rel: src/%.c $(INCLUDE) + @mkdir -p $(@D) + $(CC) $(CFLAGS) -o $@ -c $< diff --git a/src/arch/avr/arch.mk b/src/arch/avr/arch.mk index 506822e..e69de29 100644 --- a/src/arch/avr/arch.mk +++ b/src/arch/avr/arch.mk @@ -1,30 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-only - -CC=avr-gcc -mmcu=$(EC_VARIANT) -CFLAGS+=-Os -fstack-usage -Wall -Werror -Wl,--gc-sections -Wl,-u,vfprintf -lprintf_flt -OBJCOPY = avr-objcopy -OBJ=$(sort $(patsubst src/%.c,$(BUILD)/%.o,$(SRC))) - -# Run EC rom in simulator -sim: $(BUILD)/ec.elf - simavr $< --mcu $(EC_VARIANT) - -# Convert from Intel Hex file to binary file -$(BUILD)/ec.rom: $(BUILD)/ec.ihx - @mkdir -p $(@D) - $(OBJCOPY) -I ihex -O binary --gap-fill 0xFF $< $@ - -# Convert from ELF file to Intel Hex file -$(BUILD)/ec.ihx: $(BUILD)/ec.elf - @mkdir -p $(@D) - $(OBJCOPY) -j .text -j .data -O ihex $< $@ - -# Link object files into ELF file -$(BUILD)/ec.elf: $(OBJ) - @mkdir -p $(@D) - $(CC) -o $@ $^ - -# Compile C files into object files -$(BUILD)/%.o: src/%.c $(INCLUDE) - @mkdir -p $(@D) - $(CC) $(CFLAGS) -o $@ -c $< diff --git a/src/arch/avr/toolchain.mk b/src/arch/avr/toolchain.mk new file mode 100644 index 0000000..506822e --- /dev/null +++ b/src/arch/avr/toolchain.mk @@ -0,0 +1,30 @@ +# SPDX-License-Identifier: GPL-3.0-only + +CC=avr-gcc -mmcu=$(EC_VARIANT) +CFLAGS+=-Os -fstack-usage -Wall -Werror -Wl,--gc-sections -Wl,-u,vfprintf -lprintf_flt +OBJCOPY = avr-objcopy +OBJ=$(sort $(patsubst src/%.c,$(BUILD)/%.o,$(SRC))) + +# Run EC rom in simulator +sim: $(BUILD)/ec.elf + simavr $< --mcu $(EC_VARIANT) + +# Convert from Intel Hex file to binary file +$(BUILD)/ec.rom: $(BUILD)/ec.ihx + @mkdir -p $(@D) + $(OBJCOPY) -I ihex -O binary --gap-fill 0xFF $< $@ + +# Convert from ELF file to Intel Hex file +$(BUILD)/ec.ihx: $(BUILD)/ec.elf + @mkdir -p $(@D) + $(OBJCOPY) -j .text -j .data -O ihex $< $@ + +# Link object files into ELF file +$(BUILD)/ec.elf: $(OBJ) + @mkdir -p $(@D) + $(CC) -o $@ $^ + +# Compile C files into object files +$(BUILD)/%.o: src/%.c $(INCLUDE) + @mkdir -p $(@D) + $(CC) $(CFLAGS) -o $@ -c $<