Make_vms.com
上传用户:zlt_tm
上传日期:2007-01-06
资源大小:214k
文件大小:4k
源码类别:

压缩解压

开发平台:

WINDOWS

  1. $! make libz under VMS
  2. $! written by Martin P.J. Zinser <m.zinser@gsi.de>
  3. $!
  4. $! Look for the compiler used
  5. $!
  6. $ ccopt = ""
  7. $ if f$getsyi("HW_MODEL").ge.1024
  8. $ then
  9. $  ccopt = "/prefix=all"+ccopt
  10. $  comp  = "__decc__=1"
  11. $  if f$trnlnm("SYS").eqs."" then define sys sys$library:
  12. $ else
  13. $  if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
  14. $   then
  15. $    comp  = "__vaxc__=1"
  16. $    if f$trnlnm("SYS").eqs."" then define sys sys$library:
  17. $   else
  18. $    if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
  19. $    ccopt = "/decc/prefix=all"+ccopt
  20. $    comp  = "__decc__=1"
  21. $  endif
  22. $ endif
  23. $!
  24. $! Build the thing plain or with mms
  25. $!
  26. $ write sys$output "Compiling Zlib sources ..."
  27. $ if f$search("SYS$SYSTEM:MMS.EXE").eqs.""
  28. $  then
  29. $   dele example.obj;*,minigzip.obj;*
  30. $   CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
  31.                 adler32.c zlib.h zconf.h
  32. $   CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
  33.                 compress.c zlib.h zconf.h
  34. $   CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" -
  35.                 crc32.c zlib.h zconf.h
  36. $   CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" -
  37.                 deflate.c deflate.h zutil.h zlib.h zconf.h
  38. $   CALL MAKE gzio.OBJ "CC ''CCOPT' gzio" -
  39.                 gzio.c zutil.h zlib.h zconf.h
  40. $   CALL MAKE infblock.OBJ "CC ''CCOPT' infblock" -
  41.                 infblock.c zutil.h zlib.h zconf.h infblock.h
  42. $   CALL MAKE infcodes.OBJ "CC ''CCOPT' infcodes" -
  43.                 infcodes.c zutil.h zlib.h zconf.h inftrees.h
  44. $   CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" -
  45.                 inffast.c zutil.h zlib.h zconf.h inffast.h
  46. $   CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" -
  47.                 inflate.c zutil.h zlib.h zconf.h infblock.h
  48. $   CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" -
  49.                 inftrees.c zutil.h zlib.h zconf.h inftrees.h
  50. $   CALL MAKE infutil.OBJ "CC ''CCOPT' infutil" -
  51.                 infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
  52. $   CALL MAKE trees.OBJ "CC ''CCOPT' trees" -
  53.                 trees.c deflate.h zutil.h zlib.h zconf.h
  54. $   CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" -
  55.                 uncompr.c zlib.h zconf.h
  56. $   CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" -
  57.                 zutil.c zutil.h zlib.h zconf.h
  58. $   write sys$output "Building Zlib ..."
  59. $   CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
  60. $   write sys$output "Building example..."
  61. $   CALL MAKE example.OBJ "CC ''CCOPT' example" -
  62.                 example.c zlib.h zconf.h
  63. $   call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
  64. $   write sys$output "Building minigzip..."
  65. $   CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" -
  66.                 minigzip.c zlib.h zconf.h
  67. $   call make minigzip.exe - 
  68.                 "LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" - 
  69.                 minigzip.obj libz.olb
  70. $  else
  71. $   mms/macro=('comp')
  72. $  endif
  73. $ write sys$output "Zlib build completed"
  74. $ exit
  75. $!
  76. $!
  77. $MAKE: SUBROUTINE   !SUBROUTINE TO CHECK DEPENDENCIES
  78. $ V = 'F$Verify(0)
  79. $! P1 = What we are trying to make
  80. $! P2 = Command to make it
  81. $! P3 - P8  What it depends on
  82. $
  83. $ If F$Search(P1) .Eqs. "" Then Goto Makeit
  84. $ Time = F$CvTime(F$File(P1,"RDT"))
  85. $arg=3
  86. $Loop:
  87. $       Argument = P'arg
  88. $       If Argument .Eqs. "" Then Goto Exit
  89. $       El=0
  90. $Loop2:
  91. $       File = F$Element(El," ",Argument)
  92. $       If File .Eqs. " " Then Goto Endl
  93. $       AFile = ""
  94. $Loop3:
  95. $       OFile = AFile
  96. $       AFile = F$Search(File)
  97. $       If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
  98. $       If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
  99. $       Goto Loop3
  100. $NextEL:
  101. $       El = El + 1
  102. $       Goto Loop2
  103. $EndL:
  104. $ arg=arg+1
  105. $ If arg .Le. 8 Then Goto Loop
  106. $ Goto Exit
  107. $
  108. $Makeit:
  109. $ VV=F$VERIFY(0)
  110. $ write sys$output P2
  111. $ 'P2
  112. $ VV='F$Verify(VV)
  113. $Exit:
  114. $ If V Then Set Verify
  115. $ENDSUBROUTINE