Linux平台Makefile文件的编写基础篇

来源:Linux认证    发布时间:2012-11-10    Linux认证视频    评论

        基础:
       
        先来个例子:
        有这么个Makefile文件。(文件和Makefile在同一目录)
               === makefile 开始 ===
                      helloworld:file1.o file2.o
                             gcc file1.o file2.o -o helloworld

                      file1.o:file1.c file2.h
                             gcc -c file1.c -o file1.o

                       file2.o:file2.c file2.h

                             gcc -c file2.c -o file2.o


                      clean:

                             rm -rf *.o helloworld

               === makefile 结束 ===

        一个 makefile 主要含有一系列的规则,如下:
        A: B
        (tab)<command>
        (tab)<command>

        每个命令行前都必须有tab符号。

        上面的makefile文件目的就是要编译一个helloworld的可执行文件。让我们一句一句来解释:

               helloworld : file1.o file2.o:                 helloworld依赖file1.o file2.o两个目标文件。

               gcc File1.o File2.o -o helloworld:      编译出helloworld可执行文件。-o表示你指定 的目标文件名。

               file1.o : file1.c:    file1.o依赖file1.c文件。

               gcc -c file1.c -o file1.o:                  编译出file1.o文件。-c表示gcc 只把给它的文件编译成目标文件, 用源码文件的文件名命名但把其后缀由“.c”或“.cc”变成“.o”。在这句中,可以省略-o file1.o,编译器默认生成file1.o文件,这就是-c的作用。

                      file2.o : file2.c file2.h
                      gcc -c file2.c -o file2.o

        这两句和上两句相同。

               clean:

                      rm -rf *.o helloworld

        当用户键入make clean命令时,会删除*.o 和helloworld文件。

        如果要编译cpp文件,只要把gcc改成g++就行了。

        写好Makefile文件,在命令行中直接键入make命令,就会执行Makefile中的内容了。

        到这步我想你能编一个Helloworld程序了。

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答