64 lines
1.2 KiB
Makefile
64 lines
1.2 KiB
Makefile
MCU_TARGET = atmega48
|
|
DEFS =
|
|
OPTIMIZE = -Os
|
|
|
|
LIB = SiWiCom
|
|
LIB_C_SRC = rfProtocol.c cc1100.c spi.c usart.c pcProtocol.c
|
|
LIB_A_SRC =
|
|
|
|
LIB_OBJ = $(LIB_A_SRC:.S=.o) $(LIB_C_SRC:.c=.o)
|
|
LIBFILE = lib$(LIB).a
|
|
|
|
ASFLAGS = -c -mmcu=$(MCU_TARGET) -DMCU=$(MCU_TARGET) -Wa,-gstabs $(DEFS)
|
|
CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS) -I.
|
|
CPPFLAGS = $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS) -I.
|
|
|
|
AS = avr-gcc -x assembler-with-cpp
|
|
CC = avr-gcc
|
|
CPP = avr-cpp
|
|
AR = avr-ar
|
|
RANLIB = avr-ranlib
|
|
OBJDUMP = avr-objdump
|
|
OBJCOPY = avr-objcopy
|
|
|
|
EXTRA_CLEAN_FILES =
|
|
|
|
.PHONY: all clean
|
|
|
|
|
|
all: $(LIBFILE) lst
|
|
|
|
%o: %S
|
|
$(AS) $(ASFLAGS) $< -o $@
|
|
|
|
%.d: %.c
|
|
set -e; $(CC) -MM $(CPPFLAGS) $< \
|
|
| sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
|
|
[ -s $@ ] || rm -f $@
|
|
|
|
%.d: %.S
|
|
set -e; $(AS) -MM $(CPPFLAGS) $< \
|
|
| sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
|
|
[ -s $@ ] || rm -f $@
|
|
|
|
|
|
$(LIBFILE): $(LIBFILE)($(LIB_OBJ))
|
|
$(RANLIB) $@
|
|
|
|
|
|
clean:
|
|
-rm -rf *.o *.d *~ $(LIBFILE) *.lst *.map $(EXTRA_CLEAN_FILES)
|
|
|
|
|
|
lst: $(LIB_OBJ:%.o=%.lst)
|
|
|
|
|
|
%.lst: %.o
|
|
$(OBJDUMP) -h -S $< > $@
|
|
|
|
# Cleaning up unnecessary files
|
|
-rm -rf *.lst
|
|
|
|
#EOF
|
|
|