makevms.com
上传用户:zlh9724
上传日期:2007-01-04
资源大小:1991k
文件大小:4k
源码类别:

浏览器

开发平台:

Unix_Linux

  1. $! make libpng under VMS
  2. $!
  3. $!
  4. $! Look for the compiler used
  5. $!
  6. $ zlibsrc = "[-.zlib]"
  7. $ ccopt="/include=''zlibsrc'"
  8. $ if f$getsyi("HW_MODEL").ge.1024
  9. $ then
  10. $  ccopt = "/prefix=all"+ccopt
  11. $  comp  = "__decc__=1"
  12. $  if f$trnlnm("SYS").eqs."" then define sys sys$library:
  13. $ else
  14. $  if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
  15. $   then
  16. $    if f$trnlnm("SYS").eqs."" then define sys sys$library:
  17. $    if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
  18. $     then
  19. $      comp  = "__gcc__=1"
  20. $      CC :== GCC
  21. $     else
  22. $      comp = "__vaxc__=1"
  23. $     endif
  24. $   else
  25. $    if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
  26. $    ccopt = "/decc/prefix=all"+ccopt
  27. $    comp  = "__decc__=1"
  28. $  endif
  29. $ endif
  30. $!
  31. $! Build the thing plain or with mms
  32. $!
  33. $ write sys$output "Compiling Libpng sources ..."
  34. $ if f$search("SYS$SYSTEM:MMS.EXE").eqs.""
  35. $  then
  36. $   dele pngtest.obj;*
  37. $   CALL MAKE png.OBJ "cc ''CCOPT' png" -
  38.                 png.c png.h pngconf.h   
  39. $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
  40.  pngpread.c png.h pngconf.h
  41. $   CALL MAKE pngrcb.OBJ "cc ''CCOPT' pngrcb" -
  42.                 pngrcb.c png.h pngconf.h
  43. $   CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
  44.                 pngread.c png.h pngconf.h
  45. $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
  46.  pngpread.c png.h pngconf.h
  47. $   CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
  48.                 pngrtran.c png.h pngconf.h
  49. $   CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
  50.                 pngrutil.c png.h pngconf.h
  51. $   CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
  52.                 pngerror.c png.h pngconf.h
  53. $   CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
  54.                 pngmem.c png.h pngconf.h
  55. $   CALL MAKE pngio.OBJ "cc ''CCOPT' pngio" -
  56.                 pngio.c png.h pngconf.h
  57. $   CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
  58.                 pngtrans.c png.h pngconf.h
  59. $   CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
  60.                 pngwrite.c png.h pngconf.h
  61. $   CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
  62.                 pngwtran.c png.h pngconf.h
  63. $   CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
  64.                 pngwutil.c png.h pngconf.h
  65. $   write sys$output "Building Libpng ..."
  66. $   CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
  67. $   write sys$output "Building pngtest..."
  68. $   CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
  69.                 pngtest.c png.h pngconf.h
  70. $   call make pngtest.exe - 
  71.                 "LINK pngtest,libpng.olb/lib,''zlibsrc'libgz.olb/lib" - 
  72.                 pngtest.obj libpng.olb
  73. $   write sys$output "Testing Libpng..."
  74. $   run pngtest
  75. $  else
  76. $   mms/macro=('comp',zlibsrc='zlibsrc')
  77. $  endif
  78. $ write sys$output "Libpng build completed"
  79. $ exit
  80. $!
  81. $!
  82. $MAKE: SUBROUTINE   !SUBROUTINE TO CHECK DEPENDENCIES
  83. $ V = 'F$Verify(0)
  84. $! P1 = What we are trying to make
  85. $! P2 = Command to make it
  86. $! P3 - P8  What it depends on
  87. $
  88. $ If F$Search(P1) .Eqs. "" Then Goto Makeit
  89. $ Time = F$CvTime(F$File(P1,"RDT"))
  90. $arg=3
  91. $Loop:
  92. $       Argument = P'arg
  93. $       If Argument .Eqs. "" Then Goto Exit
  94. $       El=0
  95. $Loop2:
  96. $       File = F$Element(El," ",Argument)
  97. $       If File .Eqs. " " Then Goto Endl
  98. $       AFile = ""
  99. $Loop3:
  100. $       OFile = AFile
  101. $       AFile = F$Search(File)
  102. $       If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
  103. $       If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
  104. $       Goto Loop3
  105. $NextEL:
  106. $       El = El + 1
  107. $       Goto Loop2
  108. $EndL:
  109. $ arg=arg+1
  110. $ If arg .Le. 8 Then Goto Loop
  111. $ Goto Exit
  112. $
  113. $Makeit:
  114. $ VV=F$VERIFY(0)
  115. $ write sys$output P2
  116. $ 'P2
  117. $ VV='F$Verify(VV)
  118. $Exit:
  119. $ If V Then Set Verify
  120. $ENDSUBROUTINE