2 # Copyright 2008, 2009 Michel Pollet <buserror@gmail.com>
4 # This file is part of simavr.
6 # simavr is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # simavr is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with simavr. If not, see <http://www.gnu.org/licenses/>.
21 ifeq (${shell uname}, Darwin)
22 AVR_ROOT := "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr-4/"
24 AVR_ROOT := /usr/lib/avr
27 CFLAGS = -g -std=gnu99 -Wall
28 CFLAGS += -O3 -mfpmath=sse -msse2
30 cores = ${wildcard cores/*.c}
31 cores_o = ${patsubst cores/%.c, obj/%.o, ${cores}}
32 sim = ${wildcard sim/sim_*.c} ${wildcard sim/avr_*.c}
33 sim_o = ${patsubst sim/%.c, obj/%.o, ${sim}}
43 IPATH += /opt/local/include
45 CFLAGS += ${patsubst %,-I%,${subst :, ,${IPATH}}}
46 LFLAGS = -L/opt/local/lib/
49 all: obj libsimavr.a ${target}
54 obj/sim_%.o : cores/sim_%.c
56 -I${AVR_ROOT}/include/ \
65 libsimavr.a : ${cores_o}
66 libsimavr.a : ${sim_o}
71 ${target} : libsimavr.a
72 ${target} : obj/${target}.o
73 @gcc $(CFLAGS) $(LFLAGS) \
79 rm -rf ${target} obj *.a
81 # include the dependency files generated by gcc, if any
82 -include ${wildcard obj/*.d}