&begin_parameters SRCDIR option(-source_dir),pathname,='(current_dir)' BLDDIR option(-build_dir),pathname,='(current_dir)>build_dir' COPTS option(-compile_options),string,='-type_checking normal' BOPTS option(-bind_options),string,='' KNAME option(-kermit_name),name,length(29),='kermit' KOPTS option(-kermit_options),string, &+ ='STRATUS DYNAMIC DCMDBUF CLSOPN STRATUSX25 MYCURSES TCPSOCKET NOTCPOPTS' TOOL switch(-tools),=1 DBG switch(-debug),secret,=0 &end_parameters & Modified May 1998 by David Lane for C-Kermit 6.1 and add TCP/IP support. & & Modified March 7,1997 by Kernie Brashier & to support C-Kermit Version 6 for VOS. Wherever possible I have left David's & original port in tact. & & Command macro to produce C-Kermit for VOS. This has been successfully & tested on VOS 10.5 CISC, and 11.5.1, both RISC and CISC versions, with and & without X.25 and/or OS TCP/IP support. This command macro rebuilds the & world every time it is run, there is no "incremental" build of only & changed modules. This is left as an exercise for the reader. &if &DBG& &then &echo macro_lines input_lines command_lines &if &BLDDIR& = &SRCDIR& &then &goto same_dir_error &if (process_type) = batch &then &goto noterm &set PLINES (terminal_info pause_lines) !set_terminal_parameters -pause_lines 0 &label noterm & Work around an incompatible include file change... &set_string rel (reverse (before (reverse (module_info system_release)) ' ')) &set_string rel (before &$rel& '.') &if &rel& < 13 &then &set_string KOPTS (concat (quote &KOPTS&) ' GET_PORT_INFO_IS_STRUCT') &set_string mydir (current_dir) !change_current_dir &BLDDIR& !add_library_path include &SRCDIR& !c &SRCDIR&>ckldef &COPTS& !bind ckldef &BOPTS& &if (quote (current_dir)) ^= &$SRCDIR& &then !copy_file &SRCDIR&>ckcsym.h -delete !ckldef ckcsym.h -read &KOPTS& !c &SRCDIR&>ckwart.c &COPTS& !bind ckwart &BOPTS& !ckwart &SRCDIR&>ckcpro.w ckcpro.c & drl - This was commented out and used a cklpro.c file in 6.0 & ckcpro.c gets created in the build dir! !c &SRCDIR&>ckcpro.c &COPTS& !delete_file ckcpro.c !c &SRCDIR&>ckclib.c &COPTS& !c &SRCDIR&>ckcfn2.c &COPTS& !c &SRCDIR&>ckcfn3.c &COPTS& !c &SRCDIR&>ckcfns.c &COPTS& !c &SRCDIR&>ckcmai.c &COPTS& !c &SRCDIR&>ckctel.c &COPTS& !c &SRCDIR&>cklcon.c &COPTS& !c &SRCDIR&>cklfio.c &COPTS& !c &SRCDIR&>cklnet.c &COPTS& !c &SRCDIR&>ckltio.c &COPTS& !c &SRCDIR&>ckucmd.c &COPTS& !c &SRCDIR&>ckudia.c &COPTS& !c &SRCDIR&>ckuscr.c &COPTS& !c &SRCDIR&>ckusig.c &COPTS& !c &SRCDIR&>ckuus2.c &COPTS& !c &SRCDIR&>ckuus3.c &COPTS& !c &SRCDIR&>ckuus4.c &COPTS& !c &SRCDIR&>ckuus5.c &COPTS& !c &SRCDIR&>ckuus6.c &COPTS& !c &SRCDIR&>ckuus7.c &COPTS& !c &SRCDIR&>ckuusr.c &COPTS& !c &SRCDIR&>ckuusx.c &COPTS& !c &SRCDIR&>ckuusy.c &COPTS& !c &SRCDIR&>ckuxla.c &COPTS& &if (index &$KOPTS& MDEBUG) ^= 0 &then &set_string MDOBJ , ckcmdb &else &set_string MDOBJ &if &$MDOBJ& ^= '' &then !c &SRCDIR&>ckcmdb.c &COPTS& &if (index &$KOPTS& TCPSOCKET) ^= 0 &then &set_string TCPOBJ , tcp_runtime, tcp_gethost &else &set_string TCPOBJ &attach_input line_edit -no_backup -no_verbose i name: &KNAME&; size: large; modules: ckcmai, ckclib, ckcfns, ckcfn2, ckcfn3, ckcpro, ckudia, ckuscr, ckltio, cklfio, cklcon, ckctel, cklnet, ckuusr, ckuus2, ckuus3, ckuus4, ckuus5, ckuus6, ckuus7, ckuusx, ckuusy, ckucmd, ckuxla, ckusig &TCPOBJ& &MDOBJ&; end; . w kermit.bind q &detach_input !bind -control kermit &BOPTS& &if &TOOL& = 0 &then &goto notools !c &SRCDIR&>ckltxt.c &COPTS& !c &SRCDIR&>cklxtr.c &COPTS& !bind ckltxt &BOPTS& !bind cklxtr &BOPTS& &goto build_done &label notools & delete the ones needed to build C-Kermit itself !delete_file ckldef.pm !delete_file ckwart.pm &label build_done & !delete_file *.obj -no_ask -brief & !delete_file kermit.bind & &if &$SRCDIR& ^= (quote (current_dir)) &then !delete_file ckcsym.h &if (process_type) ^= batch &then !set_terminal_parameters -pause_lines &PLINES& !change_current_dir &mydir& &return &label same_dir_error display_line (message e$same_object) &return e$same_object