#  Copyright 1999 ImageMagick Studio LLC, a non-profit organization
#  dedicated to making software imaging solutions freely available.
#
#  You may not use this file except in compliance with the License.  You may
#  obtain a copy of the License at
#
#    https://imagemagick.org/license/
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
#  Makefile for building the MagickCore API.
#

MagickCoreincdir = $(INCLUDE_PATH)/MagickCore
MagickCoreincarchdir = $(INCLUDEARCH_PATH)/MagickCore

# Headers which are installed
MagickCoreinc_HEADERS = \
  $(MAGICKCORE_INCLUDE_HDRS)
MagickCoreincarch_HEADERS = \
  $(MAGICKCORE_INCLUDEARCH_HDRS)

MAGICKCORE_BIN_SCRPTS = \
  MagickCore/MagickCore-config

MAGICKCORE_PKGCONFIG = \
  MagickCore/ImageMagick.pc \
  MagickCore/ImageMagick-@MAGICK_MAJOR_VERSION@.@MAGICK_ABI_SUFFIX@.pc \
  MagickCore/MagickCore.pc \
  MagickCore/MagickCore-@MAGICK_MAJOR_VERSION@.@MAGICK_ABI_SUFFIX@.pc

OSX_GCOV_LDFLAG = @OSX_GCOV_LDFLAG@

MAGICKCORE_MANS = \
  MagickCore/MagickCore-config.1

MAGICKCORE_LIBS = MagickCore/libMagickCore-@MAGICK_MAJOR_VERSION@.@MAGICK_ABI_SUFFIX@.la

if WITH_MODULES
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURCES = $(MAGICKCORE_BASE_SRCS) $(MAGICKCORE_PLATFORM_SRCS)
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LIBADD = $(MAGICK_DEP_LIBS)
else
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURCES = $(MAGICKCORE_BASE_SRCS) $(MAGICKCORE_PLATFORM_SRCS) $(MAGICKCORE_CODER_SRCS) $(MAGICKCORE_FILTER_SRCS)
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LIBADD = $(MAGICK_DEP_LIBS)
endif # WITH_MODULES

if WIN32_NATIVE_BUILD
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LIBADD += -lws2_32
if WITH_MODULES
else
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LIBADD += -lurlmon
endif
endif

nodist_MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURCES =
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBRARY_EXTRA_CPPFLAGS)

if HAVE_LD_VERSION_SCRIPT
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LDFLAGS_VERSION =  -Wl,--version-script=$(top_srcdir)/MagickCore/libMagickCore.map
else
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LDFLAGS_VERSION = -export-symbols-regex ".*"
endif

MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LDFLAGS = -no-undefined \
  $(MagickCore_libMagickCore_la_LDFLAGS_VERSION) \
  $(OSX_GCOV_LDFLAG) $(MAGICK_LT_RELEASE_OPTS) -version-info \
  $(MAGICK_LIBRARY_CURRENT):$(MAGICK_LIBRARY_REVISION):$(MAGICK_LIBRARY_AGE)
MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_DEPENDENCIES =

