@@ -43,13 +43,12 @@ CFLAGS += -O2 -Wall -Wextra -Werror -Wno-unused-parameter \
43
43
-Wno-unused-result -Wno-missing-field-initializers \
44
44
-Wno-sign-compare
45
45
CFLAGS += -g
46
- CORE_CFLAGS = -nostdinc - DAVR_CORE=1
46
+ CORE_CFLAGS = -DAVR_CORE=1
47
47
48
48
ifeq (${shell uname}, Darwin)
49
49
# gcc 4.2 from MacOS is really not up to scratch anymore
50
50
CC = clang
51
51
AVR_ROOT := "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/"
52
- AVR_INC := ${AVR_ROOT}/avr/
53
52
AVR := ${AVR_ROOT}/bin/avr-
54
53
# Thats for MacPorts libelf
55
54
ifeq (${shell test -d /opt/local && echo Exists}, Exists)
@@ -62,7 +61,6 @@ ifeq (${shell uname}, Darwin)
62
61
CC = clang
63
62
IPATH += /opt/local/include /opt/local/include/libelf
64
63
LFLAGS = -L/opt/local/lib/
65
- AVR_INC := /opt/local/avr
66
64
AVR := /opt/local/bin/avr-
67
65
else
68
66
# That's for Homebrew libelf and avr-gcc support
@@ -79,17 +77,10 @@ ifeq (${shell uname}, Darwin)
79
77
LFLAGS = -L$(HOMEBREW_PREFIX)/lib/
80
78
CFLAGS += -I/$(HOMEBREW_PREFIX)/include/libelf
81
79
AVR_ROOT := $(firstword $(wildcard $(HOMEBREW_PREFIX)/Cellar/avr-libc/*/))
82
- AVR_INC := ${AVR_ROOT}/avr
83
80
AVR := $(HOMEBREW_PREFIX)/bin/avr-
84
81
endif
85
82
endif
86
83
else
87
- LINUX_AVR_ROOTS := /usr/lib/avr /usr/avr /opt/cross/avr/avr /usr/local/avr
88
- AVR_ROOT := $(firstword $(wildcard $(LINUX_AVR_ROOTS)))
89
- ifeq (${AVR_ROOT},)
90
- $(error No avr-libc root directory found. Tried the following paths: $(LINUX_AVR_ROOTS))
91
- endif
92
- AVR_INC := ${AVR_ROOT}
93
84
AVR := avr-
94
85
endif
95
86
98
89
99
90
ifeq (${WIN}, Msys)
100
91
AVR_ROOT := ${shell echo "${AVR32_HOME}" | tr '\\' '/'}
101
- AVR_INC := ${AVR_ROOT}/avr
102
92
AVR := ${AVR_ROOT}/bin/avr-
103
93
IPATH += ${PREFIX}/include
104
94
CFLAGS += -I${PREFIX}/include
@@ -111,7 +101,7 @@ endif
111
101
CPPFLAGS += --std=gnu99 -Wall
112
102
CPPFLAGS += ${patsubst %,-I%,${subst :, ,${IPATH}}}
113
103
114
- AVR_CPPFLAGS= ${CPPFLAGS} -idirafter ${AVR_INC}/include
104
+ AVR_CPPFLAGS = ${CPPFLAGS} -I${SIMAVR}/cores
115
105
116
106
CC ?= clang
117
107
AR ?= ar
@@ -141,6 +131,12 @@ LFLAGS += -Wl,-rpath,${LIBDIR}
141
131
endif
142
132
endif
143
133
134
+ ifeq (${V}, 1)
135
+ E =
136
+ else
137
+ E = @
138
+ endif
139
+
144
140
# The code is compiled "optimized" to the max.
145
141
#
146
142
# The weird "-Wl,--undefined=_mmcu,--section-start=.mmcu=0x910000"
@@ -170,34 +166,25 @@ endif
170
166
171
167
# this rule has precedence
172
168
${OBJ}/sim_%.o : cores/sim_%.c
173
- ifeq ($(V),1)
174
- $(CC) $(CPPFLAGS) $(CFLAGS) $(CORE_CFLAGS) -MMD \
175
- ${AVR_CPPFLAGS} \
176
- $< -c -o $@
177
- else
178
- @$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS) $(CORE_CFLAGS) -MMD \
179
- ${AVR_CPPFLAGS} \
180
- $< -c -o $@
169
+ ifneq ($(E),)
181
170
@echo CORE $<
182
171
endif
172
+ ${E}$(CC) $(CPPFLAGS) $(CFLAGS) $(CORE_CFLAGS) -MMD \
173
+ ${AVR_CPPFLAGS} \
174
+ $< -c -o $@
183
175
184
176
${OBJ}/%.o: %.c
185
- ifeq ($(V),1)
186
- $(CC) $(CPPFLAGS) $(CFLAGS) -MMD \
187
- $< -c -o $@
188
- else
189
- @$(CC) $(CPPFLAGS) $(CFLAGS) -MMD \
190
- $< -c -o $@
177
+ ifneq ($(E),)
191
178
@echo CC $<
192
179
endif
180
+ ${E}$(CC) $(CPPFLAGS) $(CFLAGS) -MMD \
181
+ $< -c -o $@
193
182
194
183
${OBJ}/%.elf:
195
- ifeq ($(V),1)
196
- $(CC) -MMD ${CFLAGS} ${LFLAGS} -o $@ $^ $(LDFLAGS)
197
- else
184
+ ifneq ($(E),)
198
185
@echo LD $@
199
- @$(CC) -MMD ${CFLAGS} ${LFLAGS} -o $@ $^ $(LDFLAGS)
200
186
endif
187
+ ${E}$(CC) -MMD ${CFLAGS} ${LFLAGS} -o $@ $^ $(LDFLAGS)
201
188
202
189
obj: ${OBJ}
203
190
0 commit comments