| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | 
							- $!------------------------------------------------------------------------------
 
- $! make "PNG: The Definitive Guide" demo programs (for X) under OpenVMS
 
- $!
 
- $! Script created by Martin Zinser for libpng; modified by Greg Roelofs
 
- $! for standalone pngbook source distribution.
 
- $!
 
- $!
 
- $!    Set locations where zlib and libpng sources live.
 
- $!
 
- $ zpath   = ""
 
- $ pngpath = ""
 
- $!
 
- $ if f$search("[---.zlib]zlib.h").nes."" then zpath = "[---.zlib]"
 
- $ if f$search("[--]png.h").nes."" then pngpath = "[--]"
 
- $!
 
- $ if f$search("[-.zlib]zlib.h").nes."" then zpath = "[-.zlib]"
 
- $ if f$search("[-.libpng]png.h").nes."" then pngpath = "[-.libpng]"
 
- $!
 
- $ if zpath .eqs. ""
 
- $ then
 
- $   write sys$output "zlib include not found. Exiting..."
 
- $   exit 2
 
- $ endif
 
- $!
 
- $ if pngpath .eqs. ""
 
- $ then
 
- $   write sys$output "libpng include not found. Exiting..."
 
- $   exit 2
 
- $ endif
 
- $!
 
- $!    Look for the compiler used.
 
- $!
 
- $ ccopt="/include=(''zpath',''pngpath')"
 
- $ 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
 
- $ open/write lopt lib.opt
 
- $ write lopt "''pngpath'libpng.olb/lib"
 
- $ write lopt "''zpath'libz.olb/lib"
 
- $ close lopt
 
- $ open/write xopt x11.opt
 
- $ write xopt "sys$library:decw$xlibshr.exe/share"
 
- $ close xopt
 
- $!
 
- $!    Build 'em.
 
- $!
 
- $ write sys$output "Compiling PNG book programs ..."
 
- $   CALL MAKE readpng.OBJ "cc ''CCOPT' readpng" -
 
- 	readpng.c readpng.h
 
- $   CALL MAKE readpng2.OBJ "cc ''CCOPT' readpng2" -
 
- 	readpng2.c readpng2.h
 
- $   CALL MAKE writepng.OBJ "cc ''CCOPT' writepng" -
 
- 	writepng.c writepng.h
 
- $   write sys$output "Building rpng-x..."
 
- $   CALL MAKE rpng-x.OBJ "cc ''CCOPT' rpng-x" -
 
- 	rpng-x.c readpng.h
 
- $   call make rpng-x.exe -
 
- 	"LINK rpng-x,readpng,lib.opt/opt,x11.opt/opt" -
 
- 	rpng-x.obj readpng.obj
 
- $   write sys$output "Building rpng2-x..."
 
- $   CALL MAKE rpng2-x.OBJ "cc ''CCOPT' rpng2-x" -
 
- 	rpng2-x.c readpng2.h
 
- $   call make rpng2-x.exe -
 
- 	"LINK rpng2-x,readpng2,lib.opt/opt,x11.opt/opt" -
 
- 	rpng2-x.obj readpng2.obj
 
- $   write sys$output "Building wpng..."
 
- $   CALL MAKE wpng.OBJ "cc ''CCOPT' wpng" -
 
- 	wpng.c writepng.h
 
- $   call make wpng.exe -
 
- 	"LINK wpng,writepng,lib.opt/opt" -
 
- 	wpng.obj writepng.obj
 
- $ 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
 
 
  |