#!/bin/bash

# variable params 

BUILDPATH=./build
BINPATH=/APLICACIONES/arduino-1.0.5/hardware/tools/avr/bin

# Do not edit the following 

CPU=atmega328p

if [[ ! $1 || ! $2 ]]; then
	echo "Usage: linklinux <executable without extension> <...list of object files...>"
	exit
fi

EXECFILE=$(basename "$1")
EXECNAME="${EXECFILE%%.*}"

LISTOFOBJECTS=""
COUNT=1
for var in "$@"
do
	if [[ $COUNT > 1 ]]; then
		OBJFILE=$(basename "$var")
		OBJNAME="${OBJFILE%%.*}"
		LISTOFOBJECTS="$LISTOFOBJECTS $BUILDPATH/$OBJNAME.o"
	fi
	let COUNT=COUNT+1
done

# link - generate elf

$BINPATH/avr-gcc -Wl,--gc-sections -mmcu=$CPU -o $BUILDPATH/$EXECNAME.elf $LISTOFOBJECTS -lm

$BINPATH/avr-size $BUILDPATH/$EXECNAME.elf

echo "(text is code, bss is data, dec is total)"

# link - generate hex

$BINPATH/avr-objcopy -O ihex -R .eeprom $BUILDPATH/$EXECNAME.elf $BUILDPATH/$EXECNAME.hex 
