-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
30 lines (21 loc) · 843 Bytes
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
SOURCES := src/SPO256.c
ARCHIVE := $(addprefix lib,$(notdir $(SOURCES:.c=.a)))
AVR_MMCU := $(if $(AVR_MMCU),$(AVR_MMCU),atmega328p)
AVR_CPU_SPEED := $(if $(AVR_CPU_SPEED),$(AVR_CPU_SPEED),16000000UL)
LIB_PATH := AVR-LIBRARY-COMMON_DEFINES
CROSS_COMPILE := avr-
CC := gcc
AR := ar
INCLUDES := $(addprefix -I,$(LIB_PATH))
AVR_CFLAGS := $(if $(AVR_CFLAGS),$(AVR_CFLAGS),-Wall -g2 -gstabs -O1 -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=$(AVR_MMCU) -DF_CPU=$(AVR_CPU_SPEED))
AVR_AFLAGS := -r
AVR_OBJECTS := $(SOURCES:.c=.o)
.PHONY: all AVR_BUILD
all: AVR_BUILD
AVR_BUILD: $(ARCHIVE)
$(ARCHIVE) : $(AVR_OBJECTS)
$(CROSS_COMPILE)$(AR) $(AVR_AFLAGS) $@ $<
%.o: %.c
$(CROSS_COMPILE)$(CC) $(INCLUDES) $(AVR_CFLAGS) -c $< -o $@
clean:
rm -f $(AVR_OBJECTS) $(ARCHIVE)