blob: 88ded01c65310fa325d9d4ad5a41513ac7d3817c [file] [log] [blame]
Cristy7ce65e72015-12-12 18:03:16 -05001# Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization
cristy3ed852e2009-09-05 21:47:34 +00002# dedicated to making software imaging solutions freely available.
3#
4# You may not use this file except in compliance with the License. You may
5# obtain a copy of the License at
6#
7# http://www.imagemagick.org/script/license.php
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15# Copyright (C) 2003 - 2008 GraphicsMagick Group
16#
17# Makefile for building PerlMagick.
18
19# If source files missing, see if they can be obtained via VPATH
cristyee35eb42013-02-14 02:06:22 +000020#
21$(PERLMAGICK)/quantum/@MAGICK_ABI_SUFFIX@.xs: $(PERLMAGICK)/quantum/quantum.xs
cristyfba37762013-04-02 20:08:04 +000022 $(AM_V_GEN) $(LN_S) quantum.xs $@
cristyee35eb42013-02-14 02:06:22 +000023
24$(PERLMAGICK)/quantum/@MAGICK_ABI_SUFFIX@.pm: $(PERLMAGICK)/quantum/quantum.pm
cristyfba37762013-04-02 20:08:04 +000025 $(AM_V_GEN) $(LN_S) quantum.pm $@
cristyee35eb42013-02-14 02:06:22 +000026
27perl-quantum-sources: $(PERLMAGICK)/quantum/@MAGICK_ABI_SUFFIX@.xs $(PERLMAGICK)/quantum/@MAGICK_ABI_SUFFIX@.pm
28
29perl-sources: perl-quantum-sources
cristy3ed852e2009-09-05 21:47:34 +000030 @if test -n "$(VPATH)" ; then \
31 echo "Linking PerlMagick Sources ..." ; \
32 imagemagick=`(cd $(VPATH) ; pwd)` && \
33 ( cd $(PERLMAGICK) && \
cristyee35eb42013-02-14 02:06:22 +000034 sh $$imagemagick/config/lndir.sh $$imagemagick/$(PERLMAGICK) ; ) \
cristy3ed852e2009-09-05 21:47:34 +000035 fi ; \
36 touch perl-sources
37
38if WITH_PERL
39
40PERLMAGICK=PerlMagick
41PERLMAKEMAKER=$(PERLMAGICK)/Makefile.PL
42PERLMAKEFILE=$(PERLMAGICK)/Makefile
43
44PERLMAGICK_ALL_LOCAL_TARGETS = all-perl
cristyb6c017e2010-01-13 19:11:39 +000045PERLMAGICK_INSTALL_EXEC_LOCAL_TARGETS = install-exec-perl
cristy3ed852e2009-09-05 21:47:34 +000046PERLMAGICK_INSTALL_DATA_LOCAL_TARGETS =
cristyb6c017e2010-01-13 19:11:39 +000047PERLMAGICK_UNINSTALL_LOCAL_TARGETS = uninstall-exec-perl
cristy3ed852e2009-09-05 21:47:34 +000048PERLMAGICK_CLEAN_LOCAL_TARGETS = clean-perl
49PERLMAGICK_DISTCLEAN_LOCAL_TARGETS = clean-perl
50PERLMAGICK_MAINTAINER_CLEAN_LOCAL_TARGETS = distclean-local
51PERLMAGICK_TESTS = PerlMagick/check.sh
52
53if WITH_PERL_DYNAMIC
54
cristyad38abe2012-12-23 23:03:21 +000055PERLMAGICK_CHECKSCRPTS =
cristybbf4d1d2010-01-06 01:46:59 +000056
cristy3ed852e2009-09-05 21:47:34 +000057$(PERLMAKEFILE): perl-sources $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) $(PERLMAKEMAKER)
58 cd $(PERLMAGICK) && @PERL@ Makefile.PL $(PERL_MAKE_OPTIONS)
59
60install-exec-perl: $(PERLMAKEFILE)
61 ( cd $(PERLMAGICK) && $(MAKE) CC='@CC@' && \
cristy3225a072010-04-17 01:47:28 +000062 $(MAKE) CC='@CC@' install )
cristy3ed852e2009-09-05 21:47:34 +000063
64all-perl: perl-sources
65
66uninstall-exec-perl: $(PERLMAKEFILE)
67 echo "Uninstall not supported for PerlMagick"
68
69check-perl: $(PERLMAKEFILE)
cristyfa112112010-01-04 17:48:07 +000070 cd $(PERLMAGICK) && $(abs_top_builddir)/magick.sh $(MAKE) CC='@CC@' test
cristy3ed852e2009-09-05 21:47:34 +000071
72perl-build: $(PERLMAKEFILE)
73 ( cd $(PERLMAGICK) && $(MAKE) CC='@CC@' )
74
75else
76if WITH_PERL_STATIC
77
78PERLSTATICNAME=PerlMagick
79
cristyad38abe2012-12-23 23:03:21 +000080PERLMAGICK_CHECKSCRPTS = perl-build
cristy3ed852e2009-09-05 21:47:34 +000081
82$(PERLMAKEFILE): perl-sources $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) $(PERLMAKEMAKER)
83 cd $(PERLMAGICK) && @PERL@ Makefile.PL MAP_TARGET=$(PERLSTATICNAME) $(PERL_MAKE_OPTIONS) && $(MAKE) Makefile ; $(MAKE) Makefile
84
85$(PERLMAGICK)/$(PERLSTATICNAME): $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) $(PERLMAKEFILE)
86 ( rm -f $(PERLMAGICK)/$(PERLSTATICNAME) ; cd $(PERLMAGICK) && $(MAKE) CC='@CC@' $(PERLSTATICNAME) ; $(MAKE) CC='@CC@' $(PERLSTATICNAME) )
87
88all-perl: $(PERLMAGICK)/$(PERLSTATICNAME)
89
90install-exec-perl: $(PERLMAGICK)/$(PERLSTATICNAME)
91 rm -f "$(DESTDIR)$(BIN_DIR)/$(PERLSTATICNAME)"
92 if test "x$(DESTDIR)" = "x" -o "$(PERL_SUPPORTS_DESTDIR)" = 'yes' ; then \
93 ( cd $(PERLMAGICK) && \
94 $(MAKE) -f Makefile.aperl CC='@CC@' inst_perl MAP_TARGET=$(PERLSTATICNAME) \
95 INSTALLBIN="$(BIN_DIR)" \
96 ) ; \
97 else \
98 ( cd $(PERLMAGICK) && \
99 $(MAKE) -f Makefile.aperl CC='@CC@' inst_perl MAP_TARGET=$(PERLSTATICNAME) \
100 INSTALLBIN="$(DESTDIR)$(BIN_DIR)" PREFIX="$(DESTDIR)$(prefix)" \
101 ) ; \
102 fi
103
104uninstall-exec-perl:
105 rm -f '$(DESTDIR)$(BIN_DIR)/$(PERLSTATICNAME)'
106
107check-perl: $(PERLMAGICK)/$(PERLSTATICNAME)
cristyfa112112010-01-04 17:48:07 +0000108 cd $(PERLMAGICK) && $(abs_top_builddir)/magick.sh $(MAKE) -f Makefile.aperl CC='@CC@' test
cristy3ed852e2009-09-05 21:47:34 +0000109
110perl-build: $(PERLMAGICK)/$(PERLSTATICNAME)
111
112endif # WITH_PERL_STATIC
113endif # WTIH_PERL_DYNAMIC
114
115
116clean-perl:
117 (cd $(PERLMAGICK) && \
118 ( if test -f Makefile.old ; then $(MAKE) -f Makefile.old CC='@CC@' clean ; fi ) ; \
119 ( if test -f Makefile ; then $(MAKE) CC='@CC@' clean ; fi ) ; \
120 ( if test -f Makefile ; then $(MAKE) CC='@CC@' clean ; fi ) ; \
121 rm -f Makefile.old PerlMagick ; \
cristy3e049f82013-02-13 13:26:53 +0000122 rm -f t/output* t/jng/*_tmp.jng t/*/output* ; \
cristyee35eb42013-02-14 02:06:22 +0000123 rm -f quantum/@MAGICK_ABI_SUFFIX@.xs;\
124 rm -f quantum/@MAGICK_ABI_SUFFIX@.pm;\
cristy3e049f82013-02-13 13:26:53 +0000125 rm -f Magick.pm;)
cristy3ed852e2009-09-05 21:47:34 +0000126 rm -f perl-sources
127
128distclean-perl: clean-perl
129
130else
131# Satisfy makefile requirements if not building PERL
132all-perl:
133install-exec-perl:
134uninstall-exec-perl:
135check-perl:
136clean-perl:
137distclean-perl:
138endif # WITH_PERL