56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
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     = atmega2560
 | 
						|
PROGC	= m2560
 | 
						|
CC      = avr-gcc
 | 
						|
#TOOL    = atmelice_isp
 | 
						|
#TOOL    = avrispmkii
 | 
						|
TOOL    = usbasp-clone
 | 
						|
 | 
						|
BUILDDIR = Builds
 | 
						|
 | 
						|
DEFINES = -I . -IInternet/MQTT -I Internet/MQTT/MQTTPacket/src -I Ethernet/W5500 -I Ethernet -DF_CPU=16000000UL -D_WIZCHIP_=W5100
 | 
						|
 
 | 
						|
CFLAGS  =-mmcu=$(MCU) -O2 -Wall -Wpedantic $(DEFINES) -std=c99 -ffunction-sections -fdata-sections
 | 
						|
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 1MHz
 | 
						|
 | 
						|
program: clean load
 | 
						|
	
 | 
						|
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
 | 
						|
 | 
						|
 |