DAWNING 乡光 一个简单的例子 ·先举一个例子:a.cb.c两个程序 a.c b.c extern void p(char *) void p(char *str) mainO p("hello world"); printf("%os n",str); z Makefile hello:a.c b.c gcca.cb.c-o hello←注意这里是一个Tab z执行make gcc a.c b.c-o hello 产生一个叫hellof的可执行程序 2/19/2024 11/34
2/19/2024 11/34 一个简单的例子 • 先举一个例子: a.c b.c两个程序 a.c extern void p(char *); main() { p("hello world"); } b.c void p(char *str) { printf("%s\n",str); } z Makefile hello: a.c b.c gcc a.c b.c -o hello 注意这里是一个Tab z 执行make gcc a.c b.c -o hello 产生一个叫hello的可执行程序
DAWNING 乡暖光 书写makefile文件 科技计算素米 Makefile时由规则来组成的,每一条规则都有三部分组成:目 标(object),依赖(dependency)和命令(command).在上面的例 子中,Makefile只有一条规则侧,其目标为hello,期依赖为a.cb.c, 其命令为gcca.cb.c-o hello. 。 依赖可以是另一条规侧的目标,也可以是文件.每一条规侧 被这样处理如目标是一个文件是:当它的依赖是文件时,如 果依赖的时间比目标要新,则侧运行规侧所包含的命令来更 新目标,如果依赖是另一个目标则用同样的方法先来处理 这个目标如目标不是一个存在的文件时,则一定执行 2/19/2024 12134
2/19/2024 12/34 书写makefile文件 • Makefile时由规则来组成的,每一条规则都有三部分组成:目 标(object),依赖(dependency)和命令(command).在上面的例 子中, Makefile只有一条规则,其目标为hello,期依赖为a.c b.c, 其命令为gcc a.c b.c -o hello. • 依赖可以是另一条规则的目标,也可以是文件.每一条规则 被这样处理.如目标是一个文件是:当它的依赖是文件时,如 果依赖的时间比目标要新, 则运行规则所包含的命令来更 新目标; 如果依赖是另一个目标则用同样的方法先来处理 这个目标.如目标不是一个存在的文件时,则一定执行