1.5. File names

 Function: compile-file-pathname {filename-base &key output-file type}

When compiling lisp files, creating libraries, etc, a number of files are produced which are of interest for the user or programmer. However, the name of these files will change from system to system. The purpose of the function compile-file-pathname is to query the compiler about the name of the different files that it can produce. Possible values of the type argument include:

:fas (default)

Standard compiled files that can be loaded with load.

:c, :data, :h

Intermediate files produced by the Lisp-to-C translator.

:o

Linkable object files.

:lib, :static-library

A normal library produced with c:build-static-library.

:dll, :shared-library

A dynamically linked library produced with c:build-shared-library.

:program

An executable produced with c:build-program.

The output of this function is system specific. For example, under FreeBSD

   > (compile-file-pathname "/this/path/mylib" :type :lib)
   #P"/this/path/libmylib.a"
   > (compile-file-pathname "/this/path/mylib" :type :dll)
   #P"/this/path/libmylib.so"
   > (compile-file-pathname "/this/path/mycode")
   #P"/this/path/mycode.fas"