html目录下的子目录怎么编写,自己写Makefile编译当前文件夹下子文件夹中的文件...

场景说明:

当前文件夹下有Makefile   子文件夹test1  test2

test1文件夹下有:Makefile main1.c

test2文件夹下有:Makefile main2.c

我们的目标是编译出main1  main2  2个可执行文件

先写main1.c测试代码

int main(void)

{

return 0;

}

main2.c和main1.c一样

下边写父文件夹中的Makefile

SUBDIRS = tes1 test2

.PHONY:default all clean $(SUBDIRS)

default:all

all clean:

$(MAKE) $(SUBDIRS)  TARGET=$@

$(SUBDIRS):

$(MAKE) -C $@ $(TARGET)  //这一步是跳转到子目录并执行子目录中的Makefile

子文件夹下的Makefile

CC = gcc

BIN = main1 //设置编译输出的可执行文件

SRCS = $(wildcard    *.c)//获得当前目录下的所有.c文件

OBJS = $(SRCS:%.c:%.o)//把后缀为.c文件重命名为.o文件

.PHONY:all clean print  //all clean承接父文件Makefile中的TARGET

all:print $(BIN)

print:

echo "------- test1 dir make begin ----------"

$(BIN):$(OBJS)

$(CC) $^ -o $@

%.o:%.c  //模式匹配

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

clean:

rm -f $(BIN) $(OBJS)

test2文件夹下的Makefile和上边的类似

下边就可以在父文件夹中执行make就可以编译test1  和 test2文件夹下的文件了

原文:http://blog.csdn.net/u012554768/article/details/20544729

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值