--- a/src/Makefile
+++ b/src/Makefile
@@ -230,6 +230,7 @@
 
 # Enable parallelization in CImg, using OpenMP.
 # (http://www.openmp.org/)
+ifeq ($(GMIC_USE_OPENMP),yes)
 ifdef IS_CLANG
 OPENMP_CFLAGS = -I/usr/lib/gcc/x86_64-linux-gnu/9/include -Dcimg_use_openmp -fopenmp=libomp
 OPENMP_LIBS =
@@ -237,6 +238,7 @@
 OPENMP_CFLAGS = -fopenmp -Dcimg_use_openmp
 OPENMP_LIBS = -lgomp
 endif
+endif
 
 # Enable software debugging.
 # (Use address sanitizer and thus slows down the code)
@@ -258,9 +260,13 @@
 # Enable image display, using X11 (Unix).
 # (Keep /usr/ dirname here since X11 is located in /usr/ on Mac too)
 ifneq ($(OS),Darwin)
+ifeq ($(GMIC_USE_X11),yes)
 X11_CFLAGS = -Dcimg_display=1 $(shell pkg-config --cflags x11 || echo -I/usr/X11R6/include) #-Dcimg_use_xrandr
 X11_LIBS = $(shell pkg-config --libs x11 || echo -L/usr/X11R6/lib -lX11) -lpthread # $(shell pkg-config --libs xrandr || echo -lXrandr)
 else
+X11_CFLAGS = -Dcimg_display=0
+endif
+else
 ifeq (,$(wildcard /usr/X11))
 X11_CFLAGS = -Dcimg_display=0 #-Dcimg_use_xrandr
 X11_LIBS = -lpthread # $(shell pkg-config --libs xrandr || echo -lXrandr)
@@ -272,8 +278,10 @@
 
 # Enable faster X11 display, using XShm extension.
 # (ftp://www.x.org/pub/X11R7.7/doc/man/man3/XShm.3.xhtml)
+ifeq ($(GMIC_USE_XSHM),yes)
 XSHM_CFLAGS = -Dcimg_use_xshm $(shell pkg-config --cflags xcb-shm)
 XSHM_LIBS = $(shell pkg-config --libs xcb-shm || echo -L$(PREFIX)/X11R6/lib) -lXext
+endif
 
 # Enable image display, using GDI32 (Windows).
 GDI32_CFLAGS = -Dcimg_display=2
@@ -282,8 +290,10 @@
 # Enable native support of PNG image files, using the PNG library.
 # (http://www.libpng.org/pub/png/libpng.html)
 ifneq ($(OS),Darwin)
+ifeq ($(GMIC_USE_PNG),yes)
 PNG_CFLAGS = -Dcimg_use_png $(shell pkg-config --cflags libpng)
 PNG_LIBS = $(shell pkg-config --libs libpng || echo -lpng -lz)
+endif
 else
 ifeq (,$(wildcard /tmp/skl))
 PNG_CFLAGS = -Dcimg_use_png $(shell pkg-config --cflags libpng)
@@ -296,56 +306,76 @@
 
 # Enable native support of JPEG image files, using the JPEG library.
 # (http://libjpeg.sourceforge.net/)
+ifeq ($(GMIC_USE_JPEG),yes)
 JPEG_CFLAGS = -Dcimg_use_jpeg $(shell pkg-config --cflags libjpeg)
 JPEG_LIBS = $(shell pkg-config --libs libjpeg || echo -ljpeg)
+endif
 
 # Enable native support of TIFF image files, using the TIFF library.
 # (http://www.libtiff.org/)
+ifeq ($(GMIC_USE_TIFF),yes)
 TIFF_CFLAGS = -Dcimg_use_tiff $(shell pkg-config --cflags libtiff-4)
 TIFF_LIBS = $(shell pkg-config --libs libtiff-4 || echo -ltiff)
+endif
 
 # Enable native support for loading HEIC/AVIF image files, using the libheif library.
 # ( https://github.com/strukturag/libheif )
+ifeq ($(GMIC_USE_HEIF),yes)
 HEIF_CFLAGS = -Dcimg_use_heif
 HEIF_LIBS = -lheif
