# Use Makefiles for Compilation

This topic describes the use of makefiles to compile your application. You can use makefiles to specify a number of files with various paths, and to save this information for multiple compilations.

## Use Makefiles to Store Information for Compilation on Linux or macOS

To run make from the command line using the compiler, make sure that /usr/bin and /usr/local/bin are in your PATH environment variable.

If you use the C shell, you can edit your .cshrc file and add the following:

    setenv PATH /usr/bin:/usr/local/bin:$PATH

To use the compiler, your makefile must include the setting `CC=icc`. Use the same setting on the command line to instruct the makefile to use the compiler. If your makefile is written for GCC, you need to change the command line options that are not recognized by the compiler. Run make, using the following syntax:

    make -f yourmakefile

Where -f is the make command option to specify a particular makefile name.

## Use Makefiles to Store Information for Compilation on Windows

To use a makefile to compile your source files, use the nmake command with the following syntax:

    nmake /f [makefile_name.mak] CPP=[compiler_name] [LINK32=[linker_name]

Example:

    nmake /f your_project.mak CPP=icl LINK32=link

Argument | Description
--- | ---
/f | The nmake option to specify a makefile.
your_project.mak | The makefile used to generate object and executable files.
CPP | The preprocessor/compiler that generates object and executable files. (The name of this macro may be different for your makefile.)
LINK32 | The linker that is used.

The nmake command creates object files (.obj) and executable files () from the information specified in the your_project.mak makefile.

Parent topic: Use the Command Line

## See Also

Modify Your makefile (Linux and macOS)
Modify Your makefile (Windows)