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:根据传智播客视频学习整理得出。