home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Applications / MacPerl 5.0.3 / MacPerl Source ƒ / Perl5 / ext / POSIX / Makefile next >
Encoding:
Makefile  |  1995-08-23  |  4.9 KB  |  185 lines  |  [TEXT/MPS ]

  1. # This Makefile is for the DynaLoader extension to perl.
  2. #
  3.  
  4. # --- MakeMaker post_initialize section:
  5.  
  6.  
  7. # --- MakeMaker constants section:
  8.  
  9. NAME = POSIX
  10.  
  11. # Perl library to use when building the extension
  12. PERL_LIB = :::lib:
  13.  
  14. # Where is the perl source code located? (Eventually we should
  15. # be able to build extensions without requiring the perl source
  16. # but that's a way off yet).
  17. PERL_SRC = :::
  18. # Perl header files (will eventually be under PERL_LIB)
  19. PERL_INC = :::
  20. # Perl binaries
  21. PERL = :::miniperl
  22.  
  23. # FULLEXT = Pathname for extension directory (eg DBD/Oracle).
  24. # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT.
  25. # ROOTEXT = Directory part of FULLEXT with leading slash (eg /DBD)
  26. FULLEXT = POSIX
  27. BASEEXT = POSIX
  28. ROOTEXT = 
  29.  
  30. # Source code:
  31. XS= POSIX.xs
  32. C = POSIX.c
  33. H = 
  34.  
  35. PPCEXT = .c.o.PPC
  36. PPCOBJ = POSIX{PPCEXT}
  37. M68KEXT = .c.o.68K
  38. M68KOBJ = POSIX{M68KEXT}
  39.  
  40. # This extension may link to it's own library (see SDBM_File)
  41. MYEXTLIB = 
  42.  
  43. # Where is the Config.pm that we are using/depend on
  44. CONFIGDEP = {PERL_ARCHLIB}Config.pm
  45.  
  46. # Where to put things:
  47. INST_LIBDIR     = {PERL_LIB}{ROOTEXT}
  48. INST_AUTODIR     = {PERL_LIB}auto:{FULLEXT}
  49.  
  50. INST_BOOT    = {INST_AUTODIR}{BASEEXT}.bs
  51. INST_DYNAMIC = {INST_AUTODIR}{BASEEXT}
  52. INST_STATIC  = {BASEEXT}.o
  53. INST_PM          = {INST_LIBDIR}POSIX.pm
  54.  
  55.  
  56. # These definitions are from config.mac (via :::lib:Config.pm)
  57. PerlOption    = -sym on -d MULTIPLICITY -d DEBUGGING
  58. COptions     = -mc68020 -model far
  59. PPCCOptions = -d macintosh -d __useAppleExts__
  60. LOptions     = -mf -w
  61. ROptions     = -i :
  62. CC68K         = MWC68K {PerlOption}
  63. CCPPC         = MWCPPC {PerlOption}
  64.  
  65. # Usage: {AUTOSPLITFILE} FileToSplit AutoDirToSplitInto
  66. AUTOSPLITFILE = {PERL} -I{PERL_LIB} -e 'use AutoSplit; AutoSplit::autosplit_file(${ARGV}[0], ${ARGV}[1], 0, 1, 1) ;'
  67.  
  68.  
  69. # --- MakeMaker tool_xsubpp section:
  70.  
  71. XSUBPP = {PERL_SRC}ext:xsubpp
  72. XSUBPPDEPS = {PERL_SRC}ext:typemap typemap
  73. XSUBPPARGS = -typemap {PERL_SRC}ext:typemap
  74.  
  75.  
  76. # --- MakeMaker tools_other section:
  77.  
  78. # The following is a portable way to say mkdir -p
  79. MKPATH = {PERL} -wle '$"="/"; foreach $p (@ARGV){ my(@p); foreach(split(/:/,$p)){ push(@p,${_}); next if -d "@p"; print "mkdir @p"; mkdir("@p",0777)||die $! }} exit 0;'
  80.  
  81.  
  82. # --- MakeMaker c_o section:
  83.  
  84. .c.o.68Kƒ    .c
  85.     {CC68K} {COptions} -i {PERL_INC} {INC} {Default}.c -o {Default}.c.o.68K
  86. .c.o.PPCƒ    .c
  87.     {CCPPC} {PPCCOptions} -i {PERL_INC} {INC} {Default}.c -o {Default}.c.o.PPC
  88.  
  89.  
  90. # --- MakeMaker xs_c section:
  91.  
  92. .c ƒ .xs
  93.     {PERL} {XSUBPP} {XSUBPPARGS} {Default}.xs >{Default}.c
  94.  
  95.  
  96. # --- MakeMaker top_targets section:
  97.  
  98. all ƒ static {INST_PM}
  99.  
  100. install ƒ all
  101.  
  102. # --- MakeMaker static section:
  103.  
  104. # {INST_PM} has been moved to the all: target.
  105. # It remains here for awhile to allow for old usage: "make static"
  106. static ƒ {INST_STATIC}.PPC {INST_STATIC}.68K {INST_PM} 
  107.  
  108. {INST_STATIC}.PPCƒ {PPCOBJ}
  109.     MWLinkPPC -sym on -o {INST_STATIC}.PPC -xm library {PPCOBJ}
  110. {INST_STATIC}.68Kƒ {M68KOBJ}
  111.     MWLink68K -sym on -o {INST_STATIC}.68K -xm library {M68KOBJ}
  112.     
  113. # --- MakeMaker installpm section:
  114.  
  115. # installpm: POSIX.pm => {INST_LIBDIR}POSIX.pm, splitlib={INST_LIBDIR}
  116.  
  117. {INST_LIBDIR}POSIX.pmƒ POSIX.pm
  118.     Delete -i -y {INST_LIBDIR}POSIX.pm
  119.     Duplicate POSIX.pm {INST_LIBDIR}POSIX.pm
  120.     {AUTOSPLITFILE} {INST_LIBDIR}POSIX.pm {INST_LIBDIR}auto
  121.  
  122.  
  123. clean ƒ
  124. #    rm -f *~ t/*~ *.o *.a mon.out core so_locations {BOOTSTRAP} {BASEEXT}.bso
  125. #    rm -rf dl_next.c dl_none.c dl_mac.c dl_aix.c dl_dlopen.c dl_dld.c dl_hpux.c dl_vms.c POSIX.c
  126.  
  127.  
  128. # --- MakeMaker realclean section:
  129.  
  130. # Delete temporary files (via clean) and also delete installed files
  131. #realclean purge ::  clean
  132. #    rm -f Makefile {INST_DYNAMIC} {INST_STATIC} {INST_BOOT} {INST_PM}
  133. #    rm -rf {INST_AUTODIR} {INST_ARCHAUTODIR}
  134.  
  135.  
  136. # --- MakeMaker distclean section:
  137.  
  138. # distclean:     clean
  139. #     @:
  140. #     rm -f ./Makefile
  141. # #     cd ..; tar cvf {DISTNAME}-{VERSION}.tar {BASEEXT}
  142. #    cd ..; compress {DISTNAME}-{VERSION}.tar
  143. #     @:
  144.  
  145.  
  146. # --- MakeMaker test section:
  147.  
  148. # test :: all
  149. #     @echo 'No tests defined for {NAME} extension.'
  150.  
  151.  
  152. # --- MakeMaker install section:
  153.  
  154. # install :: all
  155.     # install is not defined. Makefile, by default, builds the extension
  156.     # directly into {INST_LIB} so "installing" does not make much sense.
  157.     # If INST_LIB is in the perl source tree then installperl will install
  158.     # the extension when it installs perl.
  159.  
  160.  
  161. # --- MakeMaker force section:
  162. # Phony target to force checking subdirectories.
  163. # FORCE:
  164.  
  165.  
  166. # --- MakeMaker perldepend section:
  167.  
  168. PERL_HDRS = {PERL_INC}EXTERN.h {PERL_INC}INTERN.h ∂
  169.     {PERL_INC}XSUB.h    {PERL_INC}av.h    {PERL_INC}cop.h ∂
  170.     {PERL_INC}cv.h    {PERL_INC}dosish.h    {PERL_INC}embed.h ∂
  171.     {PERL_INC}form.h    {PERL_INC}gv.h    {PERL_INC}handy.h ∂
  172.     {PERL_INC}hv.h    {PERL_INC}keywords.h    {PERL_INC}mg.h ∂
  173.     {PERL_INC}op.h    {PERL_INC}opcode.h    {PERL_INC}patchlevel.h ∂
  174.     {PERL_INC}perl.h    {PERL_INC}perly.h    {PERL_INC}pp.h ∂
  175.     {PERL_INC}proto.h    {PERL_INC}regcomp.h    {PERL_INC}regexp.h ∂
  176.     {PERL_INC}scope.h    {PERL_INC}sv.h    {PERL_INC}unixish.h ∂
  177.     {PERL_INC}util.h
  178.  
  179. # {OBJECT} ƒ {PERL_HDRS}
  180.  
  181. # --- MakeMaker postamble section:
  182.  
  183.  
  184. # End.
  185.