我正在尝试创建一个 Debian 包气相色谱联用技术,一个用于 TI 计算器的 C 编译器,与其主要开发人员对应,他们使用 Fedora,因此只能创建和测试 RPM。
我拥有 x86 二进制文件和源代码。但是我更喜欢从源代码构建它。TIGCC 由几个小程序(C 编译器、链接器、汇编 (a68k) 编译器等)组成,它们都有自己的 makefile。
我认为我遇到的主要问题是:如何创建一个调用单个 makefile* (我猜$(MAKE) -f ./rel/path/to/Makefile
)和我应该把它放在哪里?
第二个问题是:我该如何告诉建筑商单个部件的安装位置(编译的内容到/usr/tigcc/bin
,文档到usr/share/doc/tigcc
,aso)?
我已经尝试从二进制文件创建它,但是它使我的测试系统(saucy)崩溃,并且它的依赖项出现了一些问题(TIGCC 依赖于libc6
)
答案1
该debian/rules
文件驱动构建过程。它实际上是一个 Makefile,但它也允许您利用各种打包助手。因此,您的规则文件可能看起来像这样:
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_build:
$(MAKE) -f path/to/first/Makefile
$(MAKE) -f path/to/second/Makefile
要将文件安装到正确的位置,请使用文件debian/install
。请参阅这个答案。
我建议你看一下Ubuntu 打包指南。