[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Ecrire un makefile pour OpenBSD
Bonjour,
Pour les besoins d'un article, j'ai écrit un Makefile tout simple afin
que mon programme puisse fonctionner sous OpenBSD.
Voici le Makefile en question:
# $OpenBSD: Makefile,v 1.0 2007/11/16 21:44 olivier Exp $
PROG= hello # Program
MAN= hello.1 # Manual page
SRCS= main.c hello.c hello.h # Sources
.include <bsd.prog.mk>
Le résultat de la commande make
# make
cc -02 -pipe -c main.c
cc -02 -pipe -c hello.c
cc -o hello main.o hello.o
nroff -Tascii -mandoc hello.1 > hello.cat1
Le résultat de la commande make install
# make install
install -c -s -o root -g bin -m 555 hello /hello
install -c -o root -g bin -m 444 hello.cat1 /usr/share/man/cat1/hello.0
Le résultat de la commande make clean
# make clean
rm -f a.out [Ee]rrs mklog core *.core y.tab.h hello main.o hello.o
main.ln hello.ln
Le fichier exécutable 'hello' est bien généré et il fonctionne avec la
commande:
# /hello
Pourquoi n'est-il pas installé par exemple dans /usr/bin ? Afin de
pouvoir l'exécuter tout simplement avec la commande:
# hello
J'ai remarqué également que nroff crée un fichier appelé hello.cat1 mais
avec un make clean, celui-ci n'est pas supprimé à moins d'ajouter
dans le makefile la ligne suivante:
CLEANFILES= hello.cat1
Or si on consulte OpenBSD cvsweb, aucun makefile ne comporte la ligne
CLEANFILES tous les programmes sont correctements installés, mais
comment font-ils ?
Un petit coup de main s'il vous plaît ?
Merci
Cordialement,
Olivier Regnier