Android内核剖析读书笔记-----1.5 Make脚本备忘

1.5 Make脚本
        Make脚本多用于自动编译,Make脚本语法:
                        目标(target): 条件(prerequest)
                        (TAB 键)命令
        目标可以是任意字符串或者文件,条件可以是别处目标或者文件,执行make脚本时,当目标和条件都是文件且目标和条件的时间戳不同时,解释器将执行命令,命令是任何和执行程序。
    自动编译的基本原理就是将目标作用于目标,将源文件作用于条件,当条件修改时,目标的时间戳会先于条件,命令将会自动执行。
    Make脚本不仅适用于自动编译,所有基于时间戳来操作的场合都可以考虑Make脚本。
    1.5.1 一个简单的MakeFile 文件
        #this is a sample mikefile
        $(info start woking)
        hello: helloLinux.c
        echo "nothing"

        hello.bin: helloLinux.c
        @echo "start compile hello.bin"
        gcc helloLinux.c -o hello.bin
        .PHONY he:
        he: helloLinux.c
        @echo "start compile he"
    #代表注释。
    $函数调用符号,info函数名,作用是输出一段内容。还有error,warning。
    目标定义前不能加空格,命令行前必须以TAB键开始。
    .PHONY声明目标,.PHONY 声明的目标总是执行其命令(注:书中he后没有:但是我测试时,总是运行错误,提示没有分割符,加上后运行通过)
    @表示不输出执行的命令。默认情况下会输出执行的命令。
    hello.bin和helloLinux.c都是文件,只有当helloLinux.c发生改变的时候才会执行命令。hello,he不是具体文件,每次make都会执行命令。

    使用make -f Makefile hello执行上述脚本,-f用于指定脚本,假如没有指定,则系统会自动在当前目录下寻找Makefile文件,没有的话则运行失败。
    hello是具体要运行的目标,如果没有指定的话,则执行脚本定义的第一个目标。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值