This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
miniperl isn't enough anymore to run pod2man.
[perl5.git] / pod / Makefile.SH
1 case $PERL_CONFIG_SH in
2 '')
3         if test -f config.sh; then TOP=.;
4         elif test -f ../config.sh; then TOP=..;
5         elif test -f ../../config.sh; then TOP=../..;
6         elif test -f ../../../config.sh; then TOP=../../..;
7         elif test -f ../../../../config.sh; then TOP=../../../..;
8         else
9                 echo "Can't find config.sh."; exit 1
10         fi
11         . $TOP/config.sh
12         ;;
13 esac
14 : This forces SH files to create target in same directory as SH file.
15 : This is so that make depend always knows where to find SH derivatives.
16 case "$0" in
17 */*) cd `expr X$0 : 'X\(.*\)/'` ;;
18 esac
19
20 if test -d pod; then
21   cd pod || exit 1
22 fi
23 POD=`echo *.pod`
24 MAN=`echo $POD|sed 's/\.pod/\.man/g'`
25 HTML=`echo $POD|sed 's/perltoc.pod//'|sed 's/\.pod/\.html/g'`
26 TEX=`echo $POD|sed 's/\.pod/\.tex/g'`
27
28 echo "Extracting pod/Makefile (with variable substitutions)"
29 : This section of the file will have variable substitutions done on it.
30 : Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
31 : Protect any dollar signs and backticks that you do not want interpreted
32 : by putting a backslash in front.  You may delete these comments.
33
34 $spitshell >Makefile <<!GROK!THIS!
35 # pod/Makefile
36 # This file is derived from pod/Makefile.SH.  Any changes made here will
37 # be lost the next time you run Configure.
38
39 POD = $POD
40
41 MAN = $MAN
42
43 # no perltoc.html
44 HTML = $HTML
45
46 TEX  = $TEX  
47
48 # The following is used to include the current directory in
49 # the dynamic loader path you are building a shared libperl.
50 LDLIBPTH = $ldlibpth
51
52 !GROK!THIS!
53
54 ## In the following dollars and backticks do not need the extra backslash.
55 $spitshell >>Makefile <<'!NO!SUBS!'
56
57 CONVERTERS = pod2html pod2latex pod2man pod2text checkpods \
58                 pod2usage podchecker podselect
59
60 HTMLROOT = /    # Change this to fix cross-references in HTML
61 POD2HTML = pod2html \
62             --htmlroot=$(HTMLROOT) \
63             --podroot=.. --podpath=pod:lib:ext:vms \
64             --libpods=perlfunc:perlguts:perlvar:perlrun:perlop
65
66 PERL = ../miniperl
67 PERLILIB = $(PERL) -I../lib
68 REALPERL = ../perl
69
70 all: $(CONVERTERS) man
71
72 converters: $(CONVERTERS)
73
74 regen_pods: perlmodlib.pod toc
75
76 perltoc.pod:    buildtoc
77
78 man:    pod2man $(MAN)
79
80 html:   pod2html $(HTML)
81
82 tex:    pod2latex $(TEX)
83
84 toc perltoc.pod:        buildtoc
85         $(PERLILIB) buildtoc --build-toc
86
87 .SUFFIXES: .pm .pod
88
89 .SUFFIXES: .man
90
91 .pm.man:     pod2man
92         $(REALPERL) -I../lib pod2man $*.pm >$*.man
93
94 .pod.man:     pod2man
95         $(REALPERL) -I../lib pod2man $*.pod >$*.man
96
97 .SUFFIXES: .html
98
99 .pm.html:    pod2html
100         $(PERL) -I../lib $(POD2HTML) --infile=$*.pm --outfile=$*.html
101
102 .pod.html:    pod2html
103         $(PERL) -I../lib $(POD2HTML) --infile=$*.pod --outfile=$*.html
104
105 .SUFFIXES: .tex
106
107 .pm.tex: pod2latex
108         $(PERL) -I../lib pod2latex $*.pm
109
110 .pod.tex: pod2latex
111         $(PERL) -I../lib pod2latex $*.pod
112
113 clean:
114         rm -f $(MAN)
115         rm -f $(HTML)
116         rm -f $(TEX)
117         rm -f pod2html-*cache
118         rm -f *.aux *.log *.exe
119
120 realclean:      clean
121         rm -f $(CONVERTERS)
122
123 distclean:      realclean
124
125 veryclean:      distclean
126         -rm -f *~ *.orig
127
128 check:  checkpods
129         @echo "checking..."; \
130         $(PERL) -I../lib checkpods $(POD)
131
132 # Dependencies.
133 pod2latex:      pod2latex.PL ../lib/Config.pm
134         $(LDLIBPTH) $(PERL) -I../lib pod2latex.PL
135
136 pod2html:       pod2html.PL ../lib/Config.pm
137         $(LDLIBPTH) $(PERL) -I ../lib pod2html.PL
138
139 pod2man:        pod2man.PL ../lib/Config.pm
140         $(LDLIBPTH) $(PERL) -I ../lib pod2man.PL
141
142 pod2text:       pod2text.PL ../lib/Config.pm
143         $(LDLIBPTH) $(PERL) -I ../lib pod2text.PL
144
145 checkpods:      checkpods.PL ../lib/Config.pm
146         $(LDLIBPTH) $(PERL) -I ../lib checkpods.PL
147
148 pod2usage:      pod2usage.PL ../lib/Config.pm
149         $(PERL) -I ../lib pod2usage.PL
150
151 podchecker:     podchecker.PL ../lib/Config.pm
152         $(PERL) -I ../lib podchecker.PL
153
154 podselect:      podselect.PL ../lib/Config.pm
155         $(PERL) -I ../lib podselect.PL
156
157 perlmodlib.pod: $(PERL) perlmodlib.PL ../MANIFEST
158         rm -f perlmodlib.pod
159         $(PERL) -I ../lib perlmodlib.PL
160
161 compile: all
162         $(REALPERL) -I../lib ../utils/perlcc -I .. -L .. -o pod2latex.exe pod2latex -log ../compilelog
163         $(REALPERL) -I../lib ../utils/perlcc -I .. -L .. -o pod2man.exe pod2man -log ../compilelog
164         $(REALPERL) -I../lib ../utils/perlcc -I .. -L .. -o pod2text.exe pod2text -log ../compilelog
165         $(REALPERL) -I../lib ../utils/perlcc -I .. -L .. -o checkpods.exe checkpods -log ../compilelog
166
167 !NO!SUBS!