IonizationChamber/software/Firmware/makefile

146 wiersze
5.0 KiB
Makefile
Executable File

################## 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