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