2008 July 24th Thursday (七月 二十四日 木曜日)

   I found I have not enougth time to learn Japanese.  I must cut somethings that occupy in my time down.  Maybe I must put
Japanese to only main target, other plans to learn some else must be delayed until my Japanese arrival at a level.

Multiple Rules for One Target

  One file can be the target of several rules.  All the prerequisites mentioned in all the rules are merged into one list
of prerequisites for the target.  If the target is older than any prerequisite from any rule, the commands are executed.

  There can only be one set of commands to be executed for a file.  If more than one rule gives commands for the same file,
make uses the last set given and prints an error message. (As a special case, if the file's name begins with a dot, no error
message is printed.  This odd behavior is only for compatibility with other implementations of make... you should avoid using
it).  Occasionally it is useful to have the same target invoke multiple commands which are defined in different parts of your
makefile.

  An extra rule with just prerequisites can be used to give a few extra prerequisites to many files at once.  For example,
makefiles often have a variable, such as objects, containing a list of all the compiler output files in the system being made.
An easy way to say that all of them must be recompiled if config.h changes is to write the following:

     objects = foo.o bar.o
     foo.o : defs.h
     bar.o : defs.h test.h
     $(objects) : config.h

  This could be inserted or taken out without changing the rules that really specify how to make the object files, making it
a convenient form to use if you wish to add the additional prerequisite intermittently.

  Another wrinkle is that the additional prerequisites could be specified with a variable that you set with a command argument
to make (see Overriding Variables). For example,

     extradeps=
     $(objects) : $(extradeps)

means that the command `make extradeps=foo.h' will consider foo.h as a prerequisite of each object file, but plain `make' will not.

  If none of the explicit rules for a target has commands, then make searches for an applicable implicit rule to find some commands.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值