m2b-gd-tp8/Makefile

46 lines
1.2 KiB
Makefile

# Makefile pour Astico2D :
# Atelier Simple de Transformations d'Images au Clavier avec OpenCV en 2D
#
# CC BY-SA Edouard.Thiel@univ-amu.fr - 22/08/2021
# Version Linux et WSL
#
# Pour installer OpenCV sous Ubuntu, taper :
# sudo apt install g++ make libopencv-dev
SHELL = /bin/bash
CC = g++
RM = rm -f
# Version de OpenCV pour pkg-config :
# - mettre "opencv4" sur Ubuntu >= 20.04
# - mettre "opencv" sur Ubuntu <= 18.04 et WSL
OPENCV = opencv
# Options de compilation
CFLAGS = -Wall --std=c++14 $$(pkg-config $(OPENCV) --cflags)
LIBS = $$(pkg-config $(OPENCV) --libs)
# Fichiers à compiler :
# chaque fichier .cpp produira un exécutable du même nom, sauf astico2d.cpp
CFILES := $(wildcard *.cpp)
CFILES := $(filter-out astico2d.cpp, $(CFILES))
EXECS := $(CFILES:%.cpp=%)
# Règle pour produire tous les exécutables.
# Tapez "make -j all" pour les compiler en parallèle.
all :: $(EXECS)
# Règle pour fabriquer les .o à partir des .cpp
%.o : %.cpp
$(CC) $(CFLAGS) -c $*.cpp
# Règle de production de chaque exécutable
$(EXECS) : % : %.o astico2d.o
$(CC) -o $@ $^ $(LIBS)
# Règle de nettoyage
clean ::
$(RM) *.o *~ $(EXECS) tmp*.*