# Library base sources
MAGICKCORE_BASE_SRCS = \
  MagickCore/MagickCore.h \
  MagickCore/accelerate.c \
  MagickCore/accelerate-private.h \
  MagickCore/accelerate-kernels-private.h \
  MagickCore/animate.c \
  MagickCore/animate.h \
  MagickCore/animate-private.h \
  MagickCore/annotate.c \
  MagickCore/annotate.h \
  MagickCore/artifact.c \
  MagickCore/artifact.h \
  MagickCore/attribute.c \
  MagickCore/attribute.h \
  MagickCore/blob.c \
  MagickCore/blob.h \
  MagickCore/blob-private.h \
  MagickCore/cache.c \
  MagickCore/cache.h \
  MagickCore/cache-private.h \
  MagickCore/cache-view.c \
  MagickCore/cache-view.h \
  MagickCore/channel.c \
  MagickCore/channel.h \
  MagickCore/cipher.c \
  MagickCore/cipher.h \
  MagickCore/client.c \
  MagickCore/client.h \
  MagickCore/coder.c \
  MagickCore/coder.h \
  MagickCore/color.c \
  MagickCore/color.h \
  MagickCore/color-private.h \
  MagickCore/colormap.c \
  MagickCore/colormap.h \
  MagickCore/colormap-private.h \
  MagickCore/colorspace.c \
  MagickCore/colorspace.h \
  MagickCore/colorspace-private.h \
  MagickCore/compare.c \
  MagickCore/compare.h \
  MagickCore/compare-private.h \
  MagickCore/composite.c \
  MagickCore/composite.h \
  MagickCore/composite-private.h \
  MagickCore/compress.c \
  MagickCore/compress.h \
  MagickCore/configure.c \
  MagickCore/configure.h \
  MagickCore/constitute.c \
  MagickCore/constitute.h \
  MagickCore/decorate.c \
  MagickCore/decorate.h \
  MagickCore/delegate.c \
  MagickCore/delegate.h \
  MagickCore/delegate-private.h \
  MagickCore/deprecate.c \
  MagickCore/deprecate.h \
  MagickCore/display.c \
  MagickCore/display.h \
  MagickCore/display-private.h \
  MagickCore/distort.c \
  MagickCore/distort.h \
  MagickCore/distribute-cache.c \
  MagickCore/distribute-cache.h \
  MagickCore/distribute-cache-private.h \
  MagickCore/draw.c \
  MagickCore/draw.h \
  MagickCore/draw-private.h \
  MagickCore/effect.c \
  MagickCore/effect.h \
  MagickCore/enhance.c \
  MagickCore/enhance.h \
  MagickCore/exception.c \
  MagickCore/exception.h \
  MagickCore/exception-private.h \
  MagickCore/feature.c \
  MagickCore/feature.h \
  MagickCore/fourier.c \
  MagickCore/fourier.h \
  MagickCore/fx.c \
  MagickCore/fx.h \
  MagickCore/fx-private.h \
  MagickCore/gem.c \
  MagickCore/gem.h \
  MagickCore/gem-private.h \
  MagickCore/geometry.c \
  MagickCore/geometry.h \
  MagickCore/geometry-private.h \
  MagickCore/histogram.c \
  MagickCore/histogram.h \
  MagickCore/identify.c \
  MagickCore/identify.h \
  MagickCore/image.c \
  MagickCore/image.h \
  MagickCore/image-private.h \
  MagickCore/image-view.c \
  MagickCore/image-view.h \
  MagickCore/layer.c \
  MagickCore/layer.h \
  MagickCore/linked-list.c \
  MagickCore/linked-list.h \
  MagickCore/list.c \
  MagickCore/list.h \
  MagickCore/locale.c \
  MagickCore/locale_.h \
  MagickCore/log.c \
  MagickCore/log.h \
  MagickCore/magic.c \
  MagickCore/magic.h \
  MagickCore/magick.c \
  MagickCore/magick-baseconfig.h \
  MagickCore/magick-config.h \
  MagickCore/magick-type.h \
  MagickCore/magick.h \
  MagickCore/matrix.c \
  MagickCore/matrix.h \
  MagickCore/matrix-private.h \
  MagickCore/memory.c \
  MagickCore/memory_.h \
  MagickCore/memory-private.h \
  MagickCore/method-attribute.h \
  MagickCore/methods.h \
  MagickCore/mime.c \
  MagickCore/mime.h \
  MagickCore/module.c \
  MagickCore/module.h \
  MagickCore/monitor.c \
  MagickCore/monitor.h \
  MagickCore/monitor-private.h \
  MagickCore/montage.c \
  MagickCore/montage.h \
  MagickCore/morphology.c \
  MagickCore/morphology.h \
  MagickCore/morphology-private.h \
  MagickCore/mutex.h \
  MagickCore/nt-base.h \
  MagickCore/nt-base-private.h \
  MagickCore/nt-feature.h \
  MagickCore/opencl.c \
  MagickCore/opencl.h \
  MagickCore/opencl-private.h \
  MagickCore/option.c \
  MagickCore/option.h \
  MagickCore/option-private.h \
  MagickCore/paint.c \
  MagickCore/paint.h \
  MagickCore/pixel.c \
  MagickCore/pixel.h \
  MagickCore/pixel-accessor.h \
  MagickCore/pixel-private.h \
  MagickCore/policy.c \
  MagickCore/policy.h \
  MagickCore/policy-private.h \
  MagickCore/prepress.c \
  MagickCore/prepress.h \
  MagickCore/property.c \
  MagickCore/property.h \
  MagickCore/profile.c \
  MagickCore/profile.h \
  MagickCore/profile-private.h \
  MagickCore/quantize.c \
  MagickCore/quantize.h \
  MagickCore/quantum.c \
  MagickCore/quantum.h \
  MagickCore/quantum-export.c \
  MagickCore/quantum-import.c \
  MagickCore/quantum-private.h \
  MagickCore/random.c \
  MagickCore/random_.h \
  MagickCore/random-private.h \
  MagickCore/registry.c \
  MagickCore/registry.h \
  MagickCore/resample.c \
  MagickCore/resample.h \
  MagickCore/resample-private.h \
  MagickCore/resize.c \
  MagickCore/resize.h \
  MagickCore/resize-private.h \
  MagickCore/resource.c \
  MagickCore/resource_.h \
  MagickCore/resource-private.h \
  MagickCore/segment.c \
  MagickCore/segment.h \
  MagickCore/semaphore.c \
  MagickCore/semaphore.h \
  MagickCore/semaphore-private.h \
  MagickCore/shear.c \
  MagickCore/shear.h \
  MagickCore/signature.c \
  MagickCore/signature.h \
  MagickCore/signature-private.h \
  MagickCore/splay-tree.c \
  MagickCore/splay-tree.h \
  MagickCore/static.c \
  MagickCore/static.h \
  MagickCore/statistic.c \
  MagickCore/statistic.h \
  MagickCore/statistic-private.h \
  MagickCore/stream.c \
  MagickCore/stream.h \
  MagickCore/stream-private.h \
  MagickCore/string.c \
  MagickCore/string_.h \
  MagickCore/string-private.h \
  MagickCore/studio.h \
  MagickCore/thread.c \
  MagickCore/thread_.h \
  MagickCore/thread-private.h \
  MagickCore/timer.c \
  MagickCore/timer.h \
  MagickCore/timer-private.h \
  MagickCore/token.c \
  MagickCore/token.h \
  MagickCore/token-private.h \
  MagickCore/transform.c \
  MagickCore/transform.h \
  MagickCore/threshold.c \
  MagickCore/threshold.h \
  MagickCore/type.c \
  MagickCore/type.h \
  MagickCore/utility.c \
  MagickCore/utility.h \
  MagickCore/utility-private.h \
  MagickCore/version.c \
  MagickCore/version.h \
  MagickCore/version-private.h \
  MagickCore/visual-effects.c \
  MagickCore/visual-effects.h \
  MagickCore/vision.c \
  MagickCore/vision.h \
  MagickCore/widget.c \
  MagickCore/widget.h \
  MagickCore/widget-private.h \
  MagickCore/xml-tree.c \
  MagickCore/xml-tree.h \
  MagickCore/xml-tree-private.h \
  MagickCore/xwindow.c \
  MagickCore/xwindow.h

