ContentsIndexPreviousNext

2.1.12 File Name Handling

Several compile-time options (such as "-o") take a file name as an argument. As a special abbreviation, the character "@" can be placed in these file names to stand for the "base name" of the source program. To form the "base name," the compiler removes all directory information from the source file name, along with any characters following a period, and the period itself. The resulting "base name" is then inserted into the file name argument at the location of the "@" character.

For example, if you wanted to compile a program called "TEST.CBL", and wanted the resulting object file to be named "TEST.OBJ", and wanted to place the errors in the file "TEST.ERR", you could use the following command:

ccbl  -o  @.OBJ  -e  @.ERR  TEST.CBL

This is equivalent to the following:

ccbl  -o  TEST.OBJ  -e  TEST.ERR  TEST.CBL

and is also equivalent to:

ccbl  -oe  @.OBJ   @.ERR  TEST.CBL

In this example, the "-o" indicates that the next argument is the name of the object file. The "@.OBJ" argument is this name. The "-e" indicates that the next argument is the name of the error file. The "@.ERR" argument is this name. The "@" character is replaced with the word "TEST", which is derived from the name of the source file "TEST.CBL".

As another example, on UNIX machines you could compile the program "test.cbl" and place the object code in the file "/programs/test" with the command

ccbl  -o  /programs/@  test.cbl

(Substitute "\@" for "@" if your UNIX machine uses "@" as its default "line kill" character.) This can be particularly useful in compile scripts or in conjunction with the CBLFLAGS variable described below.