• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#  Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
2#  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#    https://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
20#
21$(PERLMAGICK)/quantum/@MAGICK_ABI_SUFFIX@.xs: $(PERLMAGICK)/quantum/quantum.xs
22	$(AM_V_GEN) $(LN_S) quantum.xs $@
23
24$(PERLMAGICK)/quantum/@MAGICK_ABI_SUFFIX@.pm: $(PERLMAGICK)/quantum/quantum.pm
25	$(AM_V_GEN) $(LN_S) quantum.pm $@
26
27perl-quantum-sources: $(PERLMAGICK)/quantum/@MAGICK_ABI_SUFFIX@.xs $(PERLMAGICK)/quantum/@MAGICK_ABI_SUFFIX@.pm
28
29perl-sources: perl-quantum-sources
30	@if test -n "$(VPATH)" ; then \
31	  echo "Linking PerlMagick Sources ..." ; \
32	  imagemagick=`(cd $(VPATH) ; pwd)` && \
33	  ( cd $(PERLMAGICK) && \
34	    sh $$imagemagick/config/lndir.sh $$imagemagick/$(PERLMAGICK) ; ) \
35	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
45PERLMAGICK_INSTALL_EXEC_LOCAL_TARGETS = install-exec-perl
46PERLMAGICK_INSTALL_DATA_LOCAL_TARGETS =
47PERLMAGICK_UNINSTALL_LOCAL_TARGETS = uninstall-exec-perl
48PERLMAGICK_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
55PERLMAGICK_CHECKSCRPTS =
56
57$(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@' && \
62	$(MAKE) CC='@CC@' install )
63
64all-perl: perl-sources
65
66uninstall-exec-perl: $(PERLMAKEFILE)
67	echo "Uninstall not supported for PerlMagick"
68
69check-perl: $(PERLMAKEFILE)
70	cd $(PERLMAGICK) && $(abs_top_builddir)/magick.sh $(MAKE) CC='@CC@' test
71
72perl-build: $(PERLMAKEFILE)
73	( cd $(PERLMAGICK) && $(MAKE) CC='@CC@' )
74
75else
76if WITH_PERL_STATIC
77
78PERLSTATICNAME=PerlMagick
79
80PERLMAGICK_CHECKSCRPTS = perl-build
81
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)
108	cd $(PERLMAGICK) && $(abs_top_builddir)/magick.sh $(MAKE) -f Makefile.aperl CC='@CC@' test
109
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 ; \
122	rm -f t/output* t/jng/*_tmp.jng t/*/output* ; \
123	rm -f quantum/@MAGICK_ABI_SUFFIX@.xs;\
124	rm -f quantum/@MAGICK_ABI_SUFFIX@.pm;\
125	rm -f Magick.pm;)
126	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
139