46 lines
1.2 KiB
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*.*
|
|
|