Arduino Build, retain foo.cpp (solved)

I have read everything I can find on the build process both here and elsewhere.
If I understand correctly at some point (right after the preprocessor runs) there exists a file (foo.cpp) that contains the concatenated source produced by the Arduino IDE. My goal is to retain that file?
“The first step in the build process involves concatenating the .pde files into a single program. You should keep in mind that when you build a sketch, the processes are performed against copies of your files that are placed in a temporary directory. On the other hand when you “Upload” a sketch, the build process occurs within the applet directory - a subdirectory of the sketch. The name of the file that is created during the concatenation process is called {sketchName}.cpp; where {sketchName} is the name of your “primary” .pde file. Reference:”
“A sketch can contain multiple files (tabs). To manage them, click on the right-facing arrow just above the scroll bar near the top of the environment. Tabs have one of four extensions: no extension, .c, .cpp, or .h (if you provide any other extension, the period will be converted to an underscore). When your sketch is compiled, all tabs with no extension are concatenated together to form the “main sketch file”. Tabs with .c or .cpp extensions are compiled separately. To use tabs with a .h extension, you need to #include it (using “double quotes” not ).”

This is the first line from a “verbose” compile. I have broken it up into separate lines so that it is bit easier to read.

<install path>\Arduino\hardware\tools\avr\bin\avr-g++ 
-c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L 
-MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -I 
<install path>\Arduino\hardware\arduino\cores\arduino -I
<build.path>\foo.cpp -o 

I believe this is the line step that “consumes” the foo.cpp file.
preproc.save_build_files=true does not accomplish this feat.

There is are several lines in the preferences.txt file:


I have not found any documentation on these settings nor do I find the word “export” in any of the IDE’s menus (and I checked the idiotcons as well). Is ‘export’ the preprocessor ?

If you enable verbose output for compilation and look at the output you will see the name of the working directory. After compiling ("verifying") your sketch, you should find the intermediate .cpp files left behind in the working directory.

My build.path is: \Documents\Arduino\Build

The files left there are all:
.d (dependencies)
.o (object)
.a (assembler object — guessing here)
.epp (has a single address that I am guess is the starting point)
.elf (executable and linkable format)
.hex (hex file to be burned in to device)

The closest file is: HelloWorld_004.cpp.o (object file)

AH HA — (the light dawns). The .cpp file is deleted when the Arduino IDE closes. XD