You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

240 lines
7.7 KiB
Makefile

# ***************************************************** -*- Makefile -*-
#
# Copyright (C) 2004-2015 Andreas Huggel <ahuggel@gmx.net>
#
# This Makefile is part of the Exiv2 distribution.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# File: config.mk.in
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
# History: 10-Dec-03, ahu: created
#
# Description:
# Exiv2 system configuration file.
#
# **********************************************************************
# Exiv2 version for use with libtool (-version-info argument)
EXIV2_LTVERSION = @EXIV2_LTVERSION@
# Compile for use with a commercial license
COMMERCIAL_VERSION = @COMMERCIAL_VERSION@
# **********************************************************************
# Libtool
LIBTOOL = $(top_srcdir)/libtool
LIBTOOL_DEPS = $(top_srcdir)/@LIBTOOL_DEPS@
# **********************************************************************
# C++ Compiler and precompiler
CXX = @CXX@
GXX = @GXX@
PREFIX = @PREFIX@
# Common compiler flags (warnings, symbols [-ggdb], optimization [-O2], etc)
CXXFLAGS = @CXXFLAGS@
ifeq ($(GXX),yes)
CXXFLAGS += -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W
endif
# Command to run only the preprocessor
CXXCPP = @CXXCPP@
# Preprocessor flags
CPPFLAGS = -I../src -I../include/ -I../include/exiv2 @CPPFLAGS@ -DEXV_LOCALEDIR=\"$(localedir)\"
ifeq ($(COMMERCIAL_VERSION),yes)
CPPFLAGS += -DEXV_COMMERCIAL_VERSION=1
endif
# Linker flags and libraries
LDFLAGS = @LDFLAGS@
LIBS = @LTLIBINTL@ @LTLIBICONV@ @LIBS@
# Suffix of executables
EXEEXT := @EXEEXT@
# **********************************************************************
# C Compiler
CC = @CC@
GCC = @GCC@
CFLAGS = @CFLAGS@
ifeq ($(GCC),yes)
CFLAGS += -Wall
endif
# **********************************************************************
# XMP support
ENABLE_XMP = @ENABLE_XMP@
CPPFLAGS_MORE=-Wundef -pedantic
ifeq ($(ENABLE_XMP),1)
XMPSDK_LIBRARY = xmpsdk
XMPSDK_DIR = $(top_srcdir)/xmpsdk
XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/include
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/src
XMPSDK_LIBS = -l$(XMPSDK_LIBRARY)
CPPFLAGS_MORE = X
endif
ifeq ($(ENABLE_XMP),2016)
XMPSDK_LIBRARY = xmpsdk
XMPSDK_DIR = $(top_srcdir)/xmpsdk
XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201607 \
-I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201607/public/include \
-DEXV_ADOBE_XMPSDK=2016
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201607
XMPSDK_LIBS = -lXMPCore
CPPFLAGS_MORE = X
endif
ifeq ($(ENABLE_XMP),2014)
XMPSDK_LIBRARY = xmpsdk
XMPSDK_DIR = $(top_srcdir)/xmpsdk
XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201412 \
-I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201412/public/include \
-DEXV_ADOBE_XMPSDK=2014
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201412
XMPSDK_LIBS = -lXMPCore
CPPFLAGS_MORE = X
endif
ifeq ($(ENABLE_XMP),2013)
XMPSDK_LIBRARY = xmpsdk
XMPSDK_DIR = $(top_srcdir)/xmpsdk
XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201306 \
-I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201306/public/include \
-DEXV_ADOBE_XMPSDK=2013
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201306
XMPSDK_LIBS = -lXMPCore
CPPFLAGS_MORE = X
endif
# Enable additional warnings. XMP Toolkit doesn't compile with these.
ifeq ($(GXX),yes)
ifneq ($(CPPFLAGS_MORE),X)
CXXFLAGS += $(CPPFLAGS_MORE)
endif
endif
# Libcurl need for httpIO if it's selected
CURL_CPPFLAGS = @CURL_CPPFLAGS@
CURL_LDFLAGS = @CURL_LDFLAGS@
CURL_LIBS = @CURL_LIBS@
# Libssh need for SshIO if it's selected
USE_SSH = @USE_SSH@
SSH_CPPFLAGS = @SSH_CPPFLAGS@
SSH_LDFLAGS = @SSH_LDFLAGS@
SSH_LIBS = @SSH_LIBS@
# Expat library needed to compile the XMP Toolkit
EXPAT_LDFLAGS = @EXPAT_LDFLAGS@
EXPAT_CPPFLAGS = @EXPAT_CPPFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
# **********************************************************************
# Video support
ENABLE_VIDEO = @ENABLE_VIDEO@
# **********************************************************************
# Libraries, include files, functions
HAVE_LIBZ = @HAVE_LIBZ@
HAVE_STDINT = @HAVE_STDINT@
HAVE_TIMEGM = @HAVE_TIMEGM@
# **********************************************************************
# Advanced auto-dependency generation
# http://make.paulandlesley.org/autodep.html
DEP_TRACKING = @DEP_TRACKING@
ifdef DEP_TRACKING
# Directory for dependency files
DEPDIR = .deps
# Command to run the compiler or preprocessor to produce
# dependencies. If you're not using gcc, you may need to change
# this to something suitable for your compiler or simply unset
# the variable. See the link above for suggestions.
MAKEDEPEND = $(CXX) -MM $(CPPFLAGS) -o $*.d $<
# Dependency files post-process commands
POSTDEPEND = if test ! -d $(DEPDIR); then mkdir $(DEPDIR); fi; \
if test -e $*.d; then cp $*.d $(DEPDIR)/$*.d; \
sed -e 's/^\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $(DEPDIR)/$*.d; \
$(RM) $*.d; fi
# Compiler flags to generate dependency files at the same time
# as object files (for gcc)
ifeq ($(GXX),yes)
CXXFLAGS += -MMD
CFLAGS += -MMD
MAKEDEPEND =
endif
endif
# **********************************************************************
# Compilation shortcuts
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
COMPILE.c = $(CC) $(CFLAGS) -c
# LINK.cc does not need $(LIBS), libtool's dark magic takes care of that
# when linking a binary with a libtool library.
LINK.cc = $(CXX) $(LDFLAGS)
# **********************************************************************
# Installation programs
INSTALL_EXE = @INSTALL@
INSTALL_PROGRAM = $(INSTALL_EXE)
INSTALL_DATA = $(INSTALL_EXE) -m 644
INSTALL_DIRS = $(top_srcdir)/config/mkinstalldirs
# **********************************************************************
# Other programs
RM = rm -f
# **********************************************************************
# Directories
prefix = @prefix@
exec_prefix = @exec_prefix@
# Source directory
srcdir = @srcdir@
# Installation directories
bindir = @bindir@
datarootdir = @datarootdir@
datadir = @datadir@
localedir = $(datadir)/locale
incdir = @includedir@/exiv2
libdir = @libdir@
mandir = @mandir@
man1dir = $(mandir)/man1
# That's all Folks!
##