Makefile

********************************************************************************
wildcard:扩展通配符
patsubst:替换通配符 
$@:规则的目标文件名。
$%:规则的目标文件是一个静态库文件时,代表静态库的一个成员名。例如,规则的目标是“foo.a(bar.o)”,那么,“$%”的值就为“bar.o”,“$@”的值为“foo.a”。如果目标不是函数库文件,其值为空。
$<:规则的第一个依赖文件名。如果是隐含规则,则它代表通过目标指定的第一个依赖文件。
$?:目标文件更新的依赖文件列表,空格分割。
$^:规则的所有依赖文件列表(去掉重复的),使用空格分隔。
$+:类似“$^”,但是它保留了依赖文件中重复出现的文件。主要用在程序链接时,库的交叉引用场合。

********************************************************************************
DIRS = src1 src2 src3

all:
	for i in $(DIRS) ; do make -C $$i || exit 1;done

clean:
	for i in $(DIRS) ; do make -C $$i clean || exit 1;done

********************************************************************************
CC = g++
CCFLAG = -c -g -w -fPIC
LDFLAG = -g -w
SOFLAG = -g -w -shared
SRCS = $(wildcard *.cpp)
OBJS = $(patsubst %.cpp,%.o,$(SRCS))
INCS = -I../include
LIBS = -L../lib
TARG = target

$(TARG) : $(OBJS)
	$(CC) $(LDFLAG) -o $@ $(OBJS) $(LIBS)

%.o: %.cpp
	$(CC) $(CCFLAG) $< $(INCS)

clean:
	rm -f $(OBJS) $(TARG)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值