You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
4.1 KiB
144 lines
4.1 KiB
$! 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 |
|
$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" - |
|
pngpread.c png.h pngconf.h |
|
$ CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" - |
|
pngset.c png.h pngconf.h |
|
$ CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" - |
|
pngget.c png.h pngconf.h |
|
$ CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" - |
|
pngread.c png.h pngconf.h |
|
$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" - |
|
pngpread.c png.h pngconf.h |
|
$ CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" - |
|
pngrtran.c png.h pngconf.h |
|
$ CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" - |
|
pngrutil.c png.h pngconf.h |
|
$ CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" - |
|
pngerror.c png.h pngconf.h |
|
$ CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" - |
|
pngmem.c png.h pngconf.h |
|
$ CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" - |
|
pngrio.c png.h pngconf.h |
|
$ CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" - |
|
pngwio.c png.h pngconf.h |
|
$ CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" - |
|
pngtrans.c png.h pngconf.h |
|
$ CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" - |
|
pngwrite.c png.h pngconf.h |
|
$ CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" - |
|
pngwtran.c png.h pngconf.h |
|
$ CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" - |
|
pngwutil.c png.h pngconf.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 |
|
$ 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
|
|
|