1、一个简单的c程序
包括main.c tool1.c tool2.c tool1.h tool2.h。编写的Makefile如下,注意gcc前的空格,不能顶格写
2、也可以简化为
说明:
$@表示目标文件
$^表示所有依赖文件
$<表示第一个依赖文件
..c.o表示表示所有的.o文件都是依赖相应的.c文件,如main.o依赖main.c
3、源代码
main.c
tool1.h
tool2.h
tool1.c
tool2.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);
}