Marlinのビルド解読

##### C++ ビルド #####
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega1280 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -Icores/arduino -Ivariants/mega -IWire -IU8glib -ILiquidCrystal -ISPI BlinkM.cpp 

avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega1280 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -Icores/arduino -Ivariants/mega -IWire -IU8glib -ILiquidCrystal -ISPI cardreader.cpp

avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega1280 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -Icores/arduino -Ivariants/mega -IWire -IU8glib -ILiquidCrystal -ISPI ConfigurationStore.cpp

avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega1280 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -Icores/arduino -Ivariants/mega -IWire -IU8glib -ILiquidCrystal -ISPI LiquidCrystalRus.cpp

avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega1280 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -Icores/arduino -Ivariants/mega -IWire -IU8glib -ILiquidCrystal -ISPI Marlin.cpp

avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega1280 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -Icores/arduino -Ivariants/mega -IWire -IU8glib -ILiquidCrystal -ISPI Marlin_main.cpp

avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega1280 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -Icores/arduino -Ivariants/mega -IWire -IU8glib -ILiquidCrystal -ISPI MarlinSerial.cpp

(以下同様)
motion_control.cpp
planner.cpp
Sd2Card.cpp
SdBaseFile.cpp 
SdFatUtil.cpp
SdVolume.cpp
stepper.cpp
temperature.cpp
ultralcd.cpp
vector_3.cpp
watchdog.cpp
Wire.cpp 
twi.c
(U8glib関連)
U8glib.cpp
chessengine.c
u8g_bitmap.c
u8g_circle.c
u8g_clip.c 
u8g_com_api.c
u8g_com_api_16gr.c
u8g_com_arduino_common.c
u8g_com_arduino_fast_parallel.c
u8g_com_arduino_hw_spi.c
u8g_com_arduino_no_en_parallel.c
u8g_com_arduino_parallel.c
u8g_com_arduino_port_d_wr.c
u8g_com_arduino_ssd_i2c.c
u8g_com_arduino_st7920_hw_spi.c
u8g_com_arduino_st7920_spi.c
u8g_com_arduino_std_sw_spi.c
u8g_com_arduino_sw_spi.c
u8g_com_arduino_t6963.c
u8g_com_atmega_hw_spi.c
u8g_com_atmega_parallel.c
u8g_com_atmega_st7920_hw_spi.c
u8g_com_atmega_st7920_spi.c
u8g_com_atmega_sw_spi.c
u8g_com_i2c.c
u8g_com_io.c
u8g_com_null.c
u8g_cursor.c
u8g_delay.c
u8g_dev_flipdisc_2x7.c
u8g_dev_gprof.c
u8g_dev_ili9325d_320x240.c
u8g_dev_ks0108_128x64.c
u8g_dev_lc7981_160x80.c
u8g_dev_lc7981_240x128.c
u8g_dev_lc7981_240x64.c
u8g_dev_lc7981_320x64.c
u8g_dev_null.c
u8g_dev_pcd8544_84x48.c
u8g_dev_pcf8812_96x65.c
u8g_dev_sbn1661_122x32.c
u8g_dev_ssd1306_128x32.c
u8g_dev_ssd1306_128x64.c
u8g_dev_ssd1309_128x64.c
u8g_dev_ssd1322_nhd31oled_bw.c
u8g_dev_ssd1322_nhd31oled_gr.c
u8g_dev_ssd1325_nhd27oled_bw.c
u8g_dev_ssd1325_nhd27oled_bw_new.c
u8g_dev_ssd1325_nhd27oled_gr.c
u8g_dev_ssd1325_nhd27oled_gr_new.c
u8g_dev_ssd1327_96x96_gr.c
u8g_dev_st7565_64128n.c
u8g_dev_st7565_dogm128.c
u8g_dev_st7565_dogm132.c
u8g_dev_st7565_lm6059.c
u8g_dev_st7565_lm6063.c
u8g_dev_st7565_nhd_c12832.c
u8g_dev_st7565_nhd_c12864.c
u8g_dev_st7687_c144mvgd.c
u8g_dev_st7920_128x64.c
utility/u8g_dev_st7920_192x32.c
u8g_dev_st7920_202x32.c
u8g_dev_t6963_128x64.c
u8g_dev_t6963_240x128.c
u8g_dev_t6963_240x64.c
u8g_dev_tls8204_84x48.c
u8g_dev_uc1610_dogxl160.c
u8g_dev_uc1701_dogs102.c
u8g_dev_uc1701_mini12864.c
u8g_ellipse.c
u8g_font.c
u8g_font_data.c
u8g_line.c
u8g_ll_api.c
u8g_page.c
u8g_pb.c
u8g_pb14v1.c
u8g_pb16h1.c
u8g_pb16h2.c
u8g_pb16v1.c
u8g_pb16v2.c
u8g_pb32h1.c
u8g_pb8h1.c
u8g_pb8h1f.c
u8g_pb8h2.c
u8g_pb8h8.c
u8g_pb8v1.c
u8g_pb8v2.c
u8g_rect.c
u8g_rot.c
u8g_scale.c
u8g_state.c
u8g_u16toa.c
u8g_u8toa.c
u8g_virtual_screen.c
(U8glib関連おわり)
LiquidCrystal.cpp
SPI.cpp
malloc.c
realloc.c
WInterrupts.c
wiring.c 
wiring_analog.c
wiring_digital.c
wiring_pulse.c 
wiring_shift.c 
CDC.cpp 
HardwareSerial.cpp 
HID.cpp
IPAddress.cpp
main.cpp
new.cpp
Print.cpp
Stream.cpp
Tone.cpp
USBCore.cpp
WMath.cpp
WString.cpp


