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