FPCMake
FPCMAKE - Free Pascal Makefile 生成器
下面是
fpcmake 工具帮助和配置文件。如果安装了帮助,则可以使用
man 命令查看它们。
fpcmake(1) Free Pascal Makefile 生成器 fpcmake(1)
名称
fpcmake - Free Pascal Makefile 生成器程序。
简介
fpcmake [filename [filename [filename]]]
说明
fpcmake 读取 Makefile.fpc 并将其转换为适合 GNU make 读取的 Makefile,
以便编译你的项目。它在功能上类似于用于生成 X 项目的 GNU autoconf 或 Imake。
用法
fpcmake 接受 makefile 描述文件名作为其命令行参数。
对于这些文件中的每个文件,它将在文件所在目录中创建 Makefile,并覆盖现有文件。
如果没有给出任何选项,它将尝试读取当前目录中 Makefile.fpc 文件,并尝试生成 Makefile。
任何以前存在的 Makefile 将被删除。有关 Makefile.fpc 文件格式的说明,请参见 fpcmake(5)。
相关
fpcmake(5) ppc386(1) make(1)
FreePascal 1999年12月12日 1
fpcmake(5) Free Pascal Makefile.fpc 格式 fpcmake(5)
名称
Makefile.fpc - fpcmake 配置文件
简介
Makefile.fpc 是 fpcmake 命令的配置文件。
从该文件开始,将创建一个 Makefile 来编译 Free Pascal 单元和程序。
说明
Makefile.fpc 是一个普通的 ASCII 文件,包含多项,类似 Windows ini 文件。
可以识别以下项(按字母顺序):
clean 指定用于清理单元和程序目录的规则。可以识别以下条目:
单元名称,清理时应删除所有单元的名称。不要指定扩展名,Makefile 将自己添加这些扩展名。
文件名称,需要删除文件的名称。指定完整的文件名。
defaults
defaults 部分包含一些默认设置。可以识别以下关键字:
dirs
info
install
包含有关单元和程序安装的说明。可以识别以下关键字:
dirprefix
完成所有安装的目录。这对应于 GNU configure 的 --prefix 参数,用于安装程序和单元。
默认情况下,这是在 linux 和所有其他平台上。
basedir
用于安装单元的基础目录,
默认情况下,在 Linux 中,dirprefix 附加 /lib/fpc/FPC_VERSION,
其他平台是 dirprefix。
FreePascal 1999年12月12日 1
fpcmake(5) Free Pascal Makefile.fpc 格式 fpcmake(5)
单元安装在 dirbase 下的 units/$(OS_TARGET) 中。
libs 本节指定应将哪些单元合并到库中,以及需要哪些外部库。包含以下关键字:
libname
创建库的名称。
libunits
移动到库中的单元,多个用逗号分隔。
needgcclib
布尔值,指定是否需要 GCC 库。这将确保在库搜索路径中插入 GCC 库路径。
needotherlib
布尔值,告诉 makefile 还需要其他库目录。
packages
必须使用哪些包。包含以下关键字:
packages
以逗号分隔的列表,用于编译目录。适用于所有平台。
为了区分不同的平台,你可以在关键字 packages 之前加上要为其他编译的操作系统,
如 linuxpackages(如果要在 Linux 上使用 makefile 列出使用的软件包)。
fcl 布尔值(0或1),是否使用 FCL。
rtl 布尔值(0或1),是否重新编译 RTL。
postsettings
本节中的任何内容都将按原样插入到 makefile 中(由 fpcmake 生成的 makefile 规则之后,
但在常规配置规则之前)。
FreePascal 1999年12月12日 2
fpcmake(5) Free Pascal Makefile.fpc 格式 fpcmake(5)
presettings
可以定义附加的规则和配置变量。这意味着你不能使用由本节定义的任何变量。
rules 在本节中,你可以插入依赖关系规则和任何其他目标。请勿在此处插入'默认规则'。
sections
在这里,你可以指定 Makefile 中应该包含哪些'规则'。
规则由一系列布尔关键字组成;每个关键字决定是否将特定部分写入 Makefile。默认情况下,写入所有部分。
你可以在本节中使用以下布尔关键字。
none 如果为 true,则不写入任何部分。
units 如果设置为 false,则 fpcmake 忽略编译单元的规则。
exes 如果设置为 false,fpcmake 忽略编译可执行文件的规则。
loaders
如果设置为 false,fpcmake 忽略汇编程序文件的规则。
examples
如果设置为 false,fpcmake 忽略编译示例规则。
package
如果设置为 false,fpcmake 忽略生成软件包规则。
compile
如果设置为 false,fpcmake 忽略编译 pascal 文件的通用规则。
depend 如果设置为 false,fpcmake 忽略依赖关系规则。
install
如果设置为 false,fpcmake 忽略安装所有内容规则。
FreePascal 1999年12月12日 3
fpcmake(5) Free Pascal Makefile.fpc 格式 fpcmake(5)
sourceinstall
如果设置为 false,fpcmake 忽略安装源文件规则。
zipinstall
如果设置为 false,fpcmake 忽略安装归档文件规则。
clean 如果设置为 false,fpcmake 忽略清理目录规则。
libs 如果设置为 false,fpcmake 忽略生成库的规则。
command
如果设置为 false,fpcmake 忽略由各种变量组成的命令行规则。
exts 如果设置为 false,fpcmake 忽略生成库的规则。
dirs 如果设置为 false,fpcmake 忽略子目录运行 make 的规则。
tools 如果设置为 false,fpcmake 忽略运行某些工具(如 erchiver,UPX 和 zip)的规则。
info 如果设置为 false,fpcmake 忽略生成信息规则。
targets
在本节中可以定义可种目录。允许使用以下关键字:
dirs 用空格分隔的目录列表,用于运行 make。
examples
用空格分隔的示例程序列表,当用户要求编译示例时需要进行编译。
不指定扩展名时,扩展名将被追加。
loaders
需要执行汇编的文件名列表,不指定扩展名,扩展名将被追加。
programs
用空格分隔的需要编译的程序名称列表。
FreePascal 1999年12月12日 4
fpcmake(5) Free Pascal Makefile.fpc 格式 fpcmake(5)
不指定扩展名,扩展名将被追加。
rst 需要转换为 .po 文件以供 GNU gettext 和国际化例程使用的 rst 文件列表。
units 用空格分隔的需要编译的单元名称列表。
不要指定扩展名,只要使用 uses 子句就可以看到的单元名称就行了。
tools 在此部分中,你可以指定需要哪些工具。根据本节中的设置,将使用工具的定义插入到 makefile 中。
每个关键字都是一个布尔关键字;你可以打开或关闭工具的使用。
可以识别以下关键字:
toolppdep
使用 ppdep 依赖工具。默认为 True。
toolppumove
使用 Free Pascal ppumove 单元移动器。默认为 True。
toolppufiles
使用 ppufile 工具确定单元文件的依赖性。默认为 True。
toolsed
使用 sed 编辑器。默认为 False。
tooldata2inc
使用 data2inc 工具创建并引入数据文件。默认为 False。
tooldiff
使用 GNU diff 工具。默认为 False。
toolcmp
使用 cmp 文件对比工具。默认为 False。
toolupx
使用 upx 程序文件压缩工具。默认为 True。
tooldate
使用 date 日期显示工具。默认为 True。
FreePascal 1999年12月12日 5
fpcmake(5) Free Pascal Makefile.fpc 格式 fpcmake(5)
toolzip
使用 zip 归档程序。由 zip 目标使用。默认情况下为 True。
zip 可用于对已编译的单元和程序制作 zip 文件。 默认情况下,所有组合单元都是压缩的。zip 行为会受到前置和后置设置部分的影响。
可以在本单元中使用以下关键字:
zipname
该文件是将要生成 zip 文件的名称。
ziptarget
是制作 zip 之前执行 makefile 目标的名称。默认情况下,这是安装目标。
相关
fpcmake(1) ppc386(1) make(1)
FreePascal 1999年12月12日 6