Makefile

De Diablotins.org.


Bôite à outil du jeu de construction
Image:brush.png
make(1) est l'outil assure la construction d'un logiciel, port, monde ou noyau, sa compilation, ses dépendances, ses options etc.


Il suit les instructions d'un fichier “Makefile”, que vous pouvez consulter, ainsi que les généralités de make.conf.




Sommaire

Cibles

make(1) est utilisé dans plusieurs buts:

  • tout construire et installer
make  sous entendu “all”
  • installer
make install
  • télécharger
make fetch
  • Enlever
make deinstall
  • Consultez les options:
make -V option
  • construire une paquetage
make package
  • Configurer
make config
  • Préparer
make configure
  • Construire les dépendances
make depend
  • nettoyer
make clean


Ajoutez la clef «-recursive» pour que certaines commande se transmettent à toutes les dépendances du port:

david:~# make config-recursive.

Arguments

Vous pouvez modifier la construction du logiciel en utilisants certains arguments.
quelques exemples:

  • -D : validation d'une option.

par exemple:

-DFORCE_PKG_REGISTER

valide “FORCE_PKG_REGISTER” et ainsi, force l'installation du logiciel, même si il existait auparavant.

  • variable=valeur

Affecte la valeur à la variable

make USE_OPEN_SSL=false
  • make -n

faire semblant.

auto complétion

Sous tcsh, l'interpréteur de base sous FreeBSD vous pouvez utiliser l’auto-complétion pour obtenir la liste de ce que vous voulez faire avec make:

complete make 'n@*@`make -pn | sed -n -E "/^[#_.\/[:blank:]]+/d; /=/d; s/blank:*:.*//gp;"`@'

Bon, ça fait des nœuds au cerveau pour le comprendre, mais, ça fonctionne pas mal. Tapez

make

puis Control-D pour obtenir la liste de ce que vous pouvez faire, dans le répertoire d'un port par exemple.
ou;

make in

puis Control-D pour obtenir la liste des commandes d' installation.


Attention, sur une commande nulle, Control-D termine la session...

Exemple

Construire un paquetage de OpenOffice.org, sans Mozilla, intégré dans KDE, utilisant KDE, localisé en français, utilisant un cache et renommé selon la construction:

make -DWITHOUT_MOZILLA  -DWITH_CUPS -DWITH_KDE LOCALIZED_LANG=fr WITH_CCACHE=yes package package-rename

Plus!

Projets :