Exporting Makefiles

The following topic applies to Eclipse* for C/C++.

Eclipse* can build a makefile that includes Intel® C++ Compiler options for created Executables, Shared Libraries, or Static Library Projects. See Setting Options for a Project or File. When the project is complete, export the makefile and project source files to another directory, then build the project from the command line using make.

Exporting makefiles

To export the makefile:

  1. Select the project in the Eclipse* Project Explorer view.

  2. Select File > Export to launch the Export Wizard.

    The Export dialog box opens, showing the Select screen.

  3. Select General > File system , then click Next.

    The File System screen opens.

  4. Check both the hello_world and Release directories in the left-hand pane. Ensure all project sources are also checked in the right-hand pane.

    Note

    Some files in the right-hand pane may be deselected, such as the hello_world.o object file and the hello_world.exe executable. However, Create directory structure for files in the Options section must also be selected to successfully create the export directory. This also applies to project files in the hello_world directory.

  5. Use the Browse button to target the export to an existing directory. Eclipse* can create a new directory for full paths entered in the To directory text box. If, for example, /code/makefile is specified as the export directory, Eclipse* creates two new sub-directories:

    • /code/makefile/hello_world

    • /code/makefile/hello_world/Release

  6. Click Finish to complete the export.

Running make

In a terminal window, change to the /cpp/hello_world/Release directory, then run make by typing: make clean all.

You should see the following output:

rm -rf  ./hello_world.o  ./hello_world.d  hello_world

Building file: ../hello_world.c

Invoking: Intel IA-32 C Compiler
icc -MMD -MP -MF "hello_world.d" -MT "hello_world.d" -c -o "hello_world.o" "../hello_world.c"

Finished building: ../hello_world.c

Building target: hello_world
Invoking: Intel IA-32 C Linker
icc  -o "hello_world"  ./hello_world.o
Finished building target: hello_world

This generates the hello_world.exe executable in the same directory.

For more complete information about compiler optimizations, see our Optimization Notice.