Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / man / man3 / ExtUtils::MM_Unix.3
CommitLineData
920dae64
AT
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "ExtUtils::MM_Unix 3"
132.TH ExtUtils::MM_Unix 3 "2001-09-21" "perl v5.8.8" "Perl Programmers Reference Guide"
133.SH "NAME"
134ExtUtils::MM_Unix \- methods used by ExtUtils::MakeMaker
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137\&\f(CW\*(C`require ExtUtils::MM_Unix;\*(C'\fR
138.SH "DESCRIPTION"
139.IX Header "DESCRIPTION"
140The methods provided by this package are designed to be used in
141conjunction with ExtUtils::MakeMaker. When MakeMaker writes a
142Makefile, it creates one or more objects that inherit their methods
143from a package \f(CW\*(C`MM\*(C'\fR. \s-1MM\s0 itself doesn't provide any methods, but it
144\&\s-1ISA\s0 ExtUtils::MM_Unix class. The inheritance tree of \s-1MM\s0 lets operating
145specific packages take the responsibility for all the methods provided
146by MM_Unix. We are trying to reduce the number of the necessary
147overrides by defining rather primitive operations within
148ExtUtils::MM_Unix.
149.PP
150If you are going to write a platform specific \s-1MM\s0 package, please try
151to limit the necessary overrides to primitive methods, and if it is not
152possible to do so, let's work out how to achieve that gain.
153.PP
154If you are overriding any of these methods in your Makefile.PL (in the
155\&\s-1MY\s0 class), please report that to the makemaker mailing list. We are
156trying to minimize the necessary method overrides and switch to data
157driven Makefile.PLs wherever possible. In the long run less methods
158will be overridable via the \s-1MY\s0 class.
159.SH "METHODS"
160.IX Header "METHODS"
161The following description of methods is still under
162development. Please refer to the code for not suitably documented
163sections and complain loudly to the makemaker@perl.org mailing list.
164Better yet, provide a patch.
165.PP
166Not all of the methods below are overridable in a
167Makefile.PL. Overridable methods are marked as (o). All methods are
168overridable by a platform specific MM_*.pm file.
169.PP
170Cross-platform methods are being moved into MM_Any. If you can't find
171something that used to be in here, look in MM_Any.
172.Sh "Methods"
173.IX Subsection "Methods"
174.IP "os_flavor" 4
175.IX Item "os_flavor"
176Simply says that we're Unix.
177.IP "c_o (o)" 4
178.IX Item "c_o (o)"
179Defines the suffix rules to compile different flavors of C files to
180object files.
181.IP "cflags (o)" 4
182.IX Item "cflags (o)"
183Does very much the same as the cflags script in the perl
184distribution. It doesn't return the whole compiler command line, but
185initializes all of its parts. The const_cccmd method then actually
186returns the definition of the \s-1CCCMD\s0 macro which uses these parts.
187.IP "const_cccmd (o)" 4
188.IX Item "const_cccmd (o)"
189Returns the full compiler call for C programs and stores the
190definition in \s-1CONST_CCCMD\s0.
191.IP "const_config (o)" 4
192.IX Item "const_config (o)"
193Defines a couple of constants in the Makefile that are imported from
194\&\f(CW%Config\fR.
195.IP "const_loadlibs (o)" 4
196.IX Item "const_loadlibs (o)"
197Defines \s-1EXTRALIBS\s0, \s-1LDLOADLIBS\s0, \s-1BSLOADLIBS\s0, \s-1LD_RUN_PATH\s0. See
198ExtUtils::Liblist for details.
199.IP "constants (o)" 4
200.IX Item "constants (o)"
201.Vb 1
202\& my $make_frag = $mm->constants;
203.Ve
204.Sp
205Prints out macros for lots of constants.
206.IP "depend (o)" 4
207.IX Item "depend (o)"
208Same as macro for the depend attribute.
209.IP "init_DEST" 4
210.IX Item "init_DEST"
211.Vb 1
212\& $mm->init_DEST
213.Ve
214.Sp
215Defines the \s-1DESTDIR\s0 and DEST* variables paralleling the INSTALL*.
216.IP "init_dist" 4
217.IX Item "init_dist"
218.Vb 1
219\& $mm->init_dist;
220.Ve
221.Sp
222Defines a lot of macros for distribution support.
223.Sp
224.Vb 1
225\& macro description default
226.Ve
227.Sp
228.Vb 2
229\& TAR tar command to use tar
230\& TARFLAGS flags to pass to TAR cvf
231.Ve
232.Sp
233.Vb 2
234\& ZIP zip command to use zip
235\& ZIPFLAGS flags to pass to ZIP -r
236.Ve
237.Sp
238.Vb 4
239\& COMPRESS compression command to gzip --best
240\& use for tarfiles
241\& SUFFIX suffix to put on .gz
242\& compressed files
243.Ve
244.Sp
245.Vb 1
246\& SHAR shar command to use shar
247.Ve
248.Sp
249.Vb 4
250\& PREOP extra commands to run before
251\& making the archive
252\& POSTOP extra commands to run after
253\& making the archive
254.Ve
255.Sp
256.Vb 2
257\& TO_UNIX a command to convert linefeeds
258\& to Unix style in your archive
259.Ve
260.Sp
261.Vb 4
262\& CI command to checkin your ci -u
263\& sources to version control
264\& RCS_LABEL command to label your sources rcs -Nv$(VERSION_SYM): -q
265\& just after CI is run
266.Ve
267.Sp
268.Vb 2
269\& DIST_CP $how argument to manicopy() best
270\& when the distdir is created
271.Ve
272.Sp
273.Vb 2
274\& DIST_DEFAULT default target to use to tardist
275\& create a distribution
276.Ve
277.Sp
278.Vb 2
279\& DISTVNAME name of the resulting archive $(DISTNAME)-$(VERSION)
280\& (minus suffixes)
281.Ve
282.IP "dist (o)" 4
283.IX Item "dist (o)"
284.Vb 1
285\& my $dist_macros = $mm->dist(%overrides);
286.Ve
287.Sp
288Generates a make fragment defining all the macros initialized in
289init_dist.
290.Sp
291%overrides can be used to override any of the above.
292.IP "dist_basics (o)" 4
293.IX Item "dist_basics (o)"
294Defines the targets distclean, distcheck, skipcheck, manifest, veryclean.
295.IP "dist_ci (o)" 4
296.IX Item "dist_ci (o)"
297Defines a check in target for \s-1RCS\s0.
298.IP "dist_core (o)" 4
299.IX Item "dist_core (o)"
300.Vb 1
301\& my $dist_make_fragment = $MM->dist_core;
302.Ve
303.Sp
304Puts the targets necessary for 'make dist' together into one make
305fragment.
306.IP "\fBdist_target\fR" 4
307.IX Item "dist_target"
308.Vb 1
309\& my $make_frag = $MM->dist_target;
310.Ve
311.Sp
312Returns the 'dist' target to make an archive for distribution. This
313target simply checks to make sure the Makefile is up-to-date and
314depends on $(\s-1DIST_DEFAULT\s0).
315.IP "\fBtardist_target\fR" 4
316.IX Item "tardist_target"
317.Vb 1
318\& my $make_frag = $MM->tardist_target;
319.Ve
320.Sp
321Returns the 'tardist' target which is simply so 'make tardist' works.
322The real work is done by the dynamically named \fItardistfile_target()\fR
323method, tardist should have that as a dependency.
324.IP "\fBzipdist_target\fR" 4
325.IX Item "zipdist_target"
326.Vb 1
327\& my $make_frag = $MM->zipdist_target;
328.Ve
329.Sp
330Returns the 'zipdist' target which is simply so 'make zipdist' works.
331The real work is done by the dynamically named \fIzipdistfile_target()\fR
332method, zipdist should have that as a dependency.
333.IP "\fBtarfile_target\fR" 4
334.IX Item "tarfile_target"
335.Vb 1
336\& my $make_frag = $MM->tarfile_target;
337.Ve
338.Sp
339The name of this target is the name of the tarball generated by
340tardist. This target does the actual work of turning the distdir into
341a tarball.
342.IP "zipfile_target" 4
343.IX Item "zipfile_target"
344.Vb 1
345\& my $make_frag = $MM->zipfile_target;
346.Ve
347.Sp
348The name of this target is the name of the zip file generated by
349zipdist. This target does the actual work of turning the distdir into
350a zip file.
351.IP "uutardist_target" 4
352.IX Item "uutardist_target"
353.Vb 1
354\& my $make_frag = $MM->uutardist_target;
355.Ve
356.Sp
357Converts the tarfile into a uuencoded file
358.IP "shdist_target" 4
359.IX Item "shdist_target"
360.Vb 1
361\& my $make_frag = $MM->shdist_target;
362.Ve
363.Sp
364Converts the distdir into a shell archive.
365.IP "dlsyms (o)" 4
366.IX Item "dlsyms (o)"
367Used by some \s-1OS\s0' to define \s-1DL_FUNCS\s0 and \s-1DL_VARS\s0 and write the *.exp files.
368.Sp
369Normally just returns an empty string.
370.IP "dynamic_bs (o)" 4
371.IX Item "dynamic_bs (o)"
372Defines targets for bootstrap files.
373.IP "dynamic_lib (o)" 4
374.IX Item "dynamic_lib (o)"
375Defines how to produce the *.so (or equivalent) files.
376.IP "exescan" 4
377.IX Item "exescan"
378Deprecated method. Use libscan instead.
379.IP "extliblist" 4
380.IX Item "extliblist"
381Called by init_others, and calls ext ExtUtils::Liblist. See
382ExtUtils::Liblist for details.
383.IP "find_perl" 4
384.IX Item "find_perl"
385Finds the executables \s-1PERL\s0 and \s-1FULLPERL\s0
386.IP "fixin" 4
387.IX Item "fixin"
388.Vb 1
389\& $mm->fixin(@files);
390.Ve
391.Sp
392Inserts the sharpbang or equivalent magic number to a set of \f(CW@files\fR.
393.IP "force (o)" 4
394.IX Item "force (o)"
395Writes an empty \s-1FORCE:\s0 target.
396.IP "guess_name" 4
397.IX Item "guess_name"
398Guess the name of this package by examining the working directory's
399name. MakeMaker calls this only if the developer has not supplied a
400\&\s-1NAME\s0 attribute.
401.IP "has_link_code" 4
402.IX Item "has_link_code"
403Returns true if C, \s-1XS\s0, \s-1MYEXTLIB\s0 or similar objects exist within this
404object that need a compiler. Does not descend into subdirectories as
405\&\fIneeds_linking()\fR does.
406.IP "init_dirscan" 4
407.IX Item "init_dirscan"
408Scans the directory structure and initializes \s-1DIR\s0, \s-1XS\s0, \s-1XS_FILES\s0, \s-1PM\s0,
409C, C_FILES, O_FILES, H, H_FILES, \s-1PL_FILES\s0, MAN*PODS, \s-1EXE_FILES\s0.
410.Sp
411Called by init_main.
412.IP "init_DIRFILESEP" 4
413.IX Item "init_DIRFILESEP"
414Using / for Unix. Called by init_main.
415.IP "init_main" 4
416.IX Item "init_main"
417Initializes \s-1AR\s0, \s-1AR_STATIC_ARGS\s0, \s-1BASEEXT\s0, \s-1CONFIG\s0, \s-1DISTNAME\s0, \s-1DLBASE\s0,
418\&\s-1EXE_EXT\s0, \s-1FULLEXT\s0, \s-1FULLPERL\s0, \s-1FULLPERLRUN\s0, \s-1FULLPERLRUNINST\s0, INST_*,
419INSTALL*, \s-1INSTALLDIRS\s0, \s-1LIB_EXT\s0, \s-1LIBPERL_A\s0, \s-1MAP_TARGET\s0, \s-1NAME\s0,
420\&\s-1OBJ_EXT\s0, \s-1PARENT_NAME\s0, \s-1PERL\s0, \s-1PERL_ARCHLIB\s0, \s-1PERL_INC\s0, \s-1PERL_LIB\s0,
421\&\s-1PERL_SRC\s0, \s-1PERLRUN\s0, \s-1PERLRUNINST\s0, \s-1PREFIX\s0, \s-1VERSION\s0,
422\&\s-1VERSION_SYM\s0, \s-1XS_VERSION\s0.
423.IP "init_others" 4
424.IX Item "init_others"
425Initializes \s-1EXTRALIBS\s0, \s-1BSLOADLIBS\s0, \s-1LDLOADLIBS\s0, \s-1LIBS\s0, \s-1LD_RUN_PATH\s0, \s-1LD\s0,
426\&\s-1OBJECT\s0, \s-1BOOTDEP\s0, \s-1PERLMAINCC\s0, \s-1LDFROM\s0, \s-1LINKTYPE\s0, \s-1SHELL\s0, \s-1NOOP\s0,
427\&\s-1FIRST_MAKEFILE\s0, \s-1MAKEFILE_OLD\s0, \s-1NOECHO\s0, \s-1RM_F\s0, \s-1RM_RF\s0, \s-1TEST_F\s0,
428\&\s-1TOUCH\s0, \s-1CP\s0, \s-1MV\s0, \s-1CHMOD\s0, \s-1UMASK_NULL\s0, \s-1ECHO\s0, \s-1ECHO_N\s0
429.IP "init_linker" 4
430.IX Item "init_linker"
431Unix has no need of special linker flags.
432.IP "init_PERL" 4
433.IX Item "init_PERL"
434.Vb 1
435\& $mm->init_PERL;
436.Ve
437.Sp
438Called by init_main. Sets up \s-1ABSPERL\s0, \s-1PERL\s0, \s-1FULLPERL\s0 and all the
439*PERLRUN* permutations.
440.Sp
441.Vb 2
442\& PERL is allowed to be miniperl
443\& FULLPERL must be a complete perl
444.Ve
445.Sp
446.Vb 1
447\& ABSPERL is PERL converted to an absolute path
448.Ve
449.Sp
450.Vb 2
451\& *PERLRUN contains everything necessary to run perl, find it's
452\& libraries, etc...
453.Ve
454.Sp
455.Vb 2
456\& *PERLRUNINST is *PERLRUN + everything necessary to find the
457\& modules being built.
458.Ve
459.IP "init_platform" 4
460.IX Item "init_platform"
461.PD 0
462.IP "platform_constants" 4
463.IX Item "platform_constants"
464.PD
465Add MM_Unix_VERSION.
466.IP "init_PERM" 4
467.IX Item "init_PERM"
468.Vb 1
469\& $mm->init_PERM
470.Ve
471.Sp
472Called by init_main. Initializes PERL_*
473.IP "init_xs" 4
474.IX Item "init_xs"
475.Vb 1
476\& $mm->init_xs
477.Ve
478.Sp
479Sets up macros having to do with \s-1XS\s0 code. Currently just \s-1INST_STATIC\s0,
480\&\s-1INST_DYNAMIC\s0 and \s-1INST_BOOT\s0.
481.IP "install (o)" 4
482.IX Item "install (o)"
483Defines the install target.
484.IP "installbin (o)" 4
485.IX Item "installbin (o)"
486Defines targets to make and to install \s-1EXE_FILES\s0.
487.IP "linkext (o)" 4
488.IX Item "linkext (o)"
489Defines the linkext target which in turn defines the \s-1LINKTYPE\s0.
490.IP "lsdir" 4
491.IX Item "lsdir"
492Takes as arguments a directory name and a regular expression. Returns
493all entries in the directory that match the regular expression.
494.IP "macro (o)" 4
495.IX Item "macro (o)"
496Simple subroutine to insert the macros defined by the macro attribute
497into the Makefile.
498.IP "makeaperl (o)" 4
499.IX Item "makeaperl (o)"
500Called by staticmake. Defines how to write the Makefile to produce a
501static new perl.
502.Sp
503By default the Makefile produced includes all the static extensions in
504the perl library. (Purified versions of library files, e.g.,
505DynaLoader_pure_p1_c0_032.a are automatically ignored to avoid link errors.)
506.IP "makefile (o)" 4
507.IX Item "makefile (o)"
508Defines how to rewrite the Makefile.
509.IP "maybe_command" 4
510.IX Item "maybe_command"
511Returns true, if the argument is likely to be a command.
512.IP "needs_linking (o)" 4
513.IX Item "needs_linking (o)"
514Does this module need linking? Looks into subdirectory objects (see
515also \fIhas_link_code()\fR)
516.IP "nicetext" 4
517.IX Item "nicetext"
518misnamed method (will have to be changed). The MM_Unix method just
519returns the argument without further processing.
520.Sp
521On \s-1VMS\s0 used to insure that colons marking targets are preceded by
522space \- most Unix Makes don't need this, but it's necessary under \s-1VMS\s0
523to distinguish the target delimiter from a colon appearing as part of
524a filespec.
525.IP "parse_abstract" 4
526.IX Item "parse_abstract"
527parse a file and return what you think is the \s-1ABSTRACT\s0
528.IP "parse_version" 4
529.IX Item "parse_version"
530parse a file and return what you think is \f(CW$VERSION\fR in this file set to.
531It will return the string \*(L"undef\*(R" if it can't figure out what \f(CW$VERSION\fR
532is. \f(CW$VERSION\fR should be for all to see, so our \f(CW$VERSION\fR or plain \f(CW$VERSION\fR
533are okay, but my \f(CW$VERSION\fR is not.
534.IP "pasthru (o)" 4
535.IX Item "pasthru (o)"
536Defines the string that is passed to recursive make calls in
537subdirectories.
538.IP "perl_script" 4
539.IX Item "perl_script"
540Takes one argument, a file name, and returns the file name, if the
541argument is likely to be a perl script. On MM_Unix this is true for
542any ordinary, readable file.
543.IP "perldepend (o)" 4
544.IX Item "perldepend (o)"
545Defines the dependency from all *.h files that come with the perl
546distribution.
547.IP "perm_rw (o)" 4
548.IX Item "perm_rw (o)"
549Returns the attribute \f(CW\*(C`PERM_RW\*(C'\fR or the string \f(CW644\fR.
550Used as the string that is passed
551to the \f(CW\*(C`chmod\*(C'\fR command to set the permissions for read/writeable files.
552MakeMaker chooses \f(CW644\fR because it has turned out in the past that
553relying on the umask provokes hard-to-track bug reports.
554When the return value is used by the perl function \f(CW\*(C`chmod\*(C'\fR, it is
555interpreted as an octal value.
556.IP "perm_rwx (o)" 4
557.IX Item "perm_rwx (o)"
558Returns the attribute \f(CW\*(C`PERM_RWX\*(C'\fR or the string \f(CW755\fR,
559i.e. the string that is passed
560to the \f(CW\*(C`chmod\*(C'\fR command to set the permissions for executable files.
561See also perl_rw.
562.IP "pm_to_blib" 4
563.IX Item "pm_to_blib"
564Defines target that copies all files in the hash \s-1PM\s0 to their
565destination and autosplits them. See \*(L"\s-1DESCRIPTION\s0\*(R" in ExtUtils::Install
566.IP "post_constants (o)" 4
567.IX Item "post_constants (o)"
568Returns an empty string per default. Dedicated to overrides from
569within Makefile.PL after all constants have been defined.
570.IP "post_initialize (o)" 4
571.IX Item "post_initialize (o)"
572Returns an empty string per default. Used in Makefile.PLs to add some
573chunk of text to the Makefile after the object is initialized.
574.IP "postamble (o)" 4
575.IX Item "postamble (o)"
576Returns an empty string. Can be used in Makefile.PLs to write some
577text to the Makefile at the end.
578.IP "ppd" 4
579.IX Item "ppd"
580Defines target that creates a \s-1PPD\s0 (Perl Package Description) file
581for a binary distribution.
582.IP "prefixify" 4
583.IX Item "prefixify"
584.Vb 1
585\& $MM->prefixify($var, $prefix, $new_prefix, $default);
586.Ve
587.Sp
588Using either \f(CW$MM\fR\->{uc \f(CW$var\fR} || \f(CW$Config\fR{lc \f(CW$var\fR}, it will attempt to
589replace it's \f(CW$prefix\fR with a \f(CW$new_prefix\fR.
590.Sp
591Should the \f(CW$prefix\fR fail to match \fI\s-1AND\s0\fR a \s-1PREFIX\s0 was given as an
592argument to \fIWriteMakefile()\fR it will set it to the \f(CW$new_prefix\fR +
593\&\f(CW$default\fR. This is for systems whose file layouts don't neatly fit into
594our ideas of prefixes.
595.Sp
596This is for heuristics which attempt to create directory structures
597that mirror those of the installed perl.
598.Sp
599For example:
600.Sp
601.Vb 1
602\& $MM->prefixify('installman1dir', '/usr', '/home/foo', 'man/man1');
603.Ve
604.Sp
605this will attempt to remove '/usr' from the front of the
606\&\f(CW$MM\fR\->{\s-1INSTALLMAN1DIR\s0} path (initializing it to \f(CW$Config\fR{installman1dir}
607if necessary) and replace it with '/home/foo'. If this fails it will
608simply use '/home/foo/man/man1'.
609.IP "processPL (o)" 4
610.IX Item "processPL (o)"
611Defines targets to run *.PL files.
612.IP "quote_paren" 4
613.IX Item "quote_paren"
614Backslashes parentheses \f(CW\*(C`()\*(C'\fR in command line arguments.
615Doesn't handle recursive Makefile \f(CW\*(C`$(...)\*(C'\fR constructs,
616but handles simple ones.
617.IP "replace_manpage_separator" 4
618.IX Item "replace_manpage_separator"
619.Vb 1
620\& my $man_name = $MM->replace_manpage_separator($file_path);
621.Ve
622.Sp
623Takes the name of a package, which may be a nested package, in the
624form 'Foo/Bar.pm' and replaces the slash with \f(CW\*(C`::\*(C'\fR or something else
625safe for a man page file name. Returns the replacement.
626.IP "cd" 4
627.IX Item "cd"
628.PD 0
629.IP "oneliner" 4
630.IX Item "oneliner"
631.IP "quote_literal" 4
632.IX Item "quote_literal"
633.IP "escape_newlines" 4
634.IX Item "escape_newlines"
635.IP "max_exec_len" 4
636.IX Item "max_exec_len"
637.PD
638Using \s-1POSIX::ARG_MAX\s0. Otherwise falling back to 4096.
639.IP "static (o)" 4
640.IX Item "static (o)"
641Defines the static target.
642.IP "static_lib (o)" 4
643.IX Item "static_lib (o)"
644Defines how to produce the *.a (or equivalent) files.
645.IP "staticmake (o)" 4
646.IX Item "staticmake (o)"
647Calls makeaperl.
648.IP "subdir_x (o)" 4
649.IX Item "subdir_x (o)"
650Helper subroutine for subdirs
651.IP "subdirs (o)" 4
652.IX Item "subdirs (o)"
653Defines targets to process subdirectories.
654.IP "test (o)" 4
655.IX Item "test (o)"
656Defines the test targets.
657.IP "test_via_harness (override)" 4
658.IX Item "test_via_harness (override)"
659For some reason which I forget, Unix machines like to have
660\&\s-1PERL_DL_NONLAZY\s0 set for tests.
661.IP "test_via_script (override)" 4
662.IX Item "test_via_script (override)"
663Again, the \s-1PERL_DL_NONLAZY\s0 thing.
664.IP "tools_other (o)" 4
665.IX Item "tools_other (o)"
666.Vb 1
667\& my $make_frag = $MM->tools_other;
668.Ve
669.Sp
670Returns a make fragment containing definitions for the macros \fIinit_others()\fR
671initializes.
672.IP "tool_xsubpp (o)" 4
673.IX Item "tool_xsubpp (o)"
674Determines typemaps, xsubpp version, prototype behaviour.
675.IP "all_target" 4
676.IX Item "all_target"
677Build man pages, too
678.IP "top_targets (o)" 4
679.IX Item "top_targets (o)"
680Defines the targets all, subdirs, config, and O_FILES
681.IP "writedoc" 4
682.IX Item "writedoc"
683Obsolete, deprecated method. Not used since Version 5.21.
684.IP "xs_c (o)" 4
685.IX Item "xs_c (o)"
686Defines the suffix rules to compile \s-1XS\s0 files to C.
687.IP "xs_cpp (o)" 4
688.IX Item "xs_cpp (o)"
689Defines the suffix rules to compile \s-1XS\s0 files to \*(C+.
690.IP "xs_o (o)" 4
691.IX Item "xs_o (o)"
692Defines suffix rules to go from \s-1XS\s0 to object files directly. This is
693only intended for broken make implementations.
694.SH "SEE ALSO"
695.IX Header "SEE ALSO"
696ExtUtils::MakeMaker