mirror of
https://github.com/eddyem/scorpio.git
synced 2025-12-06 02:35:13 +03:00
78 lines
1.4 KiB
Makefile
78 lines
1.4 KiB
Makefile
### https://habrahabr.ru/post/247663/
|
|
|
|
NAME = scorpio
|
|
|
|
OBJCOPY = avr-objcopy
|
|
OBJDUMP = avr-objdump
|
|
CC = avr-gcc
|
|
OPTIMIZE= -Os
|
|
DEFS = -DBAUD=9600
|
|
DEFS += -DEBUG
|
|
LIBS =
|
|
|
|
# controller
|
|
DEVICE = atmega8535
|
|
#Тактовая частота 8 МГц
|
|
CLOCK = 8000000
|
|
# partno (for avrdude)
|
|
PARTNO = m8535
|
|
|
|
CFLAGS = -g -Wall $(OPTIMIZE) $(DEFS)
|
|
LDFLAGS = -Wl,-Map,$(NAME).map
|
|
|
|
# programmer (for avrdude)
|
|
PROGRAMMER = avrisp
|
|
|
|
# serial port device (for avrdude)
|
|
SERPORT = /dev/ttyUSB0
|
|
|
|
SRC=$(wildcard *.c)
|
|
HEX = $(NAME).hex
|
|
ELF = $(NAME).elf
|
|
OBJECTS = $(SRC:%.c=%.o)
|
|
|
|
# avrdude command from arduino IDE
|
|
AVRDUDE = avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -p$(PARTNO) -c$(PROGRAMMER) -P$(SERPORT) -b19200 -D
|
|
|
|
COMPILE = $(CC) $(CFLAGS) -mmcu=$(DEVICE) -DF_CPU=$(CLOCK)
|
|
|
|
all: $(HEX) lst
|
|
|
|
$(ELF): $(OBJECTS)
|
|
@echo "ELF"
|
|
@$(COMPILE) $(LDFLAGS) -o $(ELF) $(OBJECTS) $(LIBS)
|
|
|
|
$(HEX): $(ELF)
|
|
@echo "HEX"
|
|
@rm -f $(HEX)
|
|
@$(OBJCOPY) -j .text -j .data -O ihex $(ELF) $(HEX)
|
|
@avr-size $(ELF)
|
|
|
|
.c.o:
|
|
@$(COMPILE) -c $< -o $@
|
|
|
|
.S.o:
|
|
@$(COMPILE) -x assembler-with-cpp -c $< -o $@
|
|
|
|
.c.s:
|
|
@$(COMPILE) -S $< -o $@
|
|
|
|
lst: $(NAME).lst
|
|
|
|
%.lst: %.elf
|
|
@echo "Make listing"
|
|
@$(OBJDUMP) -h -S $< > $@
|
|
|
|
flash: all
|
|
@echo "Flash"
|
|
$(AVRDUDE) -U flash:w:$(HEX):i
|
|
|
|
clean:
|
|
@echo "Clean"
|
|
@rm -f $(HEX) $(ELF) $(OBJECTS) *.lst *.map
|
|
|
|
gentags:
|
|
CFLAGS="$(CFLAGS) -I/usr/avr/include" geany -g $(NAME).c.tags *.[hc] 2>/dev/null
|
|
|
|
.PHONY: gentags clean
|