X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=Makefile.common;h=77b1ad3fe6c76cfec61c66815b8790157b9c2e29;hb=0bfce45007c162fa3f98f4369f7069f3da372502;hp=1f89b04dd1f759b70191a4ae49c1ff778d770e57;hpb=024a09bbfa3065b99b2e7309dd157987b788c7fd;p=simavr diff --git a/Makefile.common b/Makefile.common index 1f89b04..77b1ad3 100644 --- a/Makefile.common +++ b/Makefile.common @@ -26,6 +26,20 @@ # You should have received a copy of the GNU General Public License # along with simavr. If not, see . +CFLAGS += -g --std=gnu99 -O2 +CFLAGS += ${patsubst %,-I%,${subst :, ,${IPATH}}} +LDFLAGS += -lelf + +ifeq (${shell uname}, Darwin) +AVR_ROOT := "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/" +AVR_INC := ${AVR_ROOT}/avr-4/ +AVR := ${AVR_ROOT}/bin/avr- +else +AVR_ROOT := /usr/lib/avr +AVR_INC := ${AVR_ROOT} +AVR := avr- +endif + %.hex: %.axf @${AVR}objcopy -j .text -j .data -O ihex ${<} ${@} @@ -34,7 +48,7 @@ # --mcall-prologues %.axf: %.c - @echo CC ${<} + @echo AVR-CC ${<} @part=${<} ; part=$${part/_*}; \ ${AVR}gcc -Wall -gdwarf-2 -Os -std=gnu99 \ -mmcu=$$part \ @@ -43,6 +57,19 @@ -ffunction-sections -fdata-sections \ -Wl,--relax,--gc-sections \ -Wl,--undefined=_mmcu,--section-start=.mmcu=0x910000 \ - -I../include \ + -I../include -I../../include \ ${<} -o ${@} @${AVR}size ${@}|sed '1d' + +OBJ = obj + +${OBJ}/%.o: %.c + @gcc $(CFLAGS) -MD \ + $< -c -o $@ + @echo CC $< + +${OBJ}: + mkdir -p ${OBJ} + +# include the dependency files generated by gcc, if any +-include ${wildcard ${OBJ}/*.d}