SOURCES=main.c utils.c adc.c 
BINARY=analog_in

MCU=msp430g2553
CC=msp430-gcc
OBJC=msp430-objcopy
OBJD=msp430-objdump
SIZE=msp430-size
CFLAGS=-Os -Wall -g -mmcu=$(MCU)

DEBUG=mspdebug
DRIVER=rf2500

CPPFILES=$(filter %.cpp, $(SOURCES))
CCFILES=$(filter %.cc, $(SOURCES))
BIGCFILES=$(filter %.C, $(SOURCES))
CFILES=$(filter %.c, $(SOURCES))
ASMFILES=$(filter %.S, $(SOURCES))


OBJS=	$(CFILES:.c=.o)		\
	$(CPPFILES:.cpp=.o)	\
	$(BIGCFILES:.C=.o) 	\
	$(CCFILES:.cc=.o)  	\
	$(ASMFILES:.S=.o)

all: $(BINARY).hex $(BINARY).elf

$(BINARY).hex: $(BINARY).elf
	$(OBJC) -O ihex $(BINARY).elf $(BINARY).hex

$(BINARY).elf: $(OBJS)
	$(CC) $(CFLAGS) -o $(BINARY).elf $(OBJS)

%.o: %.c
	$(CC) $(CFLAGS) -c $<

clean:
	rm -fr *.hex *.elf *~ $(OBJS)

flash: $(BINARY).hex
	$(DEBUG) $(DRIVER) "prog $(BINARY).hex"

info: $(BINARY).elf
	$(SIZE) $(BINARY).elf