+endif
 
 # Enable native support of MINC2 image files, using the MINC2 library.
 # ( http://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_Users_Guide )
+ifeq ($(GMIC_USE_MINC2),yes)
 MINC2_CFLAGS = -Dcimg_use_minc2 -I${HOME}/local/include
 MINC2_LIBS = -lminc_io -lvolume_io2 -lminc2 -lnetcdf -lhdf5 -lz -L${HOME}/local/lib
+endif
 
 # Enable native support for downloading files from the network.
 # ( http://curl.haxx.se/libcurl/ )
+ifeq ($(GMIC_USE_CURL),yes)
 CURL_CFLAGS = -Dcimg_use_curl $(shell pkg-config --cflags libcurl)
 CURL_LIBS = $(shell pkg-config --libs libcurl || echo -lcurl)
+endif
 
 # Enable native support of webcams and video streaming, using the OpenCV library.
 # (https://opencv.org/)
+ifeq ($(GMIC_USE_OPENCV),yes)
 OPENCV_CFLAGS = -Dcimg_use_opencv $(shell pkg-config opencv --cflags) -I/usr/include/opencv -I/usr/include/opencv4
 OPENCV_LIBS = $(shell pkg-config opencv --libs || echo -lopencv_core -lopencv_highgui -lopencv_videoio)
+endif
 
 # Enable support of most classical image file formats, using the GraphicsMagick++ library.
 # (http://www.graphicsmagick.org/Magick++/)
+ifeq ($(GMIC_USE_GRAPHICSMAGICK),yes)
 MAGICK_CFLAGS = -Dcimg_use_magick $(shell pkg-config --cflags GraphicsMagick++ || echo -I$(PREFIX)/$(INCLUDE)/GraphicsMagick)
 MAGICK_LIBS = $(shell pkg-config --libs GraphicsMagick++ || echo -lGraphicsMagick++)
+endif
 
 # Enable native support of EXR image files, using the OpenEXR library.
 # (http://www.openexr.com/)
-OPENEXR_CFLAGS = -Dcimg_use_openexr $(shell pkg-config --cflags OpenEXR || echo -I$(PREFIX)/$(INCLUDE)/OpenEXR)
-OPENEXR_LIBS = $(shell pkg-config --libs OpenEXR || echo -lIlmImf -lHalf)
+ifeq ($(GMIC_USE_EXR),yes)
+OPENEXR_CFLAGS = -Dcimg_use_openexr $(shell pkg-config --cflags OpenEXR || echo -I$(USR)/$(INCLUDE)/OpenEXR -I$(USR)/$(INCLUDE)/Imath)
+OPENEXR_LIBS = $(shell pkg-config --libs OpenEXR || echo -lOpenEXR -lImath)
+endif
 
 # Enable Fast Fourier Transforms, using the FFTW3 library.
 # (http://www.fftw.org/)
+ifeq ($(GMIC_USE_FFTW),yes)
 FFTW_CFLAGS = -Dcimg_use_fftw3 $(shell pkg-config --cflags fftw3)
 FFTW_LIBS = $(shell pkg-config --libs fftw3 || echo -lfftw3)
 ifneq ($(OS),Windows)
 FFTW_LIBS += -lfftw3_threads
 endif
+endif
 
 # Enable native support of the BOARD library.
 # (https://github.com/c-koi/libboard)
+ifeq ($(GMIC_USE_BOARD),yes)
 BOARD_CFLAGS = -Dcimg_use_board
 BOARD_LIBS = -lboard
+endif
 
 GMIC_STD_CFLAGS = $(MANDATORY_CFLAGS) $(ABORT_CFLAGS) $(PARALLEL_CFLAGS) $(FFTW_CFLAGS) $(CURL_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(TIFF_CFLAGS)
 GMIC_STD_LIBS = $(MANDATORY_LIBS) $(PARALLEL_LIBS) $(FFTW_LIBS) $(CURL_LIBS) $(PNG_LIBS) $(JPEG_LIBS) $(TIFF_LIBS)