if WIN32_NATIVE_BUILD
MAGICKCORE_PLATFORM_SRCS = \
  MagickCore/nt-base.c \
  MagickCore/nt-base.h \
  MagickCore/nt-base-private.h \
  MagickCore/nt-feature.c \
  MagickCore/nt-feature.h
else
if CYGWIN_BUILD
MAGICKCORE_PLATFORM_SRCS = \
  MagickCore/nt-feature.c \
  MagickCore/nt-feature.h
else
MAGICKCORE_PLATFORM_SRCS =
endif # if CYGWIN_BUILD
endif # if WIN32_NATIVE_BUILD

MAGICKCORE_INCLUDE_HDRS = \
  MagickCore/MagickCore.h \
  MagickCore/animate.h \
  MagickCore/annotate.h \
  MagickCore/artifact.h \
  MagickCore/attribute.h \
  MagickCore/blob.h \
  MagickCore/cache.h \
  MagickCore/cache-view.h \
  MagickCore/channel.h \
  MagickCore/cipher.h \
  MagickCore/client.h \
  MagickCore/coder.h \
  MagickCore/color.h \
  MagickCore/colormap.h \
  MagickCore/colorspace.h \
  MagickCore/compare.h \
  MagickCore/composite.h \
  MagickCore/compress.h \
  MagickCore/configure.h \
  MagickCore/constitute.h \
  MagickCore/decorate.h \
  MagickCore/delegate.h \
  MagickCore/deprecate.h \
  MagickCore/display.h \
  MagickCore/distort.h \
  MagickCore/distribute-cache.h \
  MagickCore/draw.h \
  MagickCore/effect.h \
  MagickCore/enhance.h \
  MagickCore/exception.h \
  MagickCore/feature.h \
  MagickCore/fourier.h \
  MagickCore/fx.h \
  MagickCore/gem.h \
  MagickCore/geometry.h \
  MagickCore/histogram.h \
  MagickCore/identify.h \
  MagickCore/image.h \
  MagickCore/image-view.h \
  MagickCore/layer.h \
  MagickCore/linked-list.h \
  MagickCore/list.h \
  MagickCore/locale_.h \
  MagickCore/log.h \
  MagickCore/magic.h \
  MagickCore/magick.h \
  MagickCore/magick-config.h \
  MagickCore/magick-type.h \
  MagickCore/matrix.h \
  MagickCore/memory_.h \
  MagickCore/method-attribute.h \
  MagickCore/methods.h \
  MagickCore/mime.h \
  MagickCore/module.h \
  MagickCore/monitor.h \
  MagickCore/montage.h \
  MagickCore/morphology.h \
  MagickCore/nt-base.h \
  MagickCore/opencl.h \
  MagickCore/option.h \
  MagickCore/paint.h \
  MagickCore/pixel.h \
  MagickCore/pixel-accessor.h \
  MagickCore/policy.h \
  MagickCore/prepress.h \
  MagickCore/profile.h \
  MagickCore/property.h \
  MagickCore/quantize.h \
  MagickCore/quantum.h \
  MagickCore/random_.h \
  MagickCore/registry.h \
  MagickCore/resample.h \
  MagickCore/resize.h \
  MagickCore/resource_.h \
  MagickCore/segment.h \
  MagickCore/semaphore.h \
  MagickCore/shear.h \
  MagickCore/signature.h \
  MagickCore/splay-tree.h \
  MagickCore/static.h \
  MagickCore/statistic.h \
  MagickCore/stream.h \
  MagickCore/string_.h \
  MagickCore/studio.h \
  MagickCore/timer.h \
  MagickCore/token.h \
  MagickCore/transform.h \
  MagickCore/threshold.h \
  MagickCore/type.h \
  MagickCore/utility.h \
  MagickCore/version.h \
  MagickCore/vision.h \
  MagickCore/visual-effects.h \
  MagickCore/widget.h \
  MagickCore/xml-tree.h \
  MagickCore/xwindow.h

