wiki/Avr-gcc:make
собственно дал линк на "умную книжку" и свой Makefile - можно использовать под любой проект, правки минимум

свой мейк строил на основе мейка из умной книжки

|  | roboforum.ruТехнический форум по робототехнике. |  | 





# output filename
program_name := main
# source directories ('.' - current dir)
source_dirs  := .
#source_dirs  := . includes
#source_dirs      := $(addprefix ../,$(source_dirs))
# uC type
mcu   := atmega128
# CPU freq
f_cpu := 14745600UL
# compiler flags
cpflags   := -mmcu=$(mcu) -Wall -g -O2 -DF_CPU=$(f_cpu)
# linker flags
ldflags := -mmcu=$(mcu) -Wl
#- do not need to edit ----------------------------------------------
rm := rm -rf
cog := cog.py -r
# compiller
cc := avr-g++
cclog := compile.log
# avr-objcopy
objcpy := avr-objcopy
# doxygen
doxygen := doxygen
doxylog := doxygen.log
search_wildcards := $(addsuffix /*.cpp,$(source_dirs))
$(addsuffix .out,$(program_name)): cog all
all: $(notdir $(patsubst %.cpp,%.o, $(wildcard $(search_wildcards) ) ) )
   $(cc) $(ldflags) $^ -o $(addsuffix .out,$(program_name)) 2>>$(cclog)
   $(objcpy) -R.eeprom -O ihex $(addsuffix .out,$(program_name)) $(addsuffix .hex,$(program_name)) 2>>$(cclog)
   $(doxygen) 2>> $(doxylog)
VPATH := $(source_dirs)
%.o: %.cpp
   $(cc) $(cpflags) $(addprefix -I,$(source_dirs)) -MD -c  $< 2>>$(cclog)
cog:
   $(cog) *.cpp *.h
include $(wildcard *.d)
clean:
   $(rm) $(addsuffix .out,$(program_name)) $(addsuffix .hex,$(program_name)) *.d *.o *.hex $(cclog) $(doxylog) doc
   $(cog) -x *.cpp *.h


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0