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 <tcrawford@system76.com>
This commit is contained in:
committed by
Tim Crawford
parent
c5b737f505
commit
ce66685c70
2
Makefile
2
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
|
||||
|
||||
|
@ -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 $<
|
||||
|
27
src/arch/8051/toolchain.mk
Normal file
27
src/arch/8051/toolchain.mk
Normal file
@ -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 $<
|
@ -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 $<
|
||||
|
30
src/arch/avr/toolchain.mk
Normal file
30
src/arch/avr/toolchain.mk
Normal file
@ -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 $<
|
Reference in New Issue
Block a user