compile (1) --- compile and load mixed language programs 10/10/84 | _U_s_a_g_e | compile {} [-c] [-m ] [-C<'cc' options>] | [-R<'rp' options>] [-F<'fc' options>] [-S<'pmac' options>] | [-P<'pc' options>] [{-l }] [-o ] | _D_e_s_c_r_i_p_t_i_o_n | 'Compile' is a general purpose interlude for calling the | various compilers available. The choice of compiler is | determined by the suffix of the file name. | 'Compile' compiles and loads the pathnames specified. The | following options are available: | -c Compile only. The various source files will be | compiled, but the loader will not be called. | -m | Specify a "main" language. If the "main" language | requires a special library and/or start-off | routine, then 'compile' will arrange to load it. | The should be one of the suffix letters | listed below. By default, no special libraries | (besides the regular "vswtlb") will be loaded. | -l | Load . | -o | Place executable file in . | 'Compile' recognizes the following file naming conventions | and will utilize the appropriate preprocessor and/or com- | piler: | .c -- C source file | .s -- Pma source file | .r -- Ratfor source file | .f -- Fortran 66 source file | .p -- Pascal source file | Therefore, if your current directory contains the files | "f1.s", "f2.c", "f3.r", "f4.f", and "f5.p" and you execute | the command "compile f1.s f2.c f3.r f4.f f5.p", 'compile' | will call the appropriate language processors for each file | and load the resulting binary versions together. Note that | even though there are both C and Pascal files listed, their | special libraries would _n_o_t be loaded. | Every path name that you specify _m_u_s_t include its associated | suffix. Otherwise, 'compile' will decide that it is not a | file, but an argument to pass on to the loader. | The following options will be used by the indicated compiler compile (1) - 1 - compile (1) compile (1) --- compile and load mixed language programs 10/10/84 | when it processes those pathnames having the corresponding | name extensions. Options to be passed on to the compilers | should be enclosed in quotes, so that they will stay grouped | together. For instance: | compile -m c junk.c -C'-a -Dindex=strchr' stuff.r | -R'-a -g' -o junk | Otherwise, the shell will split them up, and most of the | options will go to the loader, and do something unexpected, | instead of to the intended compiler. | -C <'cc' options> | Use the 'cc' options specified when compiling C | modules. | -R <'rp' options> | Use the 'rp' options specified when preprocessing | any Ratfor modules. | -F <'fc' options> | Use the 'fc' options specified when compiling | Fortran modules. These options will affect Ratfor | programs as well. | -S <'pmac' options> | Use the 'pmac' options specified when assembling | PMA modules. These options will _n_o_t affect C | programs, since the C compiler no longer uses PMA | to compile its programs. | -P <'pc' options> | Use the 'pc' options specified when compiling | Pascal modules. | The options should not occur more than once; if they do, the | last one will be used. Unrecognized options will be passed | on to the loader. | _M_e_s_s_a_g_e_s | "Usage: compile ..." for an invalid option to the '-m' | flag, if no arguments are given, or no files are listed | (only options). | _E_x_a_m_p_l_e_s | compile -m c sort.c stuff.p | compile prog1.r prog2.p low_level.s -l vswtmath -o prog | _B_u_g_s | Does no sanity checking on the arguments passed to the compile (1) - 2 - compile (1) compile (1) --- compile and load mixed language programs 10/10/84 | individual compilers, nor on what is passed on to the | loader. | Cannot be used to call 'bind'. | TTThhhiiisss ppprrrooogggrrraaammm iiisss ooonnnlllyyy aaavvvaaaiiilllaaabbbllleee tttooo llliiiccceeennnssseeeeeesss ooofff VVVeeerrrsssiiiooonnn 222...000 | ooofff ttthhheee GGGeeeooorrrgggiiiaaa TTTeeeccchhh CCC CCCooommmpppiiillleeerrr... | _S_e_e _A_l_s_o | cc (1), rp (1), fc (1), pc (1), pmac (1), ld (1), ucc (1), | bind (3), _U_s_e_r_'_s _G_u_i_d_e _f_o_r _t_h_e _G_e_o_r_g_i_a _T_e_c_h _C _C_o_m_p_i_l_e_r compile (1) - 3 - compile (1)