# makefile utilisé pour mon deuxième article
# Version (programme)
VERSION = 1.0
# Compilateur utilisé
CC = gcc
# Options pour le compilateur
CFLAGS = -Wall -ansi
LDFLAGS= -Wall -ansi
# Définit le nom de l'exécutable à générer
EXEC = psearch
# Définit le nom (page de man)
MAN = psearch.1
# Liste des fichiers sources du projet
SRC = $(wildcard *.c)
# Liste des fichiers objets
OBJ = $(SRC:.c=.o)
# Définit les options (commande rm)
RM = rm -rf
all: $(EXEC)
# Compilation
psearch: $(OBJ)
$(CC) -o $@ $^ $(LDFLAGS)
main.o: psearch.h
%.o: %.c
$(CC) -o $@ -c $< $(CFLAGS)
# Définit le chemin d'installation (programme)
PREFIX = /usr/local
BINPATH = $(PREFIX)/bin
# Définit le chemin d'installation (page de man)
MANPATH = $(PREFIX)/share/man/man1
# Définit les droits (installation)
INSTALL = install -m 755
INSTALLMAN = install -m 644
INSTALLDIR = install -d
# Installation (programme)
install: psearch man-install
$(INSTALLDIR) $(BINPATH)
$(INSTALL) $(EXEC) $(BINPATH)
# Installation (page de man)
man-install:
$(INSTALLDIR) $(MANPATH)
$(INSTALLMAN) $(MAN) $(MANPATH)
# Désinstallation (programme)
uninstall: man-uninstall
-$(RM) $(BINPATH)/$(EXEC)
# Désinstallation (page de man)
man-uninstall:
-$(RM) $(MANPATH)/$(MAN)
# Nettoyage (fichiers générés)
.PHONY: clean tmp
clean:
$(RM) *.o
tmp: clean
$(RM) $(EXEC)
Partager