您的位置:首页 > 编程语言 > C语言/C++

makefile---多个源文件,多个可执行文件(C/C++)

2015-09-18 11:05 609 查看
makefile

作用:将多个源文件通过一个makefile文件进行编译生成多个可执行文件。

环境:Vmware Workstation;CentOS-6.4-x86_64

图解说明:



1、创建并编辑文件main1.c:

#include <stdio.h>

int main()
{
printf("main1\n");
return 0;
}

2、创建并编辑文件main2.c:

#include <stdio.h>

int main()
{
printf("main2\n");
return 0;
}

3、创建并编辑文件makefile:

.SUFFIXES:.c .o

CC=gcc

SRCS1=main1.c
OBJS1=$(SRCS1:.c=.o)
EXEC1=main1

SRCS2=main2.c
OBJS2=$(SRCS2:.c=.o)
EXEC2=main2

start: $(OBJS1) $(OBJS2)
$(CC) -o $(EXEC1) $(OBJS1)
$(CC) -o $(EXEC2) $(OBJS2)
@echo "-----------------------------OK-----------------------"

.c.o:
$(CC) -Wall -g -o $@ -c $<

clean:
rm -rf $(EXEC1) $(OBJS1)
rm -rf $(EXEC2) $(OBJS2)

4、编译源文件并执行:

[negivup@negivup mycode]$ make
gcc -Wall -g -o main1.o -c main1.c
gcc -Wall -g -o main2.o -c main2.c
gcc -o main1 main1.o
gcc -o main2 main2.o
-----------------------------OK-----------------------
[negivup@negivup mycode]$ ls
main1  main1.c  main1.o  main2  main2.c  main2.o  makefile
[negivup@negivup mycode]$ main1
main1
[negivup@negivup mycode]$ main2
main2

说明:

      1、上面的文件必须在同一个文件夹中。

      2、把.c改成.cpp,把gcc改成g++,就可以编译C++文件。

PS:根据传智播客视频学习整理得出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: