解释下Winavr中的makefile.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解释下Winavr中的makefile

今天有空,解释下Winavr中的makefile! 2008-10-19 16:49:21|??分类: 微控制器 |??标签: |字号大中小?订阅 ? # Hey Emacs, this is a -*- makefile -*- # # WinAVR Sample makefile written by Eric B. Weddington, J鰎g Wunsch, et al. # Released to the Public Domain # Please read the make user manual! # # Additional material for this makefile was submitted by: #? Tim Henigan #? Peter Fleury #? Reiner Patommel #? Sander Pool #? Frederik Rouleau #? Markus Pfaff # # On command line: # # make all = Make software. # # make clean = Clean out built project files. # # make coff = Convert ELF to AVR COFF (for use with AVR Studio 3.x or VMLAB). # # make extcoff = Convert ELF to AVR Extended COFF (for use with AVR Studio #??????????????? 4.07 or greater). # # make program = Download the hex file to the device, using avrdude.? Please #??????????????? customize the avrdude settings below first! # # make filename.s = Just compile filename.c into the assembler code only # # To rebuild project do "make clean" then "make all". # ? 风城少主 于 2008年10月19日? 笔 ? E_mail : wyoujtg@163.com ? 欢迎转载和与我交流! ? 今天有空,解释下Winavr中的makefile! 注:从“/*” 到 “*/”之间的内容是我加入的 ? ? ? # MCU name MCU = atmega128 /* 在makefile文件中定义的变量,有点类似C语言中的宏,它代表了一个文本字符串;在C语言中,在编译的预处理阶段,用到宏的地方都会用宏的定义进行精确的展开,而在makefile文件执行的时候,变量也会自动按它的值展开在所使用的位置。既然称作变量,当然就是可改变的,这就是它与C语言中的宏的不同之处。 在上面定义了一个变量MCU,并赋予它的初值为atmega128。 变量的赋值,有如下三种方法: 1). MCU = atmega128????????????? //直接赋值 2). MCU := $(AVR)???????????? ???????? //直接赋值,但有限制 3). MCU+ = atmega128??????????? //追加方式 讲下第二种,这句话的意思是把变量AVR的值赋予变量MCU,使用一个变量时需要用$(),这个要记住!“=”号前有个“:”,这要求变量AVR要在变量MCU定义之前被定义,这就是限制! 前面讲到它有点类似C语言中的宏,它代表了一个文本字符串,追加方式可以理解为两个字符串连接在一起。 这个变量的作用主要是传递MCU型号给编译器,好让它选择与MCU型号对应头文件等。 */ ? # Output format. (can be srec, ihex, binary) FORMAT = ihex /* 定义一个变量FORMAT,值为ihex,作用是选择生成的烧录文件的格式,该变量可设置的值有srec, ihex, binary */ ? # Target file name (without extension). TARGET = main /* 定义一个变量TARGET,值为main,作用是告诉编译器最终目标的名字叫什么,在这里就讲下什么叫目标,请看下面: foo.o: foo.c foo.h ???????? gcc –c –g foo.c foo.o也就是目标!foo.c foo.h是foo.o目标所依赖的文件,如果foo.c与foo.h当中有一个或以上

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档