MAGICKCORE_NOINST_HDRS = \
  MagickCore/accelerate-private.h \
  MagickCore/accelerate-kernels-private.h \
  MagickCore/animate-private.h \
  MagickCore/annotate-private.h \
  MagickCore/blob-private.h \
  MagickCore/cache-private.h \
  MagickCore/cache-private.h \
  MagickCore/coder-private.h \
  MagickCore/colormap-private.h \
  MagickCore/color-private.h \
  MagickCore/color-private.h \
  MagickCore/colorspace-private.h \
  MagickCore/compare-private.h \
  MagickCore/composite-private.h \
  MagickCore/configure-private.h \
  MagickCore/constitute-private.h \
  MagickCore/delegate-private.h \
  MagickCore/delegate-private.h \
  MagickCore/display-private.h \
  MagickCore/distribute-cache-private.h \
  MagickCore/draw-private.h \
  MagickCore/exception-private.h \
  MagickCore/fx-private.h \
  MagickCore/gem-private.h \
  MagickCore/geometry-private.h \
  MagickCore/image-private.h \
  MagickCore/linked-list-private.h \
  MagickCore/locale-private.h \
  MagickCore/log-private.h \
  MagickCore/magick-private.h \
  MagickCore/magic-private.h \
  MagickCore/matrix-private.h \
  MagickCore/memory-private.h \
  MagickCore/mime-private.h \
  MagickCore/mime-private.h \
  MagickCore/module-private.h \
  MagickCore/monitor-private.h \
  MagickCore/morphology-private.h \
  MagickCore/mutex.h \
  MagickCore/nt-base.h \
  MagickCore/nt-feature.h \
  MagickCore/opencl-private.h \
  MagickCore/option-private.h \
  MagickCore/pixel-private.h \
  MagickCore/policy-private.h \
  MagickCore/profile-private.h \
  MagickCore/quantum-private.h \
  MagickCore/random-private.h \
  MagickCore/registry-private.h \
  MagickCore/resample-private.h \
  MagickCore/resize-private.h \
  MagickCore/resource-private.h \
  MagickCore/resource-private.h \
  MagickCore/semaphore-private.h \
  MagickCore/semaphore-private.h \
  MagickCore/signature-private.h \
  MagickCore/statistic-private.h \
  MagickCore/stream-private.h \
  MagickCore/string-private.h \
  MagickCore/thread_.h \
  MagickCore/thread-private.h \
  MagickCore/timer-private.h \
  MagickCore/token-private.h \
  MagickCore/transform-private.h \
  MagickCore/type-private.h \
  MagickCore/utility-private.h \
  MagickCore/version-private.h \
  MagickCore/widget-private.h \
  MagickCore/xml-tree-private.h \
  MagickCore/xwindow-private.h

MAGICKCORE_INCLUDEARCH_HDRS = \
  MagickCore/magick-baseconfig.h

MAGICKCORE_EXTRA_DIST = \
  MagickCore/MagickCore-config.in \
  $(MAGICKCORE_MANS) \
  MagickCore/ImageMagick.pc.in \
  MagickCore/MagickCore.pc.in \
  MagickCore/libMagickCore.map \
  MagickCore/nt-base.c \
  MagickCore/nt-feature.c

if MAGICKCORE_ZERO_CONFIGURATION_SUPPORT
libMagickCore_threshold_target = MagickCore/libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-threshold.lo
$(libMagickCore_threshold_target): MagickCore/threshold-map.h
nodist_MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURCES += MagickCore/threshold-map.h
CLEANFILES += MagickCore/threshold-map.h
MagickCore/threshold-map.h: config/thresholds.xml Makefile
	$(AM_V_GEN){ printf '%s\n  %s=\n' 'static const char *const' BuiltinMap; sed -e 's/"/\\"/g; s/^.*$$/    "&\\n"/; $$s/$$/;/' $<; } >$@
endif
