2019-03-22 14:51:52 +00:00
|
|
|
# Name: Makefile
|
2019-03-22 15:06:59 +00:00
|
|
|
# Project: B15F (board15 Famulus Edition)
|
2019-03-22 14:51:52 +00:00
|
|
|
# Author: Tristan Krause
|
2019-04-02 11:34:59 +00:00
|
|
|
# Creation Date: 2019-03-22
|
|
|
|
|
2019-05-15 12:22:16 +00:00
|
|
|
# MCU Options
|
|
|
|
LFUSE = D2
|
|
|
|
HFUSE = 91
|
|
|
|
EFUSE = FF
|
|
|
|
F_CPU = 20000000
|
|
|
|
DEBUG = -DB15F_DEBUG
|
|
|
|
|
2019-04-03 13:02:23 +00:00
|
|
|
# Environment
|
2019-04-02 11:34:59 +00:00
|
|
|
COMPILER_PATH = avr-g++
|
|
|
|
OBJCOPY_PATH = avr-objcopy
|
|
|
|
|
2019-04-03 13:02:23 +00:00
|
|
|
# Optionen
|
|
|
|
PROGRAMMER = avrispmkII
|
|
|
|
OUTPUT = B15F.elf
|
2019-05-15 12:22:16 +00:00
|
|
|
HEX = B15F.hex
|
|
|
|
MCU = atmega1284p
|
|
|
|
CFLAGS = -Wall -Wextra -std=c++14 -O3 -mmcu=$(MCU) -DF_CPU=$(F_CPU) $(DEBUG)
|
2019-04-03 13:02:23 +00:00
|
|
|
LDFLAGS =
|
|
|
|
OBJECTS = main.o spi.o mcp23s17.o tlc5615.o adu.o selftest.o global_vars.o usart.o requests.o interrupts.o
|
2019-04-02 11:34:59 +00:00
|
|
|
|
2019-03-22 14:51:52 +00:00
|
|
|
|
|
|
|
COMPILE = $(COMPILER_PATH) $(CFLAGS)
|
2019-05-15 12:22:16 +00:00
|
|
|
FUSES = (E:$(EFUSE), H:$(HFUSE), L:$(LFUSE))
|
2019-03-22 14:51:52 +00:00
|
|
|
|
|
|
|
B15F: $(OBJECTS)
|
|
|
|
@echo "Linking..."
|
2019-04-02 11:34:59 +00:00
|
|
|
$(COMPILE) $(OBJECTS) -o $(OUTPUT) $(LDFLAGS)
|
|
|
|
|
2019-03-22 15:06:59 +00:00
|
|
|
$(OBJCOPY_PATH) -O ihex -R .eeprom -R .fuse -R .lock -R .signature $(OUTPUT) $(HEX)
|
2019-03-22 14:51:52 +00:00
|
|
|
|
|
|
|
help:
|
2019-03-25 08:57:38 +00:00
|
|
|
@echo "This Makefile has the following rules:"
|
2019-03-22 14:51:52 +00:00
|
|
|
@echo "make B15F .... to compile (default)"
|
2019-03-25 08:57:38 +00:00
|
|
|
@echo "make clean ... to delete objects, elf and hex file"
|
2019-03-22 14:51:52 +00:00
|
|
|
|
2019-04-02 11:34:59 +00:00
|
|
|
clean:
|
2019-03-22 15:06:59 +00:00
|
|
|
@echo "Cleaning..."
|
2019-03-25 08:57:38 +00:00
|
|
|
rm -f $(OBJECTS) $(OUTPUT) $(HEX)
|
2019-03-22 14:51:52 +00:00
|
|
|
|
2019-05-15 12:22:16 +00:00
|
|
|
checkfuses:
|
|
|
|
@echo ""
|
|
|
|
@echo "Checking fuses..."
|
|
|
|
bash -c 'diff -B <( echo "$(FUSES)" ) <( avrdude -Pusb -p $(MCU) -c $(PROGRAMMER) 2>&1 | grep "safemode: Fuses OK" | tail -c 19 ) >/dev/null || avrdude -Pusb -p $(MCU) -c $(PROGRAMMER) -U lfuse:w:0x$(LFUSE):m -U hfuse:w:0x$(HFUSE):m -U efuse:w:0x$(EFUSE):m'
|
|
|
|
|
|
|
|
upload: B15F checkfuses
|
2019-04-03 13:02:23 +00:00
|
|
|
avrdude -Pusb -p $(MCU) -c $(PROGRAMMER) -U flash:w:$(HEX)
|
2019-04-02 11:34:59 +00:00
|
|
|
|
2019-03-22 14:51:52 +00:00
|
|
|
.cpp.o:
|
|
|
|
$(COMPILE) -c $< -o $@
|