beta-0.89.2
[luatex.git] / source / libs / libpng / libpng-src / contrib / gregbook / makevms.com
blobf32bcaba7f99c32d4ca0780f106a5f9c1a96695d
1 $!------------------------------------------------------------------------------
2 $! make "PNG: The Definitive Guide" demo programs (for X) under OpenVMS
3 $!
4 $! Script created by Martin Zinser for libpng; modified by Greg Roelofs
5 $! for standalone pngbook source distribution.
6 $!
7 $!
8 $!    Set locations where zlib and libpng sources live.
9 $!
10 $ zpath   = ""
11 $ pngpath = ""
13 $ if f$search("[---.zlib]zlib.h").nes."" then zpath = "[---.zlib]"
14 $ if f$search("[--]png.h").nes."" then pngpath = "[--]"
16 $ if f$search("[-.zlib]zlib.h").nes."" then zpath = "[-.zlib]"
17 $ if f$search("[-.libpng]png.h").nes."" then pngpath = "[-.libpng]"
19 $ if zpath .eqs. ""
20 $ then
21 $   write sys$output "zlib include not found. Exiting..."
22 $   exit 2
23 $ endif
25 $ if pngpath .eqs. ""
26 $ then
27 $   write sys$output "libpng include not found. Exiting..."
28 $   exit 2
29 $ endif
31 $!    Look for the compiler used.
33 $ ccopt="/include=(''zpath',''pngpath')"
34 $ if f$getsyi("HW_MODEL").ge.1024
35 $ then
36 $  ccopt = "/prefix=all"+ccopt
37 $  comp  = "__decc__=1"
38 $  if f$trnlnm("SYS").eqs."" then define sys sys$library:
39 $ else
40 $  if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
41 $   then
42 $    if f$trnlnm("SYS").eqs."" then define sys sys$library:
43 $    if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
44 $     then
45 $      comp  = "__gcc__=1"
46 $      CC :== GCC
47 $     else
48 $      comp = "__vaxc__=1"
49 $     endif
50 $   else
51 $    if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
52 $    ccopt = "/decc/prefix=all"+ccopt
53 $    comp  = "__decc__=1"
54 $  endif
55 $ endif
56 $ open/write lopt lib.opt
57 $ write lopt "''pngpath'libpng.olb/lib"
58 $ write lopt "''zpath'libz.olb/lib"
59 $ close lopt
60 $ open/write xopt x11.opt
61 $ write xopt "sys$library:decw$xlibshr.exe/share"
62 $ close xopt
64 $!    Build 'em.
66 $ write sys$output "Compiling PNG book programs ..."
67 $   CALL MAKE readpng.OBJ "cc ''CCOPT' readpng" -
68         readpng.c readpng.h
69 $   CALL MAKE readpng2.OBJ "cc ''CCOPT' readpng2" -
70         readpng2.c readpng2.h
71 $   CALL MAKE writepng.OBJ "cc ''CCOPT' writepng" -
72         writepng.c writepng.h
73 $   write sys$output "Building rpng-x..."
74 $   CALL MAKE rpng-x.OBJ "cc ''CCOPT' rpng-x" -
75         rpng-x.c readpng.h
76 $   call make rpng-x.exe -
77         "LINK rpng-x,readpng,lib.opt/opt,x11.opt/opt" -
78         rpng-x.obj readpng.obj
79 $   write sys$output "Building rpng2-x..."
80 $   CALL MAKE rpng2-x.OBJ "cc ''CCOPT' rpng2-x" -
81         rpng2-x.c readpng2.h
82 $   call make rpng2-x.exe -
83         "LINK rpng2-x,readpng2,lib.opt/opt,x11.opt/opt" -
84         rpng2-x.obj readpng2.obj
85 $   write sys$output "Building wpng..."
86 $   CALL MAKE wpng.OBJ "cc ''CCOPT' wpng" -
87         wpng.c writepng.h
88 $   call make wpng.exe -
89         "LINK wpng,writepng,lib.opt/opt" -
90         wpng.obj writepng.obj
91 $ exit
94 $MAKE: SUBROUTINE   !SUBROUTINE TO CHECK DEPENDENCIES
95 $ V = 'F$Verify(0)
96 $! P1 = What we are trying to make
97 $! P2 = Command to make it
98 $! P3 - P8  What it depends on
100 $ If F$Search(P1) .Eqs. "" Then Goto Makeit
101 $ Time = F$CvTime(F$File(P1,"RDT"))
102 $arg=3
103 $Loop:
104 $       Argument = P'arg
105 $       If Argument .Eqs. "" Then Goto Exit
106 $       El=0
107 $Loop2:
108 $       File = F$Element(El," ",Argument)
109 $       If File .Eqs. " " Then Goto Endl
110 $       AFile = ""
111 $Loop3:
112 $       OFile = AFile
113 $       AFile = F$Search(File)
114 $       If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
115 $       If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
116 $       Goto Loop3
117 $NextEL:
118 $       El = El + 1
119 $       Goto Loop2
120 $EndL:
121 $ arg=arg+1
122 $ If arg .Le. 8 Then Goto Loop
123 $ Goto Exit
125 $Makeit:
126 $ VV=F$VERIFY(0)
127 $ write sys$output P2
128 $ 'P2
129 $ VV='F$Verify(VV)
130 $Exit:
131 $ If V Then Set Verify
132 $ENDSUBROUTINE