mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-10-30 12:05:34 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			125 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| $!
 | |
| $!
 | |
| $ 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")
 | |
| $ 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"
 | |
| $ 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
 |