我的Makefile实例

来源:互联网 发布:redis 获取当前数据库 编辑:程序博客网 时间:2024/04/27 16:00
#指定编译器CC=g++#编译器参数CFLAGS=-Wall -g#编译器的包含头文件LDFLAGS=-I../include#编译器的链接库LIB=#依赖的头文件,这样的话头文件的改变也会引起make重新编译DESP=../include/*#源文件 wildcard 通配符,提取所有符合的文件名;SRC=$(wildcard *.cpp)#目标文件  SRC:.cpp=.o 将SRC下所有的.cpp后缀替换成.o后缀;  $ 符号是取值符号OBJ=$(SRC:.cpp=.o)#main 目标任务名 #:$(OBJ) 冒号后是该任务的依赖文件,即要完成任务main,必须先生成或找到这些依赖的文件#$@  表示冒号左边的目标任务名#$<  表示冒号右边的第一个依赖文件参数#$^  表示冒号右边的所有参数main:$(OBJ) $(DESP)$(CC) $(CFLAGS) $(LDFLAGS) $(LIB) -o $@ $^#targets:[targets-pattern]:[pre-pattern]  静态模式  指定依赖关系为将targets中.o结尾的去掉.o组成新集合,#然后为新集合加后缀.cpp成为依赖集合$(OBJ):%.o:%.cpp$(CC) $(CFLAGS) $(LDFLAGS) $(LIB) -o $@ -c $<#.PHONY 表示伪指令#-rm 前边的-表示在删除过程中的错误可忽略,继续执行下边的操作.PHONY:clean  clean:-rm -f *.o main

0 0
原创粉丝点击