buserror/simavr — pull request #105 by ve3wwg (2014-11-15 15:08:56+00:00)
Title: uname -o fixes and allow AVR_ROOT and AVR_INC overrides

Hi:

These changes hopefully address your uname -o problem. Basically, the change to the Makefiles changes:

WIN := ${shell uname -o}

to

WIN := ${shell uname -o 2>/dev/null ; if [ $$? -ne 0 ] ; then uname -s; fi}

etc.

I also propose a change here:

AVR_ROOT := "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/"
AVR_INC := ${AVR_ROOT}/avr-4/

to

AVR_ROOT ?= "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/"
AVR_INC ?= ${AVR_ROOT}/avr-4/

This allows me to set AVR_ROOT and AVR_INC in the .make.options file without modifying your Makefile.common file. With the := operator, my changes were always overridden. Perhaps a note about the well kept secret .make.options file would also be helpful :)

These settings are working for me on a Mac Yosemite:

$ cat .make.options
V = 0
CFLAGS	+= -I/usr/include -I/opt/local/include -I/opt/local/include/libelf
CFLAGS	+= -Wno-deprecated
AVR_ROOT	= /usr/local/CrossPack-AVR
AVR_INC	= ${AVR_ROOT}/avr

There remains one unresolved problem however, with the compile of cores/sim_mega324.c. The include file "avr/iom324.h has now been split into three files:

- avr/iom324a.h
- avr/iom324p.h
- avr/iom324pa.h

It looks to me at first blush that sim_mega324.c should be split into three versions but I am not yet familiar enough with this project to make that determination.

Thanks, Warren ve3wwg@gmail.com