makevms.com 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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 pngset.OBJ "cc ''CCOPT' pngset" -
  42. pngset.c png.h pngconf.h
  43. $ CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
  44. pngget.c png.h pngconf.h
  45. $ CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
  46. pngread.c png.h pngconf.h
  47. $ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
  48. pngpread.c png.h pngconf.h
  49. $ CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
  50. pngrtran.c png.h pngconf.h
  51. $ CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
  52. pngrutil.c png.h pngconf.h
  53. $ CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
  54. pngerror.c png.h pngconf.h
  55. $ CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
  56. pngmem.c png.h pngconf.h
  57. $ CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
  58. pngrio.c png.h pngconf.h
  59. $ CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
  60. pngwio.c png.h pngconf.h
  61. $ CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
  62. pngtrans.c png.h pngconf.h
  63. $ CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
  64. pngwrite.c png.h pngconf.h
  65. $ CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
  66. pngwtran.c png.h pngconf.h
  67. $ CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
  68. pngwutil.c png.h pngconf.h
  69. $ write sys$output "Building Libpng ..."
  70. $ CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
  71. $ write sys$output "Building pngtest..."
  72. $ CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
  73. pngtest.c png.h pngconf.h
  74. $ call make pngtest.exe -
  75. "LINK pngtest,libpng.olb/lib,''zlibsrc'libgz.olb/lib" -
  76. pngtest.obj libpng.olb
  77. $ write sys$output "Testing Libpng..."
  78. $ run pngtest
  79. $ else
  80. $ mms/macro=('comp',zlibsrc='zlibsrc')
  81. $ endif
  82. $ write sys$output "Libpng build completed"
  83. $ exit
  84. $!
  85. $!
  86. $MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
  87. $ V = 'F$Verify(0)
  88. $! P1 = What we are trying to make
  89. $! P2 = Command to make it
  90. $! P3 - P8 What it depends on
  91. $
  92. $ If F$Search(P1) .Eqs. "" Then Goto Makeit
  93. $ Time = F$CvTime(F$File(P1,"RDT"))
  94. $arg=3
  95. $Loop:
  96. $ Argument = P'arg
  97. $ If Argument .Eqs. "" Then Goto Exit
  98. $ El=0
  99. $Loop2:
  100. $ File = F$Element(El," ",Argument)
  101. $ If File .Eqs. " " Then Goto Endl
  102. $ AFile = ""
  103. $Loop3:
  104. $ OFile = AFile
  105. $ AFile = F$Search(File)
  106. $ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
  107. $ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
  108. $ Goto Loop3
  109. $NextEL:
  110. $ El = El + 1
  111. $ Goto Loop2
  112. $EndL:
  113. $ arg=arg+1
  114. $ If arg .Le. 8 Then Goto Loop
  115. $ Goto Exit
  116. $
  117. $Makeit:
  118. $ VV=F$VERIFY(0)
  119. $ write sys$output P2
  120. $ 'P2
  121. $ VV='F$Verify(VV)
  122. $Exit:
  123. $ If V Then Set Verify
  124. $ENDSUBROUTINE