通常在基于Linux的操作系统上安装软件包需要使用以下命令:
这是如何工作的?我要如何创建一个可以通过这种方式安装的包?
我的应用程序使用Qt框架,我认为我需要类似"MyPackage.tar.gz"这样的东西。
./configure
make
make install
这是如何工作的?我要如何创建一个可以通过这种方式安装的包?
我的应用程序使用Qt框架,我认为我需要类似"MyPackage.tar.gz"这样的东西。
#!/usr/bin/make -f
#export DH_VERBOSE=1
# This is the debhelper compatability version to use.
#export DH_COMPAT=3
DESTDIR=$(CURDIR)/debian/project
TR_DIR=$(CURDIR)/debian/project/usr/share/qt4/translations
configure:
qmake project.pro
clean:
dh_testdir
dh_testroot
dh_clean
build: configure
dh_testdir
lrelease translations/project_en.ts
$(MAKE)
install: build
mkdir -p $(TR_DIR)
cp translations/project_en.qm $(TR_DIR)
$(MAKE) INSTALL_ROOT=$(CURDIR)/debian/project install
dh_installdirs
binary-arch: build install
dh_testdir
dh_testroot
dh_installmenu
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
这通常足以满足小型项目的需求。
configure
通常是GNU构建系统(autotools)的一部分,而在典型的Qt项目中不使用该系统。相反,qmake
用于生成构建文件,并且它在内部处理了大多数非Qt项目所需的configure
任务。
Qt应用程序的典型构建安装过程如下:
qmake
make
make install
如果你需要命令名称相同,可以创建一个简单的./configure脚本来调用qmake。如果需要,您也可以使用autotools与Qt一起使用,例如请参阅Qt Creator Autotools说明
Qt通常与CMake一起使用,我强烈推荐这样做。其中一个显著的优点是它支持外部构建。
你的配置脚本可以是:
#!/bin/bash
(mkdir build; cd build; ccmake ..)
而且makefile可以是这样的
#!/bin/bash
(cd build; make)
#!/usr/bin/make -f
%:
dh $@ --buildsystem=qmake
只需要这些。你需要,
bar.file = foo
bar.path = install/dir
INSTALLS += bar
在您的项目的“pro”或qmake文件中,qmake将创建安装目标,并调用解析qmake文件的perl文件/usr/share/perl5/Debian/Debhelper/Buildsystem/qmake.pm。 您需要创建“debian /”文件,changelog,compat,control,copyright以及rules文件。