#  Copyright 1999-2019 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
#
#    http://imagemagick.org/script/license.php
#
#  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/MagickCore.pc \
	MagickCore/ImageMagick-@MAGICK_MAJOR_VERSION@.@MAGICK_ABI_SUFFIX@.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
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/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/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/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/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/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/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/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/image-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/methods-private.h \
 	MagickCore/mime-private.h \
	MagickCore/mime-private.h \
 	MagickCore/module-private.h \
	MagickCore/monitor-private.h \
	MagickCore/morphology-private.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/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/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
