Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
679a0460fThis file is pinned to the selected release. Download the original to open it in your design tool.
################## SETUP COMPILER ##################
CC = sdcc
LD = sdld
AR = sdar
AS = sdasstm8
OBJCOPY = sdobjcopy
SIZE = size
MAKE = make
TARGET = main
STDLIB = STM8S_StdPeriph_Lib
INCLUDEDIR = $(STDLIB)/inc Inc
LIBSRCDIR = $(STDLIB)/src
SRCS = Src
MCU = STM8S003
COMPILER = __SDCC__
DEFINES = -D$(COMPILER) -D$(MCU) -DUSE_STDPERIPH_DRIVER
#-DSTM8S003
#CFLAGS = -mstm8 --std-c99 $(DEFINES)
CFLAGS = -mstm8 $(DEFINES) --opt-code-size
LDFLAGS = $(addprefix -I ,$(INCLUDEDIR))
BUILD_DIR = Build
IHX = $(BUILD_DIR)/$(TARGET).ihx
################### BUILD PROCESS ###################
.PHONY: all build clean flash
all: build flash
make_build_dir:
mkdir $(BUILD_DIR)
build: $(IHX)
$(BUILD_DIR)/stm8s_gpio.rel:
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(STDLIB)/src/stm8s_gpio.rel $(STDLIB)/src/stm8s_gpio.c
$(BUILD_DIR)/stm8s_clk.rel:
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(STDLIB)/src/stm8s_clk.rel $(STDLIB)/src/stm8s_clk.c
$(BUILD_DIR)/stm8s_uart1.rel:
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(STDLIB)/src/stm8s_uart1.rel $(STDLIB)/src/stm8s_uart1.c
$(BUILD_DIR)/stm8s_i2c.rel:
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(STDLIB)/src/stm8s_i2c.rel $(STDLIB)/src/stm8s_i2c.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ -o Build/ "Src/stm8s_it.rel" "Src/stm8s_it.c"
$(BUILD_DIR)/stm8s_tim1.rel:
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(STDLIB)/src/stm8s_tim1.rel $(STDLIB)/src/stm8s_tim1.c
$(BUILD_DIR)/stm8s_it.rel: $(SRCS)/stm8s_it.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/stm8s_it.rel $(SRCS)/stm8s_it.c
$(BUILD_DIR)/ClockConfigurator.rel: $(SRCS)/ClockConfigurator.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/ClockConfigurator.rel $(SRCS)/ClockConfigurator.c
$(BUILD_DIR)/TimerConfigurator.rel: $(SRCS)/TimerConfigurator.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/TimerConfigurator.rel $(SRCS)/TimerConfigurator.c
$(BUILD_DIR)/VoltageSensorActualValue.rel: $(SRCS)/VoltageSensorActualValue.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/VoltageSensorActualValue.rel $(SRCS)/VoltageSensorActualValue.c
$(BUILD_DIR)/VoltageSensorPeakValue.rel: $(SRCS)/VoltageSensorPeakValue.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/VoltageSensorPeakValue.rel $(SRCS)/VoltageSensorPeakValue.c
$(BUILD_DIR)/PulseCounter.rel: $(SRCS)/PulseCounter.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/PulseCounter.rel $(SRCS)/PulseCounter.c
$(BUILD_DIR)/UserInterface.rel: $(SRCS)/UserInterface.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/UserInterface.rel $(SRCS)/UserInterface.c
$(BUILD_DIR)/Logger.rel: $(SRCS)/Logger.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/Logger.rel $(SRCS)/Logger.c
$(BUILD_DIR)/MeasurementCollector.rel: $(SRCS)/MeasurementCollector.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/MeasurementCollector.rel $(SRCS)/MeasurementCollector.c
$(BUILD_DIR)/MeassurementFrame.rel: $(SRCS)/MeassurementFrame.c
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/MeassurementFrame.rel $(SRCS)/MeassurementFrame.c
$(BUILD_DIR)/ApplicationBuilder.rel: $(SRCS)/ApplicationBuilder.c $(BUILD_DIR)/VoltageSensorActualValue.rel $(BUILD_DIR)/PulseCounter.rel $(BUILD_DIR)/Logger.rel $(BUILD_DIR)/UserInterface.rel $(BUILD_DIR)/stm8s_uart1.rel $(BUILD_DIR)/TimerConfigurator.rel $(BUILD_DIR)/stm8s_i2c.rel $(BUILD_DIR)/MeasurementCollector.rel $(BUILD_DIR)/MeassurementFrame.rel
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $(SRCS)/ApplicationBuilder.rel $(SRCS)/ApplicationBuilder.c
$(IHX): $(SRCS)/$(TARGET).c \
$(BUILD_DIR)/ApplicationBuilder.rel \
$(BUILD_DIR)/stm8s_gpio.rel \
$(BUILD_DIR)/stm8s_i2c.rel \
$(BUILD_DIR)/stm8s_uart1.rel \
$(BUILD_DIR)/stm8s_clk.rel \
$(BUILD_DIR)/ClockConfigurator.rel \
$(BUILD_DIR)/stm8s_tim1.rel \
$(BUILD_DIR)/stm8s_it.rel \
$(BUILD_DIR)/Logger.rel \
$(BUILD_DIR)/VoltageSensorPeakValue.rel \
$(BUILD_DIR)/MeasurementCollector.rel \
$(BUILD_DIR)/MeassurementFrame.rel
$(CC) $(CFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/ $< \
$(BUILD_DIR)/stm8s_gpio.rel \
$(BUILD_DIR)/stm8s_it.rel \
$(BUILD_DIR)/VoltageSensorActualValue.rel \
$(BUILD_DIR)/ApplicationBuilder.rel \
$(BUILD_DIR)/PulseCounter.rel \
$(BUILD_DIR)/Logger.rel \
$(BUILD_DIR)/UserInterface.rel \
$(BUILD_DIR)/stm8s_uart1.rel \
$(BUILD_DIR)/stm8s_clk.rel \
$(BUILD_DIR)/stm8s_i2c.rel \
$(BUILD_DIR)/ClockConfigurator.rel \
$(BUILD_DIR)/TimerConfigurator.rel \
$(BUILD_DIR)/stm8s_tim1.rel \
$(BUILD_DIR)/VoltageSensorPeakValue.rel \
$(BUILD_DIR)/MeasurementCollector.rel \
$(BUILD_DIR)/MeassurementFrame.rel
$(SIZE) $@
clean:
rm -rf $(BUILD_DIR)/*
flash: $(IHX)
stm8flash -c stlink -p stm8s003f3 -w $<
doc:
doxygen doxygen.cfg
formatting:
uncrustify -c uncrustify.cfg --no-backup $(SRCS)/*.c
uncrustify -c uncrustify.cfg --no-backup Inc/*.h