Make.conf

De Diablotins.org.


Le manuel de la boite à outils make
Image:brush.png
Le fichier, make.conf(5),


- et src.conf(5) depuis la branche VII -
est inclus par make(1) par la plupart des Makefile de /usr/src, /usr/ports et /usr/doc.
Il va vous permettre de préciser une architecture, un environnement, les options de compilation générale etc. pour automatiser certaines tâches en une seule commande.




Sommaire

Utilisation

Vous trouverez un exemple assez complet dans /usr/share/examples/etc/make.conf.
Copiez le dans /etc/

cp /usr/share/examples/etc/make.conf /etc/

Ce fichier est composé d'un ensemble de variables, généralement commentées et de leurs valeurs:

Variable=Valeur        
Variable?=valeur        La variable n'est initialisée à valeur que si elle n'était pas déjà définie

Attention, nombres de variables, - elles comportent en général une entête «NO_» -, ignorent la valeur affectée, le simple fait de les déclarer ( ou dé-commenter ) suffit à leur donner un sens.

L'architecture

Afin d'adapter le système et les logiciels au plus près de votre configuration matérielle, précisez le processeur ou sa famille aux compilateurs:

CPUTYPE?=pentium3

Pour connaître rapidement l'architecture et le processeur détecté par le système, appelez sysctl:

sysctl hw.machine      Architecture.
sysctl hw.model        Famille de processeur.

Optimisez la compilation:

CFLAGS= -O2 -pipe

Le système

La configuration du noyau et du monde est le principal objectif de make.conf.
Vous trouverez dans l'exemple un longue liste de «NO_XXXXX=». Il s'agit d'éviter de compiler les outils du monde dont vous ne vous servez pas.
Par exemple, évitons de compiler sendmail(8), dont peu d'entre nous se servent en réalité:

NO_SENDMAIL=TRUE

Peu importe ce que vous indiquez après le «=», il suffit d'y inscrire quelque chose pour que l'entrée soit activée.



Nota:

Depuis FreeBSD 7, ces options de compilations pour le monde et le noyau sont regroupées dans le fichier /etc/src.conf.
Le format n'est plus NO_XXXX mais WITHOUT_XXXX. Par exemple, l'entrée NO_SENDMAIL= yes devient:
WITHOUT_SENDMAIL= yes


Les ports

Les logiciels portés aussi indiquent quelques entrées dans ce fichier; par exemple, la version de lang/perl5.8.

PERL_VERSION = 5.8.8

La documentation

Vous pouvez déterminer une liste des manuels à installer, selon leur encodage:

DOC_LANG=en_US.ISO8859-1 fr_FR.ISO8859-1 fr_FR.ISO8859-15

En savoir plus

Projets :