# ch32v003 TARGET?= ch32v003 #TARGET?= stm32f051 TOOL ?= gcc #TOOL ?= clang PRJ = example VPATH = . ./$(TARGET) BLD = ./build/ DFLAGS = -d LFLAGS = -g LDLIBS = BFLAGS = --strip-unneeded CFLAGS = -MMD -Wall -ggdb -fno-exceptions -ffunction-sections -fdata-sections CFLAGS+= -I. -I./common -I./$(TARGET) -I/usr/include/newlib -DHAVE_CONFIG=1 DEL = rm -f # zdrojaky OBJS = main.o pcmdma.o OBJS += tone.o midiplayer.o miditone.o melody.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 # 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) flash: $(PRJ).elf minichlink -w $(PRJ).bin flash -b miditone.c: ton/gen ton/gen ton/gen: ton/gen.cpp g++ -Os ton/gen.cpp -o ton/gen melody.c: ton/miditones ton/miditones -d -s2 -t4 mid/ ton/miditones: ton/miditonesV1.6.c gcc -Os -Wno-pointer-sign -Wno-return-type ton/miditonesV1.6.c -o ton/miditones # vycisti clean: $(DEL) $(BLD)* *.lst *.bin *.elf *.map *~ miditone.c melody.c distclean: clean $(DEL) ton/gen ton/miditones .PHONY: all clean distclean flash