1

私の最終目標は、単純な.debパッケージを作成することです。

そのために、debian /フォルダーで行うよりも、プロジェクトのビルドインフラストラクチャで3つのビルドフェーズを提供する方がよいことを読みました。

したがって、最初に必要なのはconfigureスクリプトですが、「-prefix」引数を受け取り、その値をMakefileシステムに渡す(makefileの「install」ターゲットがファイルをコピーできるようにする)最も単純なconfigureスクリプトが必要です。それに)。

autoconfを使用せずにこれを行うことはできますか?私はautoconfが素晴らしいことを知っていますが、これまでで最も単純な構成フェーズでは、まだそれほどひどく必要ないかもしれません。

ありがとう

4

2 に答える 2

2

私はautoconfなしではそれをしません。あなたは基本的に、autoconf が追加するすべての影響と関連する動作を知らなくても、autoconf の特定の動作を模倣したいと言っています。これは、ユーザー (または deb ツールでさえ) が関連する動作 ( DESTDIR--exec-prefixなど) を期待するため、最小の驚きの原則に違反します。autoconfを使用するだけです。あなたはconfigure.ac本当に簡単にすることができます:

AC_INIT([My App], [1.0], [my-email@me.com])
AM_INIT_AUTOMAKE([-Wall foreign])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
于 2012-08-13T13:29:07.827 に答える
1

私はこれを使用することになりました:

#!/usr/bin/env bash
prefix=NONE
test "$prefix" = NONE && prefix=/usr/local

usage ()
{
    echo ""
    echo "Usage : configure [--prefix=PREFIX]"
    echo ""
}

while test x$1 != x; do
    case $1 in
        --prefix=*)
            prefix=`echo $1 | sed 's/--prefix=//'`
            ;;
        --prefix)
            shift
            prefix=$1
            ;;
        --help)
            usage
            exit
            ;;
        *)
            echo Warning: unknown argument $1 >&2
            usage
            ;;
    esac
    shift
done

echo -n "SUBDIRS = " > config.make

echo Configuration Summary
echo ---------------------
echo
echo "MyApp has been configured with "
echo "    prefix = $prefix"
echo
echo >> config.make
echo

echo -n  "prefix=$prefix" >> config.make

次に、Makefile で最初に行う必要があるのは次のとおりです。

top_srcdir=.
CONFIG_MAKE=$(top_srcdir)/config.make

-include $(top_srcdir)/config.make

これよりも良い解決策があれば興味があります。

于 2012-08-13T22:47:06.373 に答える