# Exporting Makefiles

Eclipse* can build a makefile that includes Intel® oneAPI DPC++/C++ Compiler options for created Executables, Shared Libraries, or Static Library Projects. When the project is complete, export the makefile and project source files to another directory, and 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 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 executable. Create directory structure for files in the Options section must be selected to successfully create the export directory. This process 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 directory for full paths entered in the To directory text box. For example, if the /code/makefile is specified as the export directory, Eclipse creates two new subdirectories:
   - /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:

For C++:

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

    Building file: ../new_source_file.c
    Invoking: Intel C++ Compiler
    icx -O2 -MMD -MP -MF"new_source_file.d" -MT"new_source_file.d" -c -o "new_source_file.o" "../new_source_file.c"
    Finished building: ../new_source_file.c

    Building target: hello_world
    Invoking: Intel C++ compiler
    icx  -o "hello_world"  ./new_source_file.o
    Finished building target: hello_world

For DPC++:

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

    Building file: ../new_source_file.c
    Invoking: Intel® oneAPI DPC++ Compiler
    dpcpp -O2 -MMD -MP -MF"new_source_file.d" -MT"new_source_file.d" -c -o "new_source_file.o" "../new_source_file.c"
    Finished building: ../new_source_file.c

    Building target: hello_world
    Invoking: Linker
    dpcpp  -o "hello_world"  ./new_source_file.o
    Finished building target: hello_world

This process generates the hello_world executable in the same directory.

Parent topic: Make Files

## See Also

Setting Options for a Project or File