makefile简便方法

发布于 2022-10-15 05:24:40 字数 1301 浏览 18 评论 0

我们目前知道make file有很多种写法,我想知道的是:为什么大家不采取那中非常简便的方式呢?

main:main.o mytool1.o mytool2.o

        gcc -o main main.o mytool1.o mytool2.o

main.o:main.c mytool1.h mytool2.h

        gcc -c main.c

mytool1.o:mytool1.c mytool1.h

        gcc -c mytool1.c

mytool2.o:mytool2.c mytool2.h

        gcc -c mytool2.c

clean:

        rm -f *.o main.exe *.*.bak *.bak

这个看起来清楚。也非常好理解.

为什么很多人希望有很多简便的方式呢?如下

CC = gcc

OBJ = main.o mytool1.o mytool2.o

main: $(OBJ)

        $(CC) -o $@ $^

main.o: main.c mytool1.h mytool2.h

        $(CC) -c $

mytool1.o: mytool1.c mytool1.h

        $(CC) -c $

mytool2.o: mytool2.c mytool2.h

        $(CC) -c $

.PHONY: clean

clean:

        rm -f main $(OBJ)

好好的东西为什么不要给它搞成怎么复杂呢?

不好意思。我是新手。谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

场罚期间 2022-10-22 05:24:40

CC = gcc

OBJ = main.o mytool1.o mytool2.o

main: $(OBJ)

        $(CC) -o $@ $^

main.o: main.c mytool1.h mytool2.h

        $(CC) -c $<

mytool1.o: mytool1.c mytool1.h

        $(CC) -c $<

mytool2.o: mytool2.c mytool2.h

        $(CC) -c $<

.PHONY: clean

clean:

        rm -f main $(OBJ)

这样才是对的

吃→可爱长大的 2022-10-22 05:24:40

还有更简单的呢。若是有1000个*.c 文件怎么办,你一条一条的加啊。

娇妻 2022-10-22 05:24:40

{:3_188:}

悍妇囚夫 2022-10-22 05:24:40

3L说的好,对于很简单的工程可以采用LZ的做法,但是复杂庞大的工程就需要用到Makefile的变量及函数功能等处理了。

网白 2022-10-22 05:24:40

我很纳闷的是为什么楼主会有“大家不采取那中非常简便的方式”的结论,这可能只是你在学习中的感受,不是别人都在用入门级的写法。

許願樹丅啲祈禱 2022-10-22 05:24:40

这几天刚好在看makefile的相关知识,简略的看了一下GNU make手册,说到大的工程可以用autotools工具集哦!

是你 2022-10-22 05:24:40

1.autotools自动生存
2.make自己写

看起来要学好.只有找一家公司来学.谢谢.本人在深圳.你们呢?

多彩岁月 2022-10-22 05:24:40

CC = gcc

OBJ = main.o mytool1.o mytool2.o

main: $(OBJ)

        $(CC) -o $@ $^

main.o:mytool1.h mytool2.h

mytool1.o: mytool1.h

mytool2.o:mytool2.h

.PHONY: clean

clean:

        rm -f main $(OBJ)

这样就行啦。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文