# ch32v003 TARGET?= ch32v003 TOOL ?= gcc PRJ = example VPATH = . ./$(TARGET) ./common BLD = ./build/ DFLAGS = -d LFLAGS = -g LDLIBS = BFLAGS = --strip-unneeded CFLAGS = -MMD -Wall -ggdb -fno-exceptions -ffunction-sections -fdata-sections CFLAGS+= -I. -I./$(TARGET) -I./common -I/usr/include/newlib -DUSE_HSE=1 DEL = rm -f # zdrojaky OBJS = main.o i2cmaster.o usart.o print.o include $(TARGET)/$(TOOL).mk BOBJS = $(addprefix $(BLD),$(OBJS)) all: $(BLD) $(PRJ).elf # ... atd. -include $(BLD)*.d # linker $(PRJ).elf: $(BOBJS) -@echo [LD $(TOOL),$(TARGET)] $@ @$(LD) $(LFLAGS) -o $(PRJ).elf $(BOBJS) $(LDLIBS) -@echo "size:" @$(SIZE) $(PRJ).elf -@echo "listing:" $(DUMP) $(DFLAGS) $(PRJ).elf > $(PRJ).lst -@echo "OK." $(COPY) $(BFLAGS) -O binary $(PRJ).elf $(PRJ).bin $(COPY) $(BFLAGS) -O ihex $(PRJ).elf $(PRJ).hex # preloz co je potreba $(BLD)%.o: %.c -@echo [CC $(TOOL),$(TARGET)] $@ @$(CC) -c $(CFLAGS) $< -o $@ $(BLD)%.o: %.cpp -@echo [CX $(TOOL),$(TARGET)] $@ @$(CXX) -std=c++17 -fno-rtti -c $(CFLAGS) $< -o $@ $(BLD): mkdir $(BLD) sin.c: sin.py ./sin.py flash: $(PRJ).elf minichlink -w $(PRJ).bin flash -b # vycisti clean: $(DEL) $(BLD)* *.lst *.bin *.hex *.elf *.map *~ .PHONY: all clean