首先介绍一下makefile:

1.会不会写makefile,从侧面说明一个人是否具备完成大型工程的能力

2.一个工程的源文件很多,按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先      编译哪些文件后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作

3.makefile带来的好处就是“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动化编译极大的提高了软件开发的      效率

4.make是一个命令工具,是一个解释makefile中指令的命令工具

5.make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建

看一个例子:

    C代码:

#include<stdio.h>
  2 int main()
  3 {
  4   printf("hello Makefile\n");
  5   return 0;
  6 }

Makefile文件:里面放的是依赖关系和依赖方法

hello:hello.c
    gcc -o hello hello.c

    hello 可执行文件  依赖于hello.c    (依赖方法)

    gcc -o hello hello.c    (依赖方法)     注意:gcc前面的必须使用Tab键(语法要求)

直接make,生成可执行文件hello  如图:

linux项目自动化构建工具-make/Makefile-LMLPHP

学会了创建项目,也需要学习清理项目

.PHONY:clean
clean:
    rm -f hello

.PHONY:clean   是将.PHONY:后面的标签变成伪目标,总是被执行

    rm -f 前面必须使用Tab键(语法要求)

make clean 就可以将项目删除    如图:

linux项目自动化构建工具-make/Makefile-LMLPHP

写一个小的程序--进度条

#include<stdio.h>
#include<unistd.h>
int main()
{
  int i=0;
  char bar[102]={'\0'};
  const char *lable="|-\\";
  while(i<=100)
  {
    bar[i]='#';
    printf("[%-100s][%d%%][%c]\r",bar,i,lable[i%4]);
    fflush(stdout);
    i++;
    usleep(50000);
  }
  printf("\n");
  return 0;
 }

 

 

 

 

10-06 18:47