`
忧里修斯
  • 浏览: 427711 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Makefile的编写

阅读更多
1、一个简单的c程序
包括main.c tool1.c tool2.c tool1.h tool2.h。编写的Makefile如下,注意gcc前的空格,不能顶格写
main:main.o tool1.o tool2.o
    gcc -o main main.o tool1.o tool2.o
main.o:main.c tool1.h tool2.h
    gcc -c main.c
tool1.o:tool1.c tool1.h
    gcc -c tool1.c
tool2.o:tool2.c tool2.h
    gcc -c tool2.c 

2、也可以简化为
main:main.o tool1.o tool2.o
    gcc -o $@ $^
..c.o:
    gcc -c $<   

说明:
$@表示目标文件
$^表示所有依赖文件
$<表示第一个依赖文件
..c.o表示表示所有的.o文件都是依赖相应的.c文件,如main.o依赖main.c
3、源代码
main.c
#include "tool1.h"
#include "tool2.h"

int main(int agrc,char **argv){

    tool1_print("Hello\n");                                                                                                                                                      
    tool2_print("World\n");
}

tool1.h
void tool1_print(char *str);  

tool2.h
void tool2_print(char *str);  

tool1.c
#include<stdio.h>
#include "tool1.h"
void tool1_print(char *str){
    printf("Hi1,This is tool1_print:%s",str);                                                                                                                                 
}

tool2.c
#include<stdio.h>
#include "tool2.h"
void tool2_print(char *str){
    printf("Welcome2!This is tool2_print:%s",str);                                                                                                                               
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics