Initial commit
This commit is contained in:
60
Makefile
Normal file
60
Makefile
Normal file
@@ -0,0 +1,60 @@
|
||||
SRCS := \
|
||||
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_adc.c \
|
||||
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_clk.c \
|
||||
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_flash.c \
|
||||
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_gpio.c \
|
||||
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_pwr.c \
|
||||
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_sys.c \
|
||||
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_timer0.c \
|
||||
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_timer3.c \
|
||||
CH5xx_ble_firmware_library/RVMSIS/core_riscv.c \
|
||||
CH5xx_ble_firmware_library/Startup/startup_CH583.S \
|
||||
$(wildcard src/*.c) \
|
||||
$(wildcard src/*/*.c)
|
||||
|
||||
OUTPUTS = $(patsubst %.S,build/%.o,$(patsubst %.c,build/%.o, $(SRCS)))
|
||||
|
||||
PREFIX ?= riscv-none-embed-
|
||||
CC = "$(PREFIX)gcc"
|
||||
OBJCOPY = "$(PREFIX)objcopy"
|
||||
|
||||
CFLAGS += -march=rv32imac -mabi=ilp32 -msmall-data-limit=8
|
||||
CFLAGS += -Os
|
||||
CFLAGS += \
|
||||
-ICH5xx_ble_firmware_library/StdPeriphDriver/inc \
|
||||
-ICH5xx_ble_firmware_library/RVMSIS \
|
||||
-ICH5xx_ble_firmware_library/Core \
|
||||
-ICH5xx_ble_firmware_library/BLE
|
||||
|
||||
CFLAGS += -MMD -MP -Wall -fdata-sections -ffunction-sections -Werror=implicit-function-declaration
|
||||
|
||||
LDFLAGS = -march=rv32imac -mabi=ilp32 -msmall-data-limit=8 \
|
||||
-lc -lm -lnosys \
|
||||
./CH5xx_ble_firmware_library/StdPeriphDriver/libISP583.a \
|
||||
./CH5xx_ble_firmware_library/BLE/LIBCH58xBLE.a \
|
||||
-T CH5xx_ble_firmware_library/Ld/Link.ld -nostartfiles -Xlinker --gc-sections
|
||||
|
||||
all: build/badgewitch.elf build/badgewitch.bin
|
||||
|
||||
build/%.o: %.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
build/%.o: %.S
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
build/badgewitch.elf: $(OUTPUTS)
|
||||
@mkdir -pv $(dir $@)
|
||||
$(CC) $(OUTPUTS) $(LDFLAGS) -o $@
|
||||
|
||||
build/%.bin: build/%.elf
|
||||
$(OBJCOPY) -O binary -S $< $@
|
||||
|
||||
flash: build/badgewitch.bin
|
||||
wchisp flash build/badgewitch.bin
|
||||
|
||||
clean:
|
||||
rm -rf build
|
||||
|
||||
-include $(OUTPUTS:%.o=%.d)
|
||||
Reference in New Issue
Block a user