|
- $!
- $!
- $ olddir = f$environment("default")
- $ on control_y then goto YExit
- $!
- $ gosub Init
- $ if .not. init_status then goto YExit
- $!
- $ if what .eqs. "ALL"
- $ then
- $ call MakeAll
- $ else
- $ call Make
- $endif
- $!
- $YExit:
- $ set noon
- $! deassign exadir
- $! deassign objdir
- $ delete 'link_opts';*
- $ set default 'olddir'
- $exit
-
- $MakeAll: subroutine
- $!
- $ set noon
- $Loop:
- $ this = f$search("exadir:*.c;0")
- $ if this .eqs. "" then goto EndLoop
- $!
- $ what = f$parse( this,,,"name")
- $ if what .eqs. "x11" then goto loop ! not portable yet
- $ call Make
- $!
- $ goto Loop
- $EndLoop:
- $!
- $exit
- $endsubroutine
-
-
- $Make: subroutine
- $!
- $ set noon
- $!
- $ cc 'cc_include' 'cc_flags'/object=objdir:'what' exadir:'what'
- $ sev = $severity
- $ if sev .and. 2
- $ then
- $ say "Error compiling ''what', not linked."
- $ else
- $ if .not. (sev .and. 1)
- $ then
- $ say "Compile warnings in ''what'"
- $ endif
- $ link/exe='what'.exe objdir:'what'.obj, 'link_opts'/opt
- $ endif
- $!
- $!
- $End:
- $ delete objdir:'what'.obj;*
- $exit
- $endsubroutine
-
-
- $Init:
- $!
- $!
- $ init_status = 1
- $ thisid = f$integer( %x'f$getjpi(0,"pid")') + "''f$cvtime(,,"second")'"
- $ mdir = f$environment("procedure")
- $ mdir = mdir - f$parse(mdir,,,"name") - f$parse(mdir,,,"type") - f$parse(mdir,,,"version")
- $ set default 'mdir'
- $!
- $ objdir = "[.example_objects]"
- $ exadir = "[-.example]"
- $!
- $ objdirfile = objdir - "[." - "]" + ".dir"
- $ if f$search( objdirfile ) .eqs. ""
- $ then
- $ create/directory 'objdir'
- $ endif
- $!
- $ define objdir 'objdir'
- $ define exadir 'exadir'
- $!
- $ cc_include = "/include=([],[-.include])"
- $ cc_flags = "/name=shortened/show=all/define=(_USE_STD_STAT=1)"
- $ link_opts = "objdir:libssh2_''thisid'.opt"
- $!
- $!
- $ what = "''p1'"
- $ if what .eqs. "" .or. f$edit(p1,"trim,collapse,upcase") .eqs. "ALL"
- $ then
- $ what = "ALL"
- $ else
- $ what = f$parse(what,,,"name")
- $ if f$search("exadir:''what'.c") .eqs. ""
- $ then
- $ write sys$output "Can't make ''what'"
- $ init_status = 0
- $ endif
- $ endif
- $!
- $ currentlib = f$search("libssh2*.exe")
- $!
- $ define libssh2 'currentlib'
- $!
- $ how = "''p2'"
- $ if how .eqs. "" .or. f$edit(p2,"trim,collapse,upcase") .eqs. "STATIC"
- $ then
- $ open/write lout 'link_opts'
- $ write lout "libssh2.olb/lib"
- $ write lout "sys$share:ssl$libcrypto_shr32.exe/share"
- $ write lout "sys$share:ssl$libssl_shr32.exe/share"
- $ write lout "gnv$libzshr/share"
- $ close lout
- $ else
- $ how = "SHARED"
- $ open/write lout 'link_opts'
- $ write lout "libssh2/share"
- $ close lout
- $ endif
- $!
- $return
|