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
116