A new version of making the syslog test more robust.
[p5sagit/p5-mst-13.2.git] / pod / Makefile.SH
1 case $CONFIG 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 REALPERL = ../perl
68
69 all: $(CONVERTERS) man
70
71 converters: $(CONVERTERS)
72
73 regen_pods: perlmodlib.pod toc
74
75 buildtoc:       buildtoc.PL perl.pod ../MANIFEST
76         $(PERL) buildtoc.PL
77
78 perltoc.pod:    buildtoc
79
80 man:    pod2man $(MAN)
81
82 html:   pod2html $(HTML)
83
84 tex:    pod2latex $(TEX)
85
86 toc:    buildtoc
87         $(PERL) buildtoc
88
89 .SUFFIXES: .pm .pod
90
91 .SUFFIXES: .man
92
93 .pm.man:     pod2man
94         $(PERL) -I../lib pod2man $*.pm >$*.man
95
96 .pod.man:     pod2man
97         $(PERL) -I../lib pod2man $*.pod >$*.man
98
99 .SUFFIXES: .html
100
101 .pm.html:    pod2html
102         $(PERL) -I../lib $(POD2HTML) --infile=$*.pm --outfile=$*.html
103
104 .pod.html:    pod2html
105         $(PERL) -I../lib $(POD2HTML) --infile=$*.pod --outfile=$*.html
106
107 .SUFFIXES: .tex
108
109 .pm.tex: pod2latex
110         $(PERL) -I../lib pod2latex $*.pm
111
112 .pod.tex: pod2latex
113         $(PERL) -I../lib pod2latex $*.pod
114
115 clean:
116         rm -f $(MAN)
117         rm -f $(HTML)
118         rm -f $(TEX)
119         rm -f pod2html-*cache
120         rm -f *.aux *.log *.exe
121
122 realclean:      clean
123         rm -f $(CONVERTERS)
124
125 distclean:      realclean
126
127 veryclean:      distclean
128         -rm -f *~ *.orig
129
130 check:  checkpods
131         @echo "checking..."; \
132         $(PERL) -I../lib checkpods $(POD)
133
134 # Dependencies.
135 pod2latex:      pod2latex.PL ../lib/Config.pm
136         $(LDLIBPTH) $(PERL) -I../lib pod2latex.PL
137
138 pod2html:       pod2html.PL ../lib/Config.pm
139         $(LDLIBPTH) $(PERL) -I ../lib pod2html.PL
140
141 pod2man:        pod2man.PL ../lib/Config.pm
142         $(LDLIBPTH) $(PERL) -I ../lib pod2man.PL
143
144 pod2text:       pod2text.PL ../lib/Config.pm
145         $(LDLIBPTH) $(PERL) -I ../lib pod2text.PL
146
147 checkpods:      checkpods.PL ../lib/Config.pm
148         $(LDLIBPTH) $(PERL) -I ../lib checkpods.PL
149
150 pod2usage:      pod2usage.PL ../lib/Config.pm
151         $(PERL) -I ../lib pod2usage.PL
152
153 podchecker:     podchecker.PL ../lib/Config.pm
154         $(PERL) -I ../lib podchecker.PL
155
156 podselect:      podselect.PL ../lib/Config.pm
157         $(PERL) -I ../lib podselect.PL
158
159 perlmodlib.pod: $(PERL) perlmodlib.PL ../mv-if-diff
160         rm -f perlmodlib.tmp
161         $(PERL) -I ../lib perlmodlib.PL
162         sh ../mv-if-diff perlmodlib.tmp perlmodlib.pod
163
164 compile: all
165         $(REALPERL) -I../lib ../utils/perlcc -regex 's/$$/.exe/' pod2latex pod2man pod2text checkpods -prog -verbose dcf -log ../compilelog;
166
167 !NO!SUBS!