TARGET = main SRCS := $(shell find -name '*.c') FILES = $(SRCS:%.c=%) #main uart avrIOhelper/io-helper #uart#hier alle c-Datein reinschreiben, trennung durch " " und ohne .c-Endung MCU = atmega328p PROGC = m328p CC = avr-gcc #TOOL = stk500 -P /dev/ttyUSB0 #TOOL = atmelice_isp TOOL = avrispmkii #TOOL = usbasp-clone BUILDDIR = Builds DEFINES = -DF_CPU=2000000UL -DLCD_PORT=PORTD -DLCD_DDR=DDRD -DLCD_RS=4 -DLCD_RW=7 -DLCD_EN=5 -DLCD_D0=0 -DLCD_D1=1 -DLCD_D2=2 -DLCD_D3=3 CFLAGS =-mmcu=$(MCU) -O2 -Wall -Wpedantic $(DEFINES) -std=c99 -ffunction-sections -fdata-sections -Ii2c_peter LDFLAGS =-mmcu=$(MCU) -Wl,--gc-sections LDFILES = $(foreach FILE,$(FILES),$(BUILDDIR)/$(FILE).o) all: clean $(BUILDDIR)/$(TARGET).elf $(BUILDDIR)/%.o: %.c mkdir -p $(dir $@) $(CC) $(CFLAGS) -c $< -o $(BUILDDIR)/$*.o $(BUILDDIR)/$(TARGET).elf: $(LDFILES) mkdir -p $(dir $@) $(CC) $(LDFLAGS) $(LDFILES) -o $(BUILDDIR)/$(TARGET).elf $(BUILDDIR)/$(TARGET).hex : $(BUILDDIR)/$(TARGET).elf avr-objcopy -j .data -j .text -O ihex $< $@ fuse: avrdude -p $(PROGC) -c $(TOOL) -U lfuse:w:0xE8:m -U hfuse:w:0xD1:m load: $(BUILDDIR)/$(TARGET).hex avrdude -p $(PROGC) -c $(TOOL) -U flash:w:$(BUILDDIR)/$(TARGET).hex -v -B 125kHz program: clean load reset: avrdude -p $(PROGC) -c $(TOOL) size: $(BUILDDIR)/$(TARGET).elf avr-size -C --mcu=$(MCU) $(BUILDDIR)/$(TARGET).elf .PHONY=clean clean: rm -rf $(BUILDDIR) #Fuse m1284p external Osz. Long startuptime # avrdude -c usbasp-clone -p m1284p -U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m #Fuse m1284p internal Osz. Long startuptime # avrdude -c usbasp-clone -p m1284p -U lfuse:w:0xe2:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m