83 lines
2.0 KiB
Plaintext
83 lines
2.0 KiB
Plaintext
$!========================================================================
|
|
$!
|
|
$! Goo library compile script for VMS.
|
|
$!
|
|
$! Written by Patrick Moreau, Martin P.J. Zinser.
|
|
$!
|
|
$! Copyright 1996-2003 Glyph & Cog, LLC
|
|
$!
|
|
$!========================================================================
|
|
$!
|
|
$ GOO_CXXOBJS = "GString.obj,gmempp.obj,gfile.obj,ghash.obj,glist.obj"
|
|
$ GOO_CCOBJS = "gmem.obj,parseargs.obj,vms_directory.obj,vms_unix_times.obj"
|
|
$!
|
|
$ if f$extract(1,3,f$getsyi("Version")) .lts. "7.0"
|
|
$ then
|
|
$ GOO_CCOBJS = GOO_CCOBJS + ",vms_unlink.obj"
|
|
$ endif
|
|
$!
|
|
$ i = 0
|
|
$ j = 0
|
|
$COMPILE_CXX_LOOP:
|
|
$ file = f$element(i, ",",GOO_CXXOBJS)
|
|
$ if file .eqs. "," then goto COMPILE_CC_LOOP
|
|
$ i = i + 1
|
|
$ name = f$parse(file,,,"NAME")
|
|
$ call make 'file "CXXCOMP ''name'.cc" -
|
|
'name'.cc
|
|
$ goto COMPILE_CXX_LOOP
|
|
$!
|
|
$COMPILE_CC_LOOP:
|
|
$ file = f$element(j, ",",GOO_CCOBJS)
|
|
$ if file .eqs. "," then goto COMPILE_END
|
|
$ j = j + 1
|
|
$ name = f$parse(file,,,"NAME")
|
|
$ call make 'file "CCOMP ''name'.c" -
|
|
'name'.c
|
|
$ goto COMPILE_CC_LOOP
|
|
$!
|
|
$COMPILE_END:
|
|
$ call make libgoo.olb "lib/cre libgoo.olb ''GOO_CXXOBJS',''GOO_CCOBJS'" *.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
|