Voici un exemple minimal de ce dont vous avez besoin pour la situation que vous décrivez.
Vous avez besoin d'un makefile.am
contenant le nom du binaire pour construire, et les fichiers sources utilisés pour le construire (vous n'avez pas à la liste des fichiers d'en-tête, ils seront automatiquement détectés):
bin_PROGRAMS = example
example_SOURCES = main.c header.c
Et vous avez besoin d'un configure.ac
. Ici, vous configurez le nom et le numéro de version du programme, initialisez Automake avec l'argument foreign
afin qu'il ne vous blâme pas sur les fichiers manquants dont le projet GNU a besoin, dites-lui que vous avez besoin d'un compilateur C, dites-lui de construire votre Makefile
, et enfin lui dire de sortir les résultats de la configuration précédente.
AC_INIT([example], [1.0])
AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
Si votre programme existant a toutes sortes de dépendances de bibliothèque, vous pouvez exécuter autoscan
pour détecter les dépendances possibles. Il produit un fichier configure.scan
, qui contient un modèle qui peut être utilisé pour construire votre ; mais si votre programme est simple, vous pouvez passer cette étape et utiliser l'exemple minimal ci-dessus.
Exécutez maintenant autoreconf --install
pour copier dans certains fichiers nécessaires et générer Makefile.in
et configure
à partir des fichiers de configuration ci-dessus. Ensuite, exécutez ./configure
pour configurer votre script, en générant un Makefile
. Enfin, exécutez make
pour créer votre programme.
Une fois que vous avez fait ces étapes, la Makefile
que vous avez généré détecte des changements à votre makefile.am
et exécuter les étapes à nouveau, à partir de maintenant, vous devriez être en mesure d'exécuter juste make
sans avoir à passer par toutes ces étapes encore. Pour plus d'informations, consultez les manuels Automake et Autoconf pour plus d'informations. Par exemple, si j'ai deux fichiers c main.c et en-tête.
Salut, Jinal. Vous semblez être nouveau ici, alors je vais vous donner quelques conseils sur la façon d'utiliser le site. Une clarification comme celle-ci devrait être faite comme une modification à votre question originale, pas comme une réponse à votre propre question. Regardez en bas à gauche de votre question. vous devriez voir un petit lien «modifier» sur lequel vous pouvez cliquer, puis éditer votre question pour fournir des éclaircissements. En outre, tout code source doit être indenté de 4 espaces; Cela entraînera le formatage du code source et ne sera pas interprété comme du texte stylé. Vous pouvez sélectionner un bloc entier de code et appuyer sur le bouton '101010' pour le mettre en retrait. –
J'ai déjà fait le montage pour vous; Les utilisateurs expérimentés peuvent éditer les questions et réponses d'autres personnes pour aider à résoudre des problèmes de ce genre. Si vous ne pensez pas que votre question a reçu une réponse adéquate, vous pouvez également répondre aux personnes qui ont répondu en sachant pourquoi leurs réponses ne sont pas suffisantes ou ne fonctionnent pas pour vous. La réponse que j'ai fournie devrait fonctionner pour la situation exacte que vous décrivez ici (je l'ai même testée avec un exemple de projet), cela m'aiderait à mieux vous répondre si vous pouviez me dire quelle partie ne fonctionne pas pour vous, ou où ma réponse n'est pas claire. –