تجميع Autoconf من التبعية قبل التطبيق
سؤال
لقد كنت أدوات حول معاد السيارات خلال اليومين الماضيين، وأخيرا حققت تقدما كبيرا. مشكلة واحدة أحصل عليها هي أن لدي مكتبتان تحتاج إلى تجميعها قبل رمز التطبيق الرئيسي. لست متأكدا تماما من كيفية القيام بذلك. هيكل الدليل الخاص بي أدناه وقطع من التكوين الخاص بي أيضا.
AC_CONFIG_FILES([Makefile
src/Makefile
gtkworkbook/Makefile
csv/Makefile])
AC_OUTPUT
أحتاج ال CSV / makefile. و gtkworkbook / makefile. لكلا يتم تجميعها من قبل SRC / makefile.; ؛ هل هناك أي طريقة لتحديد هذا؟ الآن أحصل على خطأ حول المكتبة (CSV) غير موجودة أثناء عملية ترجمة التطبيق.
المحلول
ترتيب العناصر في AC_CONFIG_FILES () لا يؤثر على ترتيب البناء. إذا كنت تستخدم Automake، فما أفترض أنك، فسيحتفظ بشجرة الدليل الخاص بك بالترتيب الذي تقوم بإدراج الدلائل في قائمة Subdirs في كل MAICFILE.AM.
ومع ذلك، يجب أن يكون لديك ترتيب العناصر في AC_CONFIG_FILES () مرآة ترتيب الإنشاء، للحصول على الاتساق / الصيانة.
مثال على كيفية البحث عن Toplevel Makefile.am الخاص بك في الترتيب المرغوب فيه:
SUBDIRS = csv gtkworkbook src
أيضا، بالنسبة لهذه الحالة البسيطة، لا تحتاج إلى كل من AC_CONFIG_FILES () و AC_OUTPUT (). يمكنك تمرير دليل قائمة الخاص بك إلى AC_OUTPUT ():
AC_OUTPUT([
Makefile
src/Makefile
gtkworkbook/Makefile
csv/Makefile
])