$! make libpng under VMS$!$!$! Check for MMK/MMS$!$! This procedure accepts one parameter (contrib), which causes it to build$! the programs from the contrib directory instead of libpng.$!$ p1 = f$edit(p1,"UPCASE")$ if p1 .eqs. "CONTRIB"$ then$ set def [.contrib.gregbook]$ @makevms$ set def [-.pngminus]$ @makevms$ set def [--]$ exit$ endif$ Make = ""$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"$!$! Look for the compiler used$!$ zlibsrc = "[-.zlib]"$ ccopt="/include=''zlibsrc'"$ if f$getsyi("HW_MODEL").ge.1024$ then$ ccopt = "/prefix=all"+ccopt$ comp = "__decc__=1"$ if f$trnlnm("SYS").eqs."" then define sys sys$library:$ else$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""$ then$ if f$trnlnm("SYS").eqs."" then define sys sys$library:$ if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""$ then$ comp = "__gcc__=1"$ CC :== GCC$ else$ comp = "__vaxc__=1"$ endif$ else$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:$ ccopt = "/decc/prefix=all"+ccopt$ comp = "__decc__=1"$ endif$ endif$!$! Build the thing plain or with mms/mmk$!$ write sys$output "Compiling Libpng sources ..."$ if make.eqs.""$ then$ dele pngtest.obj;*$ CALL MAKE png.OBJ "cc ''CCOPT' png" - png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" - pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" - pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" - pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" - pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" - pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" - pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" - pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" - pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" - pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" - pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" - pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" - pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" - pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" - pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h$ write sys$output "Building Libpng ..."$ CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ$ write sys$output "Building pngtest..."$ CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" - pngtest.c png.h pngconf.h pnglibconf.h$ call make pngtest.exe - "LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" - pngtest.obj libpng.olb$ write sys$output "Testing Libpng..."$ run pngtest$ else$ if f$search("DESCRIP.MMS") .eqs. "" then copy/nolog [.SCRIPTS]DESCRIP.MMS []$ 'make'/macro=('comp',zlibsrc='zlibsrc')$ endif$ write sys$output "Libpng build completed"$ exit$!$!$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES$ V = 'F$Verify(0)$! P1 = What we are trying to make$! P2 = Command to make it$! P3 - P8 What it depends on$$ If F$Search(P1) .Eqs. "" Then Goto Makeit$ Time = F$CvTime(F$File(P1,"RDT"))$arg=3$Loop:$ Argument = P'arg$ If Argument .Eqs. "" Then Goto Exit$ El=0$Loop2:$ File = F$Element(El," ",Argument)$ If File .Eqs. " " Then Goto Endl$ AFile = ""$Loop3:$ OFile = AFile$ AFile = F$Search(File)$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit$ Goto Loop3$NextEL:$ El = El + 1$ Goto Loop2$EndL:$ arg=arg+1$ If arg .Le. 8 Then Goto Loop$ Goto Exit$$Makeit:$ VV=F$VERIFY(0)$ write sys$output P2$ 'P2$ VV='F$Verify(VV)$Exit:$ If V Then Set Verify$ENDSUBROUTINE
$! make libpng under VMS
$!
$!
$! Check for MMK/MMS
$!
$! This procedure accepts one parameter (contrib), which causes it to build
$! the programs from the contrib directory instead of libpng.
$!
$ p1 = f$edit(p1,"UPCASE")
$ if p1 .eqs. "CONTRIB"
$ then
$ set def [.contrib.gregbook]
$ @makevms
$ set def [-.pngminus]
$ @makevms
$ set def [--]
$ exit
$ endif
$ Make = ""
$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
$!
$! Look for the compiler used
$!
$ zlibsrc = "[-.zlib]"
$ ccopt="/include=''zlibsrc'"
$ if f$getsyi("HW_MODEL").ge.1024
$ then
$ ccopt = "/prefix=all"+ccopt
$ comp = "__decc__=1"
$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
$ else
$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
$ then
$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
$ if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
$ then
$ comp = "__gcc__=1"
$ CC :== GCC
$ else
$ comp = "__vaxc__=1"
$ endif
$ else
$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
$ ccopt = "/decc/prefix=all"+ccopt
$ comp = "__decc__=1"
$ endif
$ endif
$!
$! Build the thing plain or with mms/mmk
$!
$ write sys$output "Compiling Libpng sources ..."
$ if make.eqs.""
$ then
$ dele pngtest.obj;*
$ CALL MAKE png.OBJ "cc ''CCOPT' png" -
png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
$ write sys$output "Building Libpng ..."
$ CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
$ write sys$output "Building pngtest..."
$ CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
pngtest.c png.h pngconf.h pnglibconf.h
$ call make pngtest.exe -
"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
pngtest.obj libpng.olb
$ write sys$output "Testing Libpng..."
$ run pngtest
$ else
$ if f$search("DESCRIP.MMS") .eqs. "" then copy/nolog [.SCRIPTS]DESCRIP.MMS []
$ 'make'/macro=('comp',zlibsrc='zlibsrc')
$ endif
$ write sys$output "Libpng build completed"
$ exit
$!
$!
$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
$ V = 'F$Verify(0)
$! P1 = What we are trying to make
$! P2 = Command to make it
$! P3 - P8 What it depends on
$
$ If F$Search(P1) .Eqs. "" Then Goto Makeit
$ Time = F$CvTime(F$File(P1,"RDT"))
$arg=3
$Loop:
$ Argument = P'arg
$ If Argument .Eqs. "" Then Goto Exit
$ El=0
$Loop2:
$ File = F$Element(El," ",Argument)
$ If File .Eqs. " " Then Goto Endl
$ AFile = ""
$Loop3:
$ OFile = AFile
$ AFile = F$Search(File)
$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
$ Goto Loop3
$NextEL:
$ El = El + 1
$ Goto Loop2
$EndL:
$ arg=arg+1
$ If arg .Le. 8 Then Goto Loop
$ Goto Exit
$
$Makeit:
$ VV=F$VERIFY(0)
$ write sys$output P2
$ 'P2
$ VV='F$Verify(VV)
$Exit:
$ If V Then Set Verify
$ENDSUBROUTINE