Migrating repo.
This commit is contained in:
108
firmware/Makefile
Normal file
108
firmware/Makefile
Normal file
@@ -0,0 +1,108 @@
|
||||
# GNU/Linux specific Make directives.
|
||||
|
||||
# Declare tools.
|
||||
SHELL = /bin/sh
|
||||
CC = avr-gcc
|
||||
LD = avr-gcc
|
||||
OBJCOPY = avr-objcopy
|
||||
ECHO = @echo -e
|
||||
|
||||
|
||||
# CHANGE HERE FOR YOUR PROJECT
|
||||
MCU = attiny13a
|
||||
MCUPROG = ATtiny13
|
||||
ARCH =
|
||||
SOURCES = main.c
|
||||
|
||||
|
||||
# Programmer sepcs
|
||||
SOFTPROGRAM = avrdude
|
||||
HARDPROGRAM = buspirate
|
||||
PORT = /dev/ttyUSB0
|
||||
|
||||
|
||||
CFLAGS = -mmcu=$(MCU) -Os -std=c99
|
||||
LDFLAGS = -mmcu=$(MCU)
|
||||
OBJFLAGS = -j .text -j .data -O ihex
|
||||
|
||||
EXECUTABLE = firmware
|
||||
|
||||
|
||||
OBJECTS = $(SOURCES:.c=.o)
|
||||
CLEANFILES = main.o main.asm main.map main.lst main.cod $(EXECUTABLE).elf
|
||||
|
||||
|
||||
|
||||
# To get a fully verbose make output do declare 'AT' at the command line like so: 'make AT='.
|
||||
# By default AT is undefined and thus assigned the string '@' which suppresses output from commands.
|
||||
AT ?= @
|
||||
|
||||
# Colors and efects
|
||||
#######################################
|
||||
|
||||
NORMAL = \033[m
|
||||
|
||||
FG_BLACK = \033[30m
|
||||
FG_DKRED = \033[31m
|
||||
FG_DKGREEN = \033[32;7m
|
||||
FG_DKYELLOW = \033[33m
|
||||
FG_DKBLUE = \033[34m
|
||||
FG_DKMAGENTA = \033[35m
|
||||
FG_DKCYAN = \033[36m
|
||||
FG_GRAY = \033[37m
|
||||
FG_DKGRAY = \033[30;1m
|
||||
FG_REDFULL = \033[31;7m
|
||||
FG_GREEN = \033[32;1m
|
||||
FG_YELLOW = \033[33;7m
|
||||
FG_BLUE = \033[34;7m
|
||||
FG_MAGENTA = \033[35;1m
|
||||
FG_CYAN = \033[36;1m
|
||||
FG_WHITE = \033[37;1m
|
||||
|
||||
|
||||
BG_BLACK = \033[40m
|
||||
BG_DKRED = \033[41m
|
||||
BG_DKGREEN = \033[42m
|
||||
BG_DKYELLOW = \033[43m
|
||||
BG_DKBLUE = \033[44m
|
||||
BG_DKMAGENTA = \033[45m
|
||||
BG_DKCYAN = \033[46m
|
||||
BG_GRAY = \033[47m
|
||||
BG_DKGRAY = \033[40;1m
|
||||
BG_RED = \033[41;1m
|
||||
BG_GREEN = \033[42;1m
|
||||
BG_YELLOW = \033[43;1m
|
||||
BG_BLUE = \033[44;1m
|
||||
BG_MAGENTA = \033[45;1m
|
||||
BG_CYAN = \033[46;1m
|
||||
BG_WHITE = \033[47;1m
|
||||
|
||||
##########################################
|
||||
|
||||
.SUFFIXES: .c .o
|
||||
.PHONY: clean
|
||||
|
||||
# Compile
|
||||
all: $(EXECUTABLE)
|
||||
|
||||
.c.o:
|
||||
$(ECHO) "[$(FG_BLUE)COMPILING$(NORMAL)] $@"
|
||||
$(AT) $(CC) $(CFLAGS) -o $*.o -c $<
|
||||
|
||||
$(EXECUTABLE): $(OBJECTS)
|
||||
|
||||
$(ECHO) "[$(FG_YELLOW)LINKING$(NORMAL)] $(EXECUTABLE).elf"
|
||||
$(AT) $(LD) $(LDFLAGS) $(OBJECTS) -o $(EXECUTABLE).elf
|
||||
$(ECHO) "[$(FG_YELLOW)BUILDING$(NORMAL)] $(EXECUTABLE).hex"
|
||||
$(AT) $(OBJCOPY) $(OBJFLAGS) $(EXECUTABLE).elf $(EXECUTABLE).hex
|
||||
$(ECHO) "[$(FG_DKGREEN)SUCCESS$(NORMAL)]"
|
||||
|
||||
clean:
|
||||
$(ECHO) "[$(FG_REDFULL)CLEANED$(NORMAL)] $(CLEANFILES)"
|
||||
$(AT) rm -rf $(CLEANFILES)
|
||||
|
||||
flash:
|
||||
$(AT) $(SOFTPROGRAM) -p $(MCUPROG) -c $(HARDPROGRAM) -P $(PORT) -e -U flash:w:$(EXECUTABLE).hex
|
||||
$(ECHO) "[$(FG_WHITE)PROGRAMMED$(NORMAL)]"
|
||||
|
||||
|
Reference in New Issue
Block a user