常用工具: 简繁转换 HTML/JS互转 Url编码Escape解析 Unicode编码转换 设为首页 加入收藏夹
更多内容
" id="arctext" class="center" " class="arcinfo center" " id="slistl" class="left" " id="mid_slistl_sch" class="left" " id="mid_slistl_adv" class="left" " id="mid_slistl_adv2" " src="http://www.fzs8.net/d/js/acmsd/middle2.js"
文章正文

ASP Hex 函数

来源:  网络收集  字体:[ ]
站内搜索系统
文章正文

AIX imake 命令

来源:  技术家园  2007-08-02 00:00:00 字体:[ ]

用途

make 命令的 C 预处理器接口。

语法

imake [ -DDefine ] [ -IDirectory ] [ -TTemplate ] [ -f FileName ] [ -C FileName ] [ -s FileName ] [ -e ] [ -v ]

描述

imake 命令从模板、cpp 宏功能集和名为 Imakefile 的每个目录输入文件生成 Makefiles。该命令保持机器相关性(如编译器选项、备用命令名和特殊的 make 命令规则)与要构建的项的描述分开。

imake 使用任何在命令行上传递的 -I-D 标志调用 cpp,并向它传递以下三行内容:

#define IMAKE_TEMPLATE "Imake.tmpl"#define INCLUDE_MAKEFILE "Imakefile"#include IMAKE_TEMPLATE

通过使用 -T-f 标志来分别覆盖 Imake.tmplImakefile

IMAKE_TEMPLATE 通常读以下文件:

  • 与机器相关的参数文件,在该文件中,将参数指定为 cpp 符号
  • 特定于站点的参数文件
  • 定义变量的文件
  • 包含生成 make 命令规则的 cpp 宏功能的文件
  • 当前目录中的 Imakefile(通过 INCLUDE_IMAKEFILE 指定)。

Imakefile 文件使用宏功能来表示要构建的目标,imake 命令生成相应的规则。

Imake 配置文件包含两种类型的变量,imake 变量和 make 变量。当运行 imake 命令时,由 cpp 解释 imake 变量。根据约定,它们不区分大小写。通过 make 命令将 make 变量写入 Makefile 以备日后解释。根据约定,make 变量是大写的。

规则文件(在配置目录中通常命名为 Imake.rules)包含根据当前平台配置的多种 cpp 宏功能。imake 命令使用换行(回车符)替换任何出现的字符串 ``@@'' 以支持生成不止一行的 make 规则的宏。例如,宏:

#define   program_target(program, objlist)        @@/program:  objlist                                 @@/          $(CC)  -o  $@  objlist  $(LDFLAGS)  

这时以 program_target(foo,foo1.ofoo2.o) 调用的将扩展到

foo:      foo1.o  foo2.o          $(CC)  -o  $@  foo1.o  foo2.o  $(LDFLAGS)

在 cpp 将多个制表符和空格减少为单一空格的系统上,imake 命令尝试后退任何必要的制表符(make 命令区分制表符和空格)。鉴于此原因,在命令行中的所有冒号(:)之前加反斜杠 (/)。

与 AIXwindows 一起使用

对于源树中的完全构建和外部软件构建,AIXwindows 广泛使用 imake 命令。设置两个特殊变量 TOPDIR 和 CURDIR 以更容易地使用相对路径名生成参考文件。例如,自动生成以下命令以在 lib/X 目录(相对于源的开头部分)中构建 Makefile

%  ../.././config/imake  -I../.././config  /             -DTOPDIR=../../.  -DCURDIR=./lib/X

要构建源树外部的 AIXwindows 程序,定义特殊符号 UseInstalled 并省略 TOPDIR 和 CURDIR变量。如果正确安装了配置文件,则可以使用 xmkmf命令。

imake 命令读以下文件(当通过 AIXwindows 使用时)。

注:缩进的格式表示包括其它文件的文件。

Imake.tmpl                  类属变量   site.def                 特定站点,BeforeVendorCF 已定义         *.cf               特定机器             *Lib.rules     共享库   site.def                 特定站点,AfterVendorCF 已定义   Imake.rules              规则   Project.tmpl             特定于 X 的变量         *Lib.tmpl          共享库变量Imakefile   Library.tmpl             库规则   Server.tmpl              服务器规则   Threads.tmpl             多线程规则

注:包括两次 site.def 文件(在 *.cf 之前和之后)。虽然多数位置定制都在 *.cf 文件之后指定,但一些位置定制(如编译器的选择)需要在该文件之前定制,因为其它变量设置可能取决于它们。

第一次包括 site.def 文件时,定义 BeforeVendorCF 变量,第二次时定义 AfterVendorCF 变量。site.def 文件中的所有代码都应该放置在 #ifdef 宏中以获取这些符号之一。

标志

-DDefine 直接传递到 cpp 以设置特定于目录的变量。例如,X-windows 使用该标志将 TOPDIR 变量设置为包含核心分发的开头部分的目录名,而将 CURDIR 变量设置为与该开头部分相关的当前目录名。
-e 表示 imake 命令应该执行已生成的 Makefile。缺省值将把它留给用户。
-f FileName 指定每个目录输入文件的名称。缺省值为 Imakefile 文件。
-IDirectory (大写 i)直接传递给 cpp 以表示 imake 模板和配置文件所在的目录。
-C FileName指定在当前目录中构造的 .c 文件的名称。缺省值为 Imakefile.c
-s FileName 指定要生成的 make 描述文件的名称,但不调用 make 命令。如果 FileName 变量是 -(连字符),则将输出写为 stdout。缺省值将生成但不执行 Makefile
-TTemplate 指定通过 cpp 命令使用的主模板文件(通常位于与 -I 一起指定的目录中)的名称。缺省值为 Imake.tmpl
-v 表示 imake 应该打印正在用来生成 Makefilecpp 命令行。

环境变量

注:可以设置以下环境变量,但不推荐使用这些变量,因为当运行 imake 命令时,它们会产生不太明显的依赖性。
IMAKEINCLUDE 如果已定义,请指定 C 预处理器的包含自变量。例如:

-I/usr/include/local 
IMAKECPP 如果已定义,请指定至预处理器程序的有效路径。例如:

/usr/local/cpp

缺省值为 /lib/cpp 程序。

IMAKEMAKE 指定至 make 程序的有效路径,如 /usr/local/make。缺省情况下,imake 使用通过使用 execvp 子例程发现的任何 make 程序。只有指定了 -e 标志才使用该变量。

示例

imake -I/usr/lib/X11/config -DTOPDIR=/usr/lpp/X11/Xamples

文件

/usr/tmp/tmp-imake.nnnnnn 指定 cpp 预处理器的临时输入文件。
/usr/tmp/tmp-make.nnnnnn 指定 make 的临时输入文件。
/lib/cpp 缺省 C 预处理器。

相关信息

make 命令、xmkmf 命令。


  
上一篇:AIX make 命令
下一篇:AIX makedepend 命令
最新文章
推荐文章
热门文章
版权所有:IT加油站   COPYRIGHT © 2007 WWW.FZS8.NET ALL RIGHTS RESERVED.
闽ICP备08008535号