社区
C语言
帖子详情
makefile是什么东西,怎么创建makefile这个东西?
wei738357
2003-02-03 01:52:09
makefile是什么东西,怎么创建makefile这个东西?
...全文
2431
15
打赏
收藏
makefile是什么东西,怎么创建makefile这个东西?
makefile是什么东西,怎么创建makefile这个东西?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
williamzhang_zz
2003-03-06
打赏
举报
回复
make是一种工具,帮助你管理如何编译自己的工程的,这个工具一直很有用。
在VC下有nmake的工具,一般用户生成的工程不需要如何设置,所以。。。
如果一个庞大的工程的话,手动写make文件是很普通的事,尤其在linux和Unix下。
chunliu2003
2003-03-06
打赏
举报
回复
简单地说
makefile 就是编译的时候你要告诉编译器的你的一推
源文件之间的关系以帮助编译器正确的或者是更有效率地工作
在IDE下面这些事情自动生成的工程文件代劳了
rivershan
2003-02-04
打赏
举报
回复
去看32位汇编~
make工具可以生成它~
VC自动生成~
dzhcheng
2003-02-04
打赏
举报
回复
在linux下编程经常用到的
MagiSu
2003-02-04
打赏
举报
回复
好早以前编译C++的东西了。
firingme
2003-02-03
打赏
举报
回复
jacky中《C++ Primer》的毒不浅啊…………
说话都带着那个调调,呵呵……
skywarship
2003-02-03
打赏
举报
回复
makefile 是相当重要的东西
直到vc6 microsoft都还在用
unix/linux中就更不用说了
一定要好好了解
xghost
2003-02-03
打赏
举报
回复
up
brucegong
2003-02-03
打赏
举报
回复
GNU的文档里面有说过的。
makefile还是很有用的,因为不是每一个编译器都提供很充分的集成环境
DaNiao
2003-02-03
打赏
举报
回复
在LINUX下看看makefile的info,非常详细,而且有例子
其他一些系统也支持make比如VC,BC什么的,基本上大同小异
在WINDOWS里一般用make或nmake编译
asvaboy1980
2003-02-03
打赏
举报
回复
其实makefile文件还是很有必要来掌握的,VC中提供nmake命令,编程序这是必须要学习的
就象用debug和gdb来调试程序一样普通和必须.
Frank001
2003-02-03
打赏
举报
回复
上面只是一部分,详细的你可以看看下面的这篇文章(从1033~1040)
http://www.chinaunix.net/bbsjh/12/1033.html
……
……
http://www.chinaunix.net/bbsjh/12/1040.html
Frank001
2003-02-03
打赏
举报
回复
是啊,
楼主如果想深入了解的话,可以看看下面这篇文章。(ZT)
------------------------------------------------------
基本 makefile 结构
GNU Make 的主要工作是读进一个文本文件, makefile 。这个文 件里主要是有关哪些 文件(‘target’目的文件)是从哪些别的 文件(‘dependencies’依靠文件)中产 生的,用什么命令来进行 这个产生过程。有了这些信息, make 会检查磁碟上的文件,如果 目的文件的时间戳(该文件生成或被改动时的时间)比至少它的一 个依靠文件旧的话, make 就执行相应的命令,以便更新目的文件。 (目的文件不一定是最后的可执行档,它可以是任何一个文件。) makefile 一般被叫做“makefile”或“Makefile”。当然你可以 在 make 的命令行指 定别的文件名。如果你不特别指定,它会寻 找“makefile”或“Makefile”,因此使用这两个名字是最简单 的。
一个 makefile 主要含有一系列的规则,如下:
例如,考虑以下的 makefile :
=== makefile 开始 ===
myprog : foo.o bar.o
gcc foo.o bar.o -o myprog
foo.o : foo.c foo.h bar.h
gcc -c foo.c -o foo.o
bar.o : bar.c bar.h
gcc -c bar.c -o bar.o
=== makefile 结束 ===
这是一个非常基本的 makefile —— make 从最上面开始,把上 面第一个目的, ‘myprog’,做为它的主要目标(一个它需要保 证其总是最新的最终目标)。给出的 规则说明只要文件‘myprog’ 比文件‘foo.o’或‘bar.o’中的任何一个旧,下一行的命令将 会被执行。但是,在检查文件 foo.o 和 bar.o 的时间戳之前,它会往下查 找那些把 foo.o 或 bar.o 做为目标文件的规则。它找到的关于 foo.o 的规则,该文件的依靠文件是 foo.c, foo.h 和 bar.h 。 它从下面再找不到生成这些依靠文件的规则,它就开始检 查磁碟 上这些依靠文件的时间戳。如果这些文件中任何一个的时间戳比 foo.o 的新, 命令 'gcc -o foo.o foo.c' 将会执行,从而更新 文件 foo.o 。 接下来对文件 bar.o 做类似的检查,依靠文件在这里是文件 bar.c 和 bar.h 。 现在, make 回到‘myprog’的规则。如果刚才两个规则中的任 何一个被执行, myprog 就需要重建(因为其中一个 .o 档就会比 ‘myprog’新),因此连接命令将被 执行。
希望到此,你可以看出使用 make 工具来建立程序的好处——前 一章中所有繁琐的检 查步骤都由 make 替你做了:检查时间戳。 你的源码文件里一个简单改变都会造成那 个文件被重新编译(因 为 .o 文件依靠 .c 文件),进而可执行文件被重新连接(因 为 .o 文件被改变了)。其实真正的得益是在当你改变一个 header 档的时候——你不 再需要记住那个源码文件依靠它,因为所有的 资料都在 makefile 里。 make 会很轻 松的替你重新编译所有那 些因依靠这个 header 文件而改变了的源码文件,如有需 要,再 进行重新连接。 当然,你要确定你在 makefile 中所写的规则是正确无误的,只 列出那些在源码文件 中被 #include 的 header 档……
-------------------------------------------------------------
jp311
2003-02-03
打赏
举报
回复
makefile就是make需要的文件呀,谁说老古董呀,楼上的一定是在win下待久了找本unix/linux编程基础的书,上面一定会有的(如果没有就扔了它:)).
seok
2003-02-03
打赏
举报
回复
这个啊,我也弄不清楚
好像现在已经是老古董,用不着的东西了
如何编写一个
Makefile
文件(手把手的教你)
目录一、概念理解1、什么是
Makefile
?2、为何使用
Makefile
?二、实战代码演示与讲解1 没有
makefile
的项目是怎么
创建
运行的1.1
创建
文件1.2 查看
创建
的文件1.3 给
创建
的文件放一点内容1.4 编译运行2、有
makefile
的...
1.
makefile
的作用是什么?
什么是
makefile
?或许很多Winodws的程序员都不知道这个
东西
,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,
makefile
还是要懂。这就好像现在有这么多的HTML的编辑器,但...
【Linux】
Makefile
是什么,怎么写
Makefile
?
什么是
Makefile
?之前我们都是在VS上编写代码,或许不太注重代码是如何运行生成结果的,因为系统在底下实现了这些功能,不过我们当时应该学了,在VS上的代码要经过(预处理-汇编-连接)等步骤才会生成目标文件,最后...
Makefile
中=,:=,?= 的含义
最近学习
Makefile
,复习一下以前学过的知识,参考<跟我一起学
Makefile
>中第七部分:使用变量 参考博客:https://www.cnblogs.com/oracleloyal/p/6092526.html 1.
Makefile
中=,:=,?=的含义 "=...
什么是
Makefile
?
makefile
的好处 会不会写
makefile
,决定了一个人是否具备完成大型工程的能力。 由于Windows的很多编译环境在执行编译时操作...
makefile
最大的好处就是在于可以主动编译,一个工程里面可能会有成百上千个文件,哪...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章