`
WindMill
  • 浏览: 15776 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

makefile 初体验

    博客分类:
  • C++
阅读更多
  
   今天我想研究一下makefile. 关于这是个什么东东,我就不详细说了,不懂Google一下什么都有了。
--------------------------------------------------------------------

   话不多说,我们先通过例子来学习一下。

USER=beyondclouds

all:a1 a2 a3 a4
@echo this is all!
a1:a4
@echo this is a1!
a2:
@echo $(PWD) +'/echo'

a3:
@pwd

a4:
@echo $(USER)


运行make后,结果如下:

beyondclouds
this is a1!
/home/beyondclouds/Desktop +/echo
/home/beyondclouds/Desktop
this is all!

通过这个实验,我们能了解makefile中的一些什么东西呢?

1. all 表示运行的目标。这个是makefile的内置预设变量。makefile第一次读的.

2.  target ... : prerequisites ...
            command
            ...
            ...

这里表示要运行“目标”,必须先运行“依赖”, 但是不重复运行依赖.

3. 符号问题:

   @是用于访问shell命令
   $ 是用于访问变量。 $(USER),$(PWD) 一个是自定义的,一个是系统的命令PWD.

4. 反斜杠(\)是换行符的意思

5. 可以指定make 目标 执行command
   比如:
   输入make相当于 make all
   也可以输入 make XXX 就执行目标XXX 

--------------------------------------------------------------------------

   通过上面的实验,我们可以写一个简单的makefile编译cpp程序.

CC=g++
all:
$(CC) -o hello Hello.cpp

我们在这个例子中可以添加 LIB INCDIRS CFLAGS 等用户自定义变量而给makefile更完善的功能.

-------------------------------------------------------------------------------

   下面我们写一个模板

GXX=
LIB=
INCDIRS=
CFLAGS=

objects = main.o kbd.o \
          command.o display.o

    edit : $(objects)
            GXX -o edit $(objects)
    main.o : defs.h
    .PHONY : clean
    clean :
            rm edit $(objects)

------------------------------------------------------------------------------
PS:以上只是我对makefile的一些基本理解,和实现一些基本的功能,当然makefile不止这么简单.
    详细的介绍链接http://www.stlchina.org/twiki/bin/view.pl/ScriptProgram/LearnMakefile
分享到:
评论

相关推荐

    Linux_Makefile实验.pdf

    Linux_Makefile实验.pdf

    Makefile进阶 Makefile进阶

    Makefile进阶 Makefile进阶 Makefile进阶 Makefile进阶 Makefile进阶 Makefile进阶 Makefile进阶

    linux Makefile 教程

    现在讲述如何写makefile的文章比较少,通过本教程可以快速掌握makefile的编写

    Makefile手册中文版

    Makefile手册中文版,非常详尽的makefile官方文档。

    Makefile自动构建方法

    基于linux平台的Makefile自动构建方法,非常适用于多级Makefile的构建。

    Makefile 跟我一起写Makefile

    Makefile 跟我一起写Makefile;Makefile 跟我一起写Makefile;Makefile 跟我一起写Makefile

    makefile教程makefile教程

    makefile教程makefile教程makefile教程makefile教程makefile教程makefile教程makefile教程makefile教程makefile教程makefile教程makefile教程

    跟我一起写Makefile[陈皓]

    make是一个命令工具,它解释Makefile 中的指令(应该说是规则)。在Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。Makefile 有自己的书写格式、关键字、函数。像C 语言有自己的格式、关键字和函数一样...

    MakeFile参考资料集合

    MakeFile bash 轻松制作Makefile Make指南

    Makefile

    这么写Makefile

    Makefile 的编写指导

    什么是makefile?或许很多Windows 的程序员都不知道这个东西,因为那些Windows 的IDE 都为你做了这个工作,但我觉得 要作一个好的和professional 的程序员,makefile 还是要懂。这就好像现在有这么多的HTML 的编辑器...

    makefile基础知识.pdf

    makefile入门讲义,IC必会

    Makefile 中文教程.pdf

    Makefile 中文教程.pdf

    makefile 教程 教学

    makefile makefile makefile

    Makefile教程

    什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但...

    Makefile教程-经典

    什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但...

    Makefile实战.pdf

    Makefile使用方法介绍

    Windows 下的 Makefile 编写(一)Makefile的基本规则

    Windows 下的 Makefile 编写(一)Makefile的基本规则

    makefile教程.zip

    什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但...

    makefile实例

    makefile 实例代码,通过测试

Global site tag (gtag.js) - Google Analytics