Question

J'ai travaillé avec AutoTools depuis quelques jours, et j'ai finalement fait des progrès significatifs. Un problème que j'ai est que j'ai deux bibliothèques qui doivent être compilées avant le code d'application principal. Je ne sais pas trop comment faire cela. Ma structure de répertoire est ci-dessous et un extrait de mon configuration.ac également.

AC_CONFIG_FILES([Makefile
         src/Makefile
         gtkworkbook/Makefile
         csv/Makefile])
AC_OUTPUT

J'ai besoin de CSV / Makefile et gtkworkbook / makefile Pour être compilé avant src / makefile; Existe-t-il un moyen de spécifier cela? À l'heure actuelle, je reçois une erreur sur la bibliothèque (CSV) qui n'existe pas pendant le processus de compilation d'application.

Était-ce utile?

La solution

L'ordre des éléments dans ac_config_files () n'affecte pas l'ordre de construction. Si vous utilisez Automake, ce que je suppose que vous êtes, il traversera votre arborescence d'annuaire dans l'ordre que vous énumérez les répertoires dans chaque liste de sous-dimes de Makefile.

Cela étant dit, vous devriez avoir l'ordre des éléments dans ac_config_files () refléter l'ordre de construction, pour la cohérence / maintenabilité.

Exemple de la façon dont votre maquilleur toplevel.

SUBDIRS = csv gtkworkbook src

De plus, pour ce cas simple, vous n'avez pas besoin à la fois ac_config_files () et ac_output (). Vous pouvez transmettre votre répertoire de liste à ac_output ():

AC_OUTPUT([
    Makefile
    src/Makefile
    gtkworkbook/Makefile
    csv/Makefile
])
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top