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