mirror of
https://github.com/GreycLab/CImg.git
synced 2026-06-03 00:08:51 +08:00
480 lines
18 KiB
Makefile
480 lines
18 KiB
Makefile
#
|
|
# File : Makefile
|
|
# ( Makefile for GNU 'make' utility )
|
|
#
|
|
# Description : Makefile for compiling CImg-based code on Unix.
|
|
# This file is a part of the CImg Library project.
|
|
# ( http://cimg.eu )
|
|
#
|
|
# Copyright : David Tschumperlé
|
|
# ( http://tschumperle.users.greyc.fr/ )
|
|
#
|
|
# License : CeCILL v2.0
|
|
# ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
|
|
#
|
|
# This software is governed by the CeCILL license under French law and
|
|
# abiding by the rules of distribution of free software. You can use,
|
|
# modify and/ or redistribute the software under the terms of the CeCILL
|
|
# license as circulated by CEA, CNRS and INRIA at the following URL
|
|
# "http://www.cecill.info".
|
|
#
|
|
# As a counterpart to the access to the source code and rights to copy,
|
|
# modify and redistribute granted by the license, users are provided only
|
|
# with a limited warranty and the software's author, the holder of the
|
|
# economic rights, and the successive licensors have only limited
|
|
# liability.
|
|
#
|
|
# In this respect, the user's attention is drawn to the risks associated
|
|
# with loading, using, modifying and/or developing or reproducing the
|
|
# software by the user in light of its specific status of free software,
|
|
# that may mean that it is complicated to manipulate, and that also
|
|
# therefore means that it is reserved for developers and experienced
|
|
# professionals having in-depth computer knowledge. Users are therefore
|
|
# encouraged to load and test the software's suitability as regards their
|
|
# requirements in conditions enabling the security of their systems and/or
|
|
# data to be ensured and, more generally, to use and operate it in the
|
|
# same conditions as regards security.
|
|
#
|
|
# The fact that you are presently reading this means that you have had
|
|
# knowledge of the CeCILL license and that you accept its terms.
|
|
#
|
|
|
|
#-------------------------------------------------------
|
|
# Define the list of files to be compiled
|
|
# (name of the source files without the .cpp extension)
|
|
#-------------------------------------------------------
|
|
|
|
# Files which do not necessarily require external libraries to run.
|
|
FILES = CImg_demo \
|
|
captcha \
|
|
curve_editor2d \
|
|
dtmri_view3d \
|
|
edge_explorer2d \
|
|
fade_images \
|
|
gaussian_fit1d \
|
|
generate_loop_macros \
|
|
hough_transform2d \
|
|
image_registration2d \
|
|
image2ascii \
|
|
image_surface3d \
|
|
jawbreaker \
|
|
mcf_levelsets2d \
|
|
mcf_levelsets3d \
|
|
odykill \
|
|
pde_heatflow2d \
|
|
pde_TschumperleDeriche2d \
|
|
plotter1d \
|
|
radon_transform2d \
|
|
scene3d \
|
|
spherical_function3d \
|
|
tetris \
|
|
tron \
|
|
tutorial \
|
|
wavelet_atrous \
|
|
use_chlpca \
|
|
use_draw_gradient \
|
|
use_nlmeans \
|
|
use_skeleton \
|
|
use_RGBclass
|
|
|
|
# Files which requires external libraries to run.
|
|
EXTRA_FILES = test_template_types \
|
|
use_tiff_stream \
|
|
use_jpeg_buffer
|
|
|
|
#---------------------------------
|
|
# Set correct variables and paths
|
|
#---------------------------------
|
|
VERSION := $(shell awk '/cimg_version[[:space:]]/ {print $$3; exit}' ../CImg.h)
|
|
SVERSION := $(shell awk '/cimg_version[[:space:]]/ {v=$$3; printf "%d.%d.%d", int(v/100), int((v%100)/10), v%10; exit}' ../CImg.h)
|
|
|
|
EXE_EXT =
|
|
ifneq ($(filter MINGW32 MINGW64,$(MSYSTEM)),)
|
|
EXE_EXT = .exe
|
|
endif
|
|
|
|
ifneq ($(findstring clang++,$(notdir $(CXX))),)
|
|
IS_CLANG = 1
|
|
else ifneq ($(findstring g++,$(notdir $(CXX))),)
|
|
IS_GCC = 1
|
|
else ifneq ($(findstring icpc,$(notdir $(CXX))),)
|
|
IS_ICPC = 1
|
|
else ifeq ($(IS_GCC)$(IS_CLANG)$(IS_ICPC),)
|
|
CXX_ID := $(shell $(CXX) --version 2>&1 | head -n 1)
|
|
ifneq ($(findstring clang,$(CXX_ID)),)
|
|
IS_CLANG = 1
|
|
else ifneq ($(findstring GCC,$(CXX_ID)),)
|
|
IS_GCC = 1
|
|
endif
|
|
endif
|
|
|
|
CXXVER := $(CXX)
|
|
CFLAGS = -I.. -Wall -Wextra -Wfatal-errors -Werror=unknown-pragmas -Werror=unused-label
|
|
LIBS = -lm
|
|
ifdef IS_CLANG
|
|
CXXVER := $(shell $(CXX) -v 2>&1 | head -n 1)
|
|
else ifdef IS_GCC
|
|
CXXVER := $(shell $(CXX) -v 2>&1 | tail -n 1)
|
|
else ifdef IS_ICPC
|
|
CXXVER := $(shell $(CXX) -v 2>&1)
|
|
CFLAGS = -I..
|
|
LIBS =
|
|
endif
|
|
|
|
ifdef IS_GCC
|
|
GCC_MAJOR := $(shell $(CXX) -dumpversion | cut -d. -f1)
|
|
GCC_VER_GTEQ5 := $(shell [ $(GCC_MAJOR) -ge 5 ] && echo 1 || echo 0)
|
|
ifeq ($(GCC_VER_GTEQ5),1)
|
|
CFLAGS += -Wshadow
|
|
endif
|
|
CFLAGS += -Wno-int-in-bool-context -Wno-bool-compare
|
|
endif
|
|
|
|
STRIP ?= strip
|
|
|
|
#--------------------------------------------------
|
|
# Set compilation flags allowing to customize CImg
|
|
#--------------------------------------------------
|
|
|
|
# Flags to enable color output messages.
|
|
# (requires a VT100 compatible terminal)
|
|
VT100_CFLAGS = -Dcimg_use_vt100
|
|
|
|
# Flags to enable strict code standards
|
|
CXX11_CFLAGS = -std=c++11
|
|
ifndef IS_ICPC
|
|
CXX11_CFLAGS += -pedantic
|
|
endif
|
|
|
|
# Flags to enable code debugging.
|
|
DEBUG_CFLAGS = -Dcimg_verbosity=3 -Dcimg_strict_warnings -g
|
|
ifneq ($(IS_CLANG)$(IS_GCC),)
|
|
DEBUG_CFLAGS += -fsanitize=address
|
|
endif
|
|
|
|
# Flags to enable code optimization by the compiler.
|
|
OPT_CFLAGS = -O3
|
|
ifdef IS_GCC
|
|
ifeq ($(EXE_EXT),)
|
|
NO_MTUNE_GENERIC := $(shell echo | $(CXX) -mtune=generic -E - > /dev/null 2>&1; echo $$?)
|
|
ifeq ($(NO_MTUNE_GENERIC),0)
|
|
OPT_CFLAGS += -mtune=generic
|
|
endif
|
|
else
|
|
OPT_CFLAGS += -mtune=generic
|
|
endif
|
|
endif
|
|
ifdef IS_ICPC
|
|
OPT_CFLAGS = -fast
|
|
endif
|
|
|
|
# Flags to enable OpenMP support.
|
|
OPENMP_DEFINE = -Dcimg_use_openmp -fopenmp
|
|
OPENMP_INCDIR =
|
|
OPENMP_CFLAGS = $(OPENMP_DEFINE) $(OPENMP_INCDIR)
|
|
ifdef IS_ICPC
|
|
# -Dcimg_use_openmp -openmp -i-static -> Seems to bug the compiler!
|
|
OPENMP_CFLAGS =
|
|
endif
|
|
|
|
# Flags to enable OpenCV support.
|
|
OPENCV_DEFINE = -Dcimg_use_opencv
|
|
OPENCV_INCDIR := $(shell pkg-config --cflags opencv4 2>/dev/null || pkg-config --cflags opencv 2>/dev/null || echo -I/usr/include/opencv4 -I/usr/include/opencv)
|
|
OPENCV_CFLAGS = $(OPENCV_DEFINE) $(OPENCV_INCDIR)
|
|
OPENCV_LIBS := $(shell pkg-config --libs opencv4 2>/dev/null || pkg-config --libs opencv 2>/dev/null || echo -lopencv_core -lopencv_highgui -lopencv_videoio)
|
|
|
|
# Flags used to disable display capablities of CImg
|
|
NODISPLAY_CFLAGS = -Dcimg_display=0
|
|
|
|
# Flags to enable the use of the X11 library.
|
|
# (X11 is used by CImg to handle display windows)
|
|
X11_DEFINE = -Dcimg_display=1
|
|
X11_INCDIR := $(shell pkg-config --cflags x11 2>/dev/null || echo -I/usr/X11R6/include)
|
|
X11_CFLAGS = $(X11_DEFINE) $(X11_INCDIR)
|
|
X11_LIBS := $(shell pkg-config --libs x11 2>/dev/null || echo -L/usr/X11R6/lib -lX11) -pthread
|
|
|
|
# Flags to enable fast image display, using the XSHM library (when using X11).
|
|
# !!! Seems to randomly crash when used on MacOS and 64bits systems, so use it only when necessary !!!
|
|
XSHM_CFLAGS := # -Dcimg_use_xshm $(shell pkg-config --cflags xcb-shm 2>/dev/null)
|
|
XSHM_LIBS := # $(shell pkg-config --libs xcb-shm 2>/dev/null || echo -L/usr/X11R6/lib -lXext)
|
|
|
|
# Flags to enable screen mode switching, using the XRandr library (when using X11).
|
|
# ( http://www.x.org/wiki/Projects/XRandR )
|
|
# !!! Not supported by the X11 server on MacOS, so do not use it on MacOS !!!
|
|
XRANDR_DEFINE = -Dcimg_use_xrandr
|
|
XRANDR_INCDIR := $(shell pkg-config --cflags xrandr 2>/dev/null)
|
|
XRANDR_CFLAGS = $(XRANDR_DEFINE) $(XRANDR_INCDIR)
|
|
XRANDR_LIBS := $(shell pkg-config --libs xrandr 2>/dev/null || echo -lXrandr)
|
|
|
|
# Flags to enable GDI32 display (Windows native).
|
|
GDI32_DEFINE =
|
|
GDI32_INCDIR =
|
|
GDI32_CFLAGS = $(GDI32_DEFINE) $(GDI32_INCDIR) -mwindows
|
|
GDI32_LIBS = -lgdi32
|
|
|
|
# Flags to enable SDL3 display.
|
|
SDL3_DEFINE = -Dcimg_display=3
|
|
SDL3_INCDIR := $(shell pkg-config --cflags sdl3 2>/dev/null || echo -I/usr/local/include)
|
|
SDL3_CFLAGS = $(SDL3_DEFINE) $(SDL3_INCDIR)
|
|
SDL3_LIBS := $(shell pkg-config --libs sdl3 2>/dev/null || echo -L/usr/local/lib -lSDL3)
|
|
|
|
# Flags to enable native support for PNG image files, using the PNG library.
|
|
# ( http://www.libpng.org/ )
|
|
PNG_DEFINE = -Dcimg_use_png
|
|
PNG_INCDIR := $(shell pkg-config --cflags libpng 2>/dev/null)
|
|
PNG_CFLAGS = $(PNG_DEFINE) $(PNG_INCDIR)
|
|
PNG_LIBS := $(shell pkg-config --libs libpng 2>/dev/null || echo -lpng -lz)
|
|
|
|
# Flags to enable native support for JPEG image files, using the JPEG library.
|
|
# ( http://www.ijg.org/ )
|
|
JPEG_DEFINE = -Dcimg_use_jpeg
|
|
JPEG_INCDIR := $(shell pkg-config --cflags libjpeg 2>/dev/null)
|
|
JPEG_CFLAGS = $(JPEG_DEFINE) $(JPEG_INCDIR)
|
|
JPEG_LIBS := $(shell pkg-config --libs libjpeg 2>/dev/null || echo -ljpeg)
|
|
|
|
# Flags to enable native support for JPEG XL image files, using the JXL library.
|
|
# ( https://github.com/libjxl/libjxl )
|
|
JXL_DEFINE = -Dcimg_use_jxl
|
|
JXL_INCDIR := $(shell pkg-config --cflags libjxl 2>/dev/null)
|
|
JXL_CFLAGS = $(JXL_DEFINE) $(JXL_INCDIR)
|
|
JXL_LIBS := $(shell pkg-config --libs libjxl 2>/dev/null || echo -ljxl)
|
|
|
|
# Flags to enable native support for TIFF image files, using the TIFF library.
|
|
# ( http://www.libtiff.org/ )
|
|
TIFF_DEFINE = -Dcimg_use_tiff
|
|
TIFF_INCDIR := $(shell pkg-config --cflags libtiff-4 2>/dev/null)
|
|
TIFF_CFLAGS = $(TIFF_DEFINE) $(TIFF_INCDIR)
|
|
TIFF_LIBS := $(shell pkg-config --libs libtiff-4 2>/dev/null || echo -ltiff)
|
|
|
|
# Flags to enable native support for loading HEIF image files, using the libheif library.
|
|
# ( https://github.com/strukturag/libheif )
|
|
HEIF_DEFINE = -Dcimg_use_heif
|
|
HEIF_INCDIR := $(shell pkg-config --cflags libheif 2>/dev/null)
|
|
HEIF_CFLAGS = $(HEIF_DEFINE) $(HEIF_INCDIR)
|
|
HEIF_LIBS := $(shell pkg-config --libs libheif 2>/dev/null || echo -lheif)
|
|
|
|
# Flags to enable native support for MINC2 image files, using the MINC2 library.
|
|
# ( http://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_Users_Guide )
|
|
MINC2_DEFINE = -Dcimg_use_minc2
|
|
MINC2_INCDIR = -I$(HOME)/local/include
|
|
MINC2_CFLAGS = $(MINC2_DEFINE) $(MINC2_INCDIR)
|
|
MINC2_LIBS = -L$(HOME)/local/lib -lminc_io -lvolume_io2 -lminc2 -lnetcdf -lhdf5 -lz
|
|
|
|
# Flags to enable native support for EXR image files, using the OpenEXR library.
|
|
# ( http://www.openexr.com/ )
|
|
OPENEXR_DEFINE = -Dcimg_use_openexr
|
|
OPENEXR_INCDIR := $(shell pkg-config --cflags OpenEXR 2>/dev/null || echo -I/usr/include/OpenEXR)
|
|
OPENEXR_CFLAGS = $(OPENEXR_DEFINE) $(OPENEXR_INCDIR)
|
|
OPENEXR_LIBS := $(shell pkg-config --libs OpenEXR 2>/dev/null || echo -lIlmImf -lHalf)
|
|
|
|
# Flags to enable native support for various video files, using the FFMPEG library.
|
|
# ( http://www.ffmpeg.org/ )
|
|
FFMPEG_DEFINE = -Dcimg_use_ffmpeg -D__STDC_CONSTANT_MACROS
|
|
FFMPEG_INCDIR := $(shell pkg-config --cflags libavcodec libavformat libswscale 2>/dev/null || echo -I/usr/include/libavcodec -I/usr/include/libavformat -I/usr/include/libswscale -I/usr/include/ffmpeg)
|
|
FFMPEG_CFLAGS = $(FFMPEG_DEFINE) $(FFMPEG_INCDIR)
|
|
FFMPEG_LIBS := $(shell pkg-config --libs libavcodec libavformat libswscale 2>/dev/null || echo -lavcodec -lavformat -lswscale)
|
|
|
|
# Flags to enable native support for compressed .cimgz files, using the Zlib library.
|
|
# ( http://www.zlib.net/ )
|
|
ZLIB_DEFINE = -Dcimg_use_zlib
|
|
ZLIB_INCDIR := $(shell pkg-config --cflags zlib 2>/dev/null || echo -I/usr/include)
|
|
ZLIB_CFLAGS = $(ZLIB_DEFINE) $(ZLIB_INCDIR)
|
|
ZLIB_LIBS := $(shell pkg-config --libs zlib 2>/dev/null || echo -lz)
|
|
|
|
# Flags to enable native support for downloading files from the network.
|
|
# ( http://curl.haxx.se/libcurl/ )
|
|
CURL_DEFINE = -Dcimg_use_curl
|
|
CURL_INCDIR := $(shell pkg-config --cflags libcurl 2>/dev/null)
|
|
CURL_CFLAGS = $(CURL_DEFINE) $(CURL_INCDIR)
|
|
CURL_LIBS := $(shell pkg-config --libs libcurl 2>/dev/null || echo -lcurl)
|
|
|
|
# Flags to enable native support of most classical image file formats, using the Magick++ library.
|
|
# ( http://www.imagemagick.org/Magick++/ )
|
|
MAGICK_DEFINE = -Dcimg_use_magick
|
|
MAGICK_INCDIR := $(shell pkg-config --cflags GraphicsMagick++ 2>/dev/null || echo -I/usr/include/GraphicsMagick)
|
|
MAGICK_CFLAGS = $(MAGICK_DEFINE) $(MAGICK_INCDIR)
|
|
MAGICK_LIBS := $(shell pkg-config --libs GraphicsMagick++ 2>/dev/null || echo -lGraphicsMagick++)
|
|
|
|
# Flags to enable faster Discrete Fourier Transform computation, using the FFTW3 library
|
|
# ( http://www.fftw.org/ )
|
|
FFTW3_DEFINE = -Dcimg_use_fftw3
|
|
FFTW3_INCDIR := $(shell pkg-config --cflags fftw3 2>/dev/null)
|
|
FFTW3_CFLAGS = $(FFTW3_DEFINE) $(FFTW3_INCDIR)
|
|
ifneq ($(filter MINGW32 MINGW64,$(MSYSTEM)),)
|
|
FFTW3_LIBS = -lfftw3-3
|
|
else
|
|
FFTW3_LIBS = -lfftw3 -lfftw3_threads
|
|
endif
|
|
|
|
# Enable native support of WebP image files, using the WebP library.
|
|
# (https://chromium.googlesource.com/webm/libwebp/)
|
|
WEBP_DEFINE = -Dcimg_use_webp
|
|
WEBP_INCDIR := $(shell pkg-config --cflags libwebp 2>/dev/null || echo -I/usr/include/webp)
|
|
WEBP_CFLAGS = $(WEBP_DEFINE) $(WEBP_INCDIR)
|
|
WEBP_LIBS := $(shell pkg-config --libs libwebp 2>/dev/null || echo -lwebp)
|
|
|
|
#-------------------------
|
|
# Define Makefile entries
|
|
#-------------------------
|
|
.PHONY: all clean menu linux dlinux olinux mlinux Mlinux \
|
|
macos dmacos omacos mmacos Mmacos \
|
|
windows dwindows owindows mwindows Mwindows \
|
|
travis custom
|
|
|
|
%$(EXE_EXT): %.cpp
|
|
@echo
|
|
@echo "** Compiling '$* ($(SVERSION))' with '$(CXXVER)'"
|
|
@echo
|
|
$(CXX) $(CFLAGS) $(CONF_CFLAGS) -o $@ $< $(LIBS) $(CONF_LIBS)
|
|
ifeq ($(STRIP_EXE),true)
|
|
$(STRIP) $@
|
|
endif
|
|
|
|
menu:
|
|
@echo
|
|
@echo "CImg Library $(SVERSION) : Examples"
|
|
@echo "-----------------------------"
|
|
@echo " > linux : Linux/BSD target, X11 display, optimizations disabled."
|
|
@echo " > dlinux : Linux/BSD target, X11 display, debug mode."
|
|
@echo " > olinux : Linux/BSD target, X11 display, optimizations enabled."
|
|
@echo " > mlinux : Linux/BSD target, no display, minimal features, optimizations enabled."
|
|
@echo " > Mlinux : Linux/BSD target, X11 display, maximal features, optimizations enabled."
|
|
@echo
|
|
@echo " > macos : MacOS target, X11 display, optimizations disabled."
|
|
@echo " > dmacos : MacOS target, X11 display, debug mode."
|
|
@echo " > omacos : MacOS target, X11 display, optimizations enabled."
|
|
@echo " > mmacos : MacOS target, no display, minimal features, optimizations enabled."
|
|
@echo " > Mmacos : MacOS target, X11 display, maximal features, optimizations enabled."
|
|
@echo
|
|
@echo " > windows : Windows target, GDI32 display, optimizations disabled."
|
|
@echo " > dwindows : Windows target, GDI32 display, debug mode."
|
|
@echo " > owindows : Windows target, GDI32 display, optimizations enabled."
|
|
@echo " > mwindows : Windows target, no display, minimal features, optimizations enabled."
|
|
@echo " > Mwindows : Windows target, GDI32 display, maximal features, optimizations enabled."
|
|
@echo
|
|
@echo " > clean : Clean generated files."
|
|
@echo
|
|
@echo "Choose your option :"
|
|
@read CHOICE; echo; $(MAKE) $$CHOICE; echo; echo "> Next time, you can bypass the menu by typing directly 'make $$CHOICE'"; echo;
|
|
|
|
all: $(FILES)
|
|
|
|
clean:
|
|
$(RM) *.exe *.o *.obj *~ \#* $(FILES) $(EXTRA_FILES)
|
|
|
|
# Custom user-defined target
|
|
custom:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(VT100_CFLAGS) $(TIFF_CFLAGS) $(HEIF_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS) $(TIFF_LIBS) $(HEIF_LIBS) $(XSHM_LIBS)" \
|
|
all $(EXTRA_FILES)
|
|
|
|
# Linux/BSD/Mac OSX targets, with X11 display.
|
|
|
|
# A target for Travis-CI
|
|
travis:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS) $(FFTW3_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(CURL_CFLAGS) $(XSHM_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS) $(FFTW3_LIBS) $(PNG_LIBS) $(JPEG_LIBS) $(CURL_LIBS) $(XSHM_LIBS)" \
|
|
all
|
|
|
|
linux:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS) $(XSHM_LIBS)" \
|
|
all
|
|
|
|
dlinux:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(DEBUG_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS) $(XSHM_LIBS)" \
|
|
all
|
|
|
|
olinux:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(OPT_CFLAGS) $(OPENMP_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS) $(XSHM_LIBS)" \
|
|
"STRIP_EXE=true" \
|
|
all
|
|
|
|
mlinux:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(NODISPLAY_CFLAGS) $(OPT_CFLAGS)" \
|
|
"STRIP_EXE=true" \
|
|
all
|
|
|
|
Mlinux:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(OPT_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) $(XRANDR_CFLAGS) $(TIFF_CFLAGS) $(HEIF_CFLAGS) $(OPENEXR_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(ZLIB_CFLAGS) $(CURL_CFLAGS) $(OPENCV_CFLAGS) $(MAGICK_CFLAGS) $(FFTW3_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS) $(XSHM_LIBS) $(XRANDR_LIBS) $(TIFF_LIBS) $(HEIF_LIBS) $(OPENEXR_LIBS) $(PNG_LIBS) $(JPEG_LIBS) $(ZLIB_LIBS) $(CURL_LIBS) $(OPENCV_LIBS) $(MAGICK_LIBS) $(FFTW3_LIBS)" \
|
|
"STRIP_EXE=true" \
|
|
all $(EXTRA_FILES)
|
|
|
|
# MacOs targets, with X11 display.
|
|
macos:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS)" \
|
|
all
|
|
|
|
dmacos:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(DEBUG_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS)" \
|
|
all
|
|
|
|
omacos:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(OPT_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS)" \
|
|
"STRIP_EXE=true" \
|
|
all
|
|
|
|
mmacos:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(CXX11_CFLAGS) $(NODISPLAY_CFLAGS) $(OPT_CFLAGS)" \
|
|
"STRIP_EXE=true" \
|
|
all
|
|
|
|
Mmacos:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(OPT_CFLAGS) $(VT100_CFLAGS) $(X11_CFLAGS) $(TIFF_CFLAGS) $(HEIF_CFLAGS) $(MINC2_CFLAGS) $(OPENEXR_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(ZLIB_CFLAGS) $(OPENCV_CFLAGS) $(MAGICK_CFLAGS) $(FFTW3_CFLAGS)" \
|
|
"CONF_LIBS = $(X11_LIBS) $(TIFF_LIBS) $(HEIF_LIBS) $(MINC2_LIBS) $(OPENEXR_LIBS) $(PNG_LIBS) $(JPEG_LIBS) $(ZLIB_LIBS) $(OPENCV_LIBS) $(MAGICK_LIBS) $(FFTW3_LIBS)" \
|
|
"STRIP_EXE=true" \
|
|
all $(EXTRA_FILES)
|
|
|
|
# Windows targets, with GDI32 display.
|
|
windows:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(GDI32_CFLAGS)" \
|
|
"CONF_LIBS = $(GDI32_LIBS)" \
|
|
all
|
|
|
|
dwindows:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(DEBUG_CFLAGS) $(GDI32_CFLAGS)" \
|
|
"CONF_LIBS = $(GDI32_LIBS)" \
|
|
all
|
|
|
|
owindows:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(OPT_CFLAGS) $(GDI32_CFLAGS)" \
|
|
"CONF_LIBS = $(GDI32_LIBS)" \
|
|
"STRIP_EXE=true" \
|
|
all
|
|
|
|
mwindows:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(NODISPLAY_CFLAGS) $(OPT_CFLAGS)" \
|
|
"STRIP_EXE=true" \
|
|
all
|
|
|
|
Mwindows:
|
|
@$(MAKE) --no-print-directory $(MAKEFLAGS) \
|
|
"CONF_CFLAGS = $(OPT_CFLAGS) $(GDI32_CFLAGS) $(TIFF_CFLAGS) $(HEIF_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(ZLIB_CFLAGS) $(OPENCV_CFLAGS) $(FFTW3_CFLAGS)" \
|
|
"CONF_LIBS = $(GDI32_LIBS) $(TIFF_LIBS) $(HEIF_LIBS) $(PNG_LIBS) $(JPEG_LIBS) $(ZLIB_LIBS) $(OPENCV_LIBS) $(FFTW3_LIBS)" \
|
|
"STRIP_EXE=true" \
|
|
all $(EXTRA_FILES)
|
|
|
|
# End of makefile
|