编写makefile

编写makefile实际上就是把在命令行中g++编译的内容写到makefile当中来

下面是一个没有省略的例子

mytool: main.o tool1.o tool2.o

       g++ main.o tool1.o tool2.o -o mytool

main.o:main.c

      g++ main.c -c -Wall -g -o main.o

tool1.o:too1.c

      g++ tool1.c -c -Wall -g -o tool1.o

tool2.o:tool2.c

     g++ tool2.c -c -Wall -g -o tool2.o

上面不写成

mytool:main.cpp tool1.cpp tool2.cpp

    g++ main.cpp tool1.cpp tool2.cpp -o mytool

的原因是,修改tool1.cpp之后,上面的可以只编译tool1和main,而下面的都需要编译

 

简化版的版本:

OBJS=main.o tool1.o tool2.o

CC=gcc

CFLAGS+=-c -Wall -g

mytool:$(OBJS)

     $(CC) $^ -o $@

%.o:%.c

      $(CC) $^ $(CFLAGS) -o $@

注:$后面的内容由一开始的等号后面的代替,^代表:后面的内容,@代表:前面的内容,%代表这一句中的内容是一致的

 

posted @ 2021-09-15 21:16  Toretto瑞  阅读(24)  评论(0编辑  收藏  举报