Makefile

           1. makefile就像一个Shell脚本一样,可以执行操作系统的命令,它定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作
  
           2.make  是一个命令工具,用来解释Makefile文件中的指令(规则)。可以避免许多不必要的编译


           3.   编写规则:  目标:依赖
                      执行指令

1.编写c++的makefile文件

#注释
makefile:
all:hello

clean:-rm main.o hello

hello:main.o
    g++ -g -o hello main.o

main.o:main.cpp
    g++ -c -g main.o  main.cpp


2.编写C的makefile文件
#注释
makefile:
all:hello


clean:-rm main.o hello


hello:main.o
    gcc -g -o hello main.o


main.o:main.c
    gcc -c -g main.o main.c


 4.  makefile文件引入变量需加 $


  5.makefile  预定义变量


   $*                            不包含扩展名的目标文件名称。
   $+                           所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。
   $<                            第一个依赖文件的名称。
   $?                            所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。
   $@                          目标的完整名称。
   $^                             所有的依赖文件,以空格分开,不包含重复的依赖文件。
   $%                            如果目标是归档成员,则该变量表示目标的归档成员名称。例如,如果目标名称为
                                        (image.o),则 $@ 为 ,而 $% 为 image.o。
   AR                            归档维护程序的名称,默认值为 ar。
   ARFLAGS               归档维护程序的选项。
   AS                            汇编程序的名称,默认值为 as。
   ASFLAGS               汇编程序的选项。
   CC                           C编译器的名称,默认值为 cc。
   CFLAGS                 C编译器的选项。
   CPP                         C 预编译器的名称,默认值为 $(CC) -E。
   CPPFLAGS            C预编译的选项。
   CXX                         C++编译器的名称,默认值为 g++。
   CXXFLAGS             C++编译器的选项。
   FC                             FORTRAN编译器的名称,默认值为 f77。
   FFLAGS                   FORTRAN编译器的选项。


   6. Makefile以文件名:文件名的形式比较冒号右边的文件是不是较左边的文件有更新,

            如果有更新则执行下一行的程序代码。因此Makefile可以把文件关联起来




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值