手写 makefile 一

2019-12-27  本文已影响0人  googoler
  1. 建立三个文件,分别为:main.c、 func.c、func.h 如下:
// func.h

#ifndef _FUNC_H_
#define _FUNC_H_

void say_hello();

#endif
//
// func.c
//

#include "func.h"
#include <stdio.h>

void say_hello()
{
    printf("Hello world\n");
}
//                 
//main.c           
//                 
                   
#include "func.h"  
                   
int main()         
{                  
    say_hello();   
    return 0;      
}                  

源文件如下:


源文件

命令行编译:


命令行编译

生成后:


生成后
运行输出:
运行输出
  1. 添加 makefile 文件如下:
#
# hello world makefile
#

#                                                                                     
# hello world makefile                                                                
#                                                                                     
                                                                                      
hello_world : func.o main.o                            # hello_world 依赖 func.o main.o 
        gcc func.o main.o -o hello_world               # 调用 gcc 链接 生成 helo_world      
                                                                                      
main.o : main.c func.h                                 # main.o 依赖 main.c func.h      
        gcc -c main.c -o main.o                        # 调用 gcc 编译 main.c 生成 main.o   
                                                                                      
func.o : func.c func.h                                 # func.o 依赖 func.c func.h      
        gcc -c func.c -o func.o                        # 调用 gcc 编译 func.c 生成 func.o   
                                                                                      
clean:                                                 # clean 指令                     
        rm -rf *.o hello_world                         # 调用 shel rm 命令 删除 生成文件        

一个makefile 主要含有一系列的规则,如下:
A: B

每个命令行前都必须有tab符号。

执行 make:


执行make

执行生成的程序:


执生成的程序
上一篇 下一篇

猜你喜欢

热点阅读