##### アーカイブ・ファイル作成 #####
avr-ar rcs core.a malloc.c.o 
avr-ar rcs core.a realloc.c.o 
avr-ar rcs core.a WInterrupts.c.o 
avr-ar rcs core.a wiring.c.o 
avr-ar rcs core.a wiring_analog.c.o 
avr-ar rcs core.a wiring_digital.c.o 
avr-ar rcs core.a wiring_pulse.c.o 
avr-ar rcs core.a wiring_shift.c.o 
avr-ar rcs core.a CDC.cpp.o 
avr-ar rcs core.a HardwareSerial.cpp.o 
avr-ar rcs core.a HID.cpp.o 
avr-ar rcs core.a main.cpp.o 
avr-ar rcs core.a new.cpp.o 
avr-ar rcs core.a Print.cpp.o 
avr-ar rcs core.a Stream.cpp.o 
avr-ar rcs core.a Tone.cpp.o 
avr-ar rcs core.a USBCore.cpp.o 
avr-ar rcs core.a WMath.cpp.o 
avr-ar rcs core.a String.cpp.o 

##### オブジェクトのリンク→ELF作成 #####
avr-gcc -Os -Wl,--gc-sections -mmcu=atmega1280 
-o Marlin.cpp.elf 
BlinkM.cpp.o 
ConfigurationStore.cpp.o 
LiquidCrystalRus.cpp.o 
Marlin.cpp.o 
Marlin_main.cpp.o 
MarlinSerial.cpp.o 
motion_control.cpp.o 
planner.cpp.o 
Sd2Card.cpp.o 
SdBaseFile.cpp.o 
SdFatUtil.cpp.o 
SdFile.cpp.o 
SdVolume.cpp.o 
Servo.cpp.o 
stepper.cpp.o 
temperature.cpp.o 
ultralcd.cpp.o 
vector_3.cpp.o 
watchdog.cpp.o 
Wire.cpp.o 
twi.c.o 
U8glib.cpp.o 
chessengine.c.o 
u8g_bitmap.c.o 
u8g_circle.c.o 
u8g_clip.c.o 
u8g_com_api.c.o 
u8g_com_api_16gr.c.o 
u8g_com_arduino_common.c.o 
u8g_com_arduino_fast_parallel.c.o 
u8g_com_arduino_hw_spi.c.o 
u8g_com_arduino_no_en_parallel.c.o 
u8g_com_arduino_parallel.c.o 
u8g_com_arduino_port_d_wr.c.o 
u8g_com_arduino_ssd_i2c.c.o 
u8g_com_arduino_st7920_hw_spi.c.o 
u8g_com_arduino_st7920_spi.c.o 
u8g_com_arduino_std_sw_spi.c.o 
u8g_com_arduino_sw_spi.c.o 
u8g_com_arduino_t6963.c.o 
u8g_com_atmega_hw_spi.c.o 
u8g_com_atmega_parallel.c.o 
u8g_com_atmega_st7920_hw_spi.c.o 
u8g_com_atmega_st7920_spi.c.o 
u8g_com_atmega_sw_spi.c.o 
u8g_com_i2c.c.o 
u8g_com_io.c.o 
u8g_com_null.c.o 
u8g_cursor.c.o 
u8g_delay.c.o 
u8g_dev_flipdisc_2x7.c.o 
u8g_dev_gprof.c.o 
u8g_dev_ili9325d_320x240.c.o 
u8g_dev_ks0108_128x64.c.o
u8g_dev_lc7981_160x80.c.o 
u8g_dev_lc7981_240x128.c.o 
u8g_dev_lc7981_240x64.c.o 
u8g_dev_lc7981_320x64.c.o 
u8g_dev_null.c.o 
u8g_dev_pcd8544_84x48.c.o 
u8g_dev_pcf8812_96x65.c.o 
u8g_dev_sbn1661_122x32.c.o 
u8g_dev_ssd1306_128x32.c.o 
u8g_dev_ssd1306_128x64.c.o 
u8g_dev_ssd1309_128x64.c.o 
u8g_dev_ssd1322_nhd31oled_bw.c.o 
u8g_dev_ssd1322_nhd31oled_gr.c.o 
u8g_dev_ssd1325_nhd27oled_bw.c.o 
u8g_dev_ssd1325_nhd27oled_bw_new.c.o 
u8g_dev_ssd1325_nhd27oled_gr.c.o 
u8g_dev_ssd1325_nhd27oled_gr_new.c.o 
u8g_dev_ssd1327_96x96_gr.c.o 
u8g_dev_st7565_64128n.c.o 
u8g_dev_st7565_dogm128.c.o 
u8g_dev_st7565_dogm132.c.o 
u8g_dev_st7565_lm6059.c.o 
u8g_dev_st7565_lm6063.c.o 
u8g_dev_st7565_nhd_c12832.c.o 
u8g_dev_st7565_nhd_c12864.c.o 
u8g_dev_st7687_c144mvgd.c.o 
u8g_dev_st7920_128x64.c.o 
u8g_dev_st7920_192x32.c.o 
u8g_dev_st7920_202x32.c.o 
u8g_dev_t6963_128x64.c.o 
u8g_dev_t6963_240x128.c.o 
u8g_dev_t6963_240x64.c.o 
u8g_dev_tls8204_84x48.c.o 
u8g_dev_uc1610_dogxl160.c.o 
u8g_dev_uc1701_dogs102.c.o 
u8g_dev_uc1701_mini12864.c.o 
u8g_ellipse.c.o
u8g_font.c.o 
u8g_font_data.c.o 
u8g_line.c.o 
u8g_ll_api.c.o 
u8g_pb14v1.c.o 
u8g_pb16h1.c.o 
u8g_pb16h2.c.o 
u8g_pb16v1.c.o 
u8g_pb16v2.c.o 
u8g_pb32h1.c.o 
u8g_pb8h1.c.o 
u8g_pb8h1f.c.o 
u8g_pb8h2.c.o 
u8g_pb8h8.c.o 
u8g_pb8v1.c.o 
u8g_pb8v2.c.o 
u8g_rect.c.o 
u8g_scale.c.o 
u8g_state.c.o
u8g_u16toa.c.o 
u8g_u8toa.c.o
u8g_virtual_screen.c 
LiquidCrystal.cpp.o 
SPI.cpp.o 
core.a 
-L(カレントディレクトリ) -lm 

##### EEP作成 #####
avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 Marlin.cpp.elf Marlin.cpp.eep 

##### HEX作成 #####
avr-objcopy -O ihex -R .eeprom Marlin.cpp.elf Marlin.cpp.hex 


Binary sketch size: 51,842 bytes (of a 126,976 byte maximum)