如何用makefile编译多个c文件

来源:百度知道 编辑:UC知道 时间:2024/05/27 15:34:26
请问,如何用一个makefile同时编译多个c文件。比如我有三个c文件,1.c 2.c 3.c然后在linux下建立一个makefile。然后通过一个make命令。一下子就编译这三个c文件。

用依赖,例如让all target依赖prog1 - prog3. 这样子make的时候就一起了。

#Makefile for building 3 programmings
all: prog1 prog2 prog3

prog1: 1.c
$(CC) $< -o $@

prog2: 2.c
$(CC) $< -o $@

prog3: 3.c
$(CC) $< -o $@

.PHONY: all

假设有下面几个c++文件:
wherewhen.h wherewhen.c
countdown.h countdown.c 包含了math.h, 需要连接库文件
main.c 主函数, main.c 包含了两个头文件 wherewhen.h and countdown.h
1、第一种编译方法:
g++ -Wall -g wherewhen.c countdown.c main.c -lm -o myprogram
生成可执行文件myprogram
2、第二中编译方法, 分别编译各个文件:
g++ -Wall -g -c wherewhen.c
g++ -Wall -g -c countdown.c
g++ -Wall -g -c main.c
g++ -g wherewhen.o countdown.o main.o -lm -o myprogram