@ -180,88 +180,93 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1105)
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 0 6 )
# MKS v1.5 with Allegro A4982 stepper drivers
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 0 7 )
# MKS BASE 1.0 with Heroic HR 4982 stepper drivers
# MKS v1.6 with Allegro A 4982 stepper drivers
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 0 8 )
# MKS GEN v1.3 or 1.4
# MKS BASE 1.0 with Heroic HR4982 stepper drivers
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 0 9 )
# MKS GEN L
# MKS GEN v1.3 or 1.4
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 0 )
# zrib V2.0 control board (Chinese knock off RAMPS replica)
# MKS GEN L
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 1 )
# BigTreeTech or BIQU KFB2.0
# zrib V2.0 control board (Chinese knock off RAMPS replica)
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 2 )
# Felix 2.0+ Electronics Board (RAMPS like)
# BigTreeTech or BIQU KFB2.0
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 3 )
# Invent-A-Part RigidBoard
# Felix 2.0+ Electronics Board (RAMPS like)
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 4 )
# Invent-A-Part RigidBoard V2
# Invent-A-Part RigidBoard
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 5 )
# Sainsmart 2-in-1 board
# Invent-A-Part RigidBoard V2
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 6 )
# Ultimaker
# Sainsmart 2-in-1 board
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 7 )
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
# Ultimaker
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 8 )
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 9 )
MCU ?= atmega1280
# Azteeg X3
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 1 9 )
# Azteeg X3 Pro
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 0 )
# Ultimainboard 2.x (Uses TEMP_SENSOR 20)
# Azteeg X3 Pro
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 1 )
# Rumba
# Ultimainboard 2.x (Uses TEMP_SENSOR 20)
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 2 )
# Raise3D R umba
# Rumba
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 3 )
# Rapide Lite RL200 Rumba
# Raise3D Rumba
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 4 )
# Formbot T-Rex 2 Plus
# Rapide Lite RL200 Rumba
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 5 )
# Formbot T-Rex 3
# Formbot T-Rex 2 Plus
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 6 )
# Formbot Raptor
# Formbot T-Rex 3
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 7 )
# Formbot Raptor 2
# Formbot Raptor
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 8 )
# bq ZUM Mega 3D
# Formbot Raptor 2
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 2 9 )
# MakeBoard Mini v2.1.2 is a control board sold by MicroMake
# bq ZUM Mega 3D
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 0 )
# TriGorilla Anycubic version 1.3 based on RAMPS EFB
# MakeBoard Mini v2.1.2 is a control board sold by MicroMake
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 1 )
# TriGorilla Anycubic version 1.4 based on RAMPS EFB
# TriGorilla Anycubic version 1.3 based on RAMPS EFB
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 2 )
# TriGorilla Anycubic version 1.4 Rev 1.1
# TriGorilla Anycubic version 1.4 based on RAMPS EFB
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 3 )
# Creality: Ender-4, CR-8
# TriGorilla Anycubic version 1.4 Rev 1.1
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 4 )
# Creality: CR10S, CR20, CR-X
# Creality: Ender-4, CR-8
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 5 )
# Dagoma F5
# Creality: CR10S, CR20, CR-X
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 6 )
# FYSETC F6
# Dagoma F5
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 7 )
# Duplicator i3 Plus
# FYSETC F6 1.3
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 8 )
# VORON
# FYSETC F6 1.5
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 3 9 )
# TRONXY V3 1.0
# Duplicator i3 Plus
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 0 )
# Z-Bolt X Series
# VORON
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 1 )
# TT OSCAR
# TRONXY V3 1.0
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 2 )
# Overlord/Overlord Pro
# Z-Bolt X Series
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 3 )
# ADIMLab Gantry v1
# TT OSCAR
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 4 )
# ADIMLab Gantry v2
# Overlord/Overlord Pro
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 5 )
# BIQU Tango V 1
# ADIMLab Gantry v 1
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 6 )
# MKS GEN L V 2
# ADIMLab Gantry v 2
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 7 )
# BIQU Tango V1
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 8 )
# MKS GEN L V2
e l s e i f e q ( $( HARDWARE_MOTHERBOARD ) , 1 1 4 9 )
#
# RAMBo and derivatives
@ -784,11 +789,11 @@ sym: $(BUILD_DIR)/$(TARGET).sym
# Do not try to reset an Arduino if it's not one
upload : $( BUILD_DIR ) /$( TARGET ) .hex
i f e q ( $ { A V R D U D E _ P R O G R A M M E R } , a r d u i n o )
stty hup < $( UPLOAD_PORT) ; true
stty hup < $( UPLOAD_PORT) ; true
e n d i f
$( AVRDUDE) $( AVRDUDE_FLAGS) $( AVRDUDE_WRITE_FLASH)
$( AVRDUDE) $( AVRDUDE_FLAGS) $( AVRDUDE_WRITE_FLASH)
i f e q ( $ { A V R D U D E _ P R O G R A M M E R } , a r d u i n o )
stty -hup < $( UPLOAD_PORT) ; true
stty -hup < $( UPLOAD_PORT) ; true
e n d i f
# Display size of file.
@ -796,10 +801,10 @@ HEXSIZE = $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex
ELFSIZE = $( SIZE) $( SIZE_FLAGS) $( BUILD_DIR) /$( TARGET) .elf; \
$( SIZE) $( BUILD_DIR) /$( TARGET) .elf
sizebefore :
$P if [ -f $( BUILD_DIR) /$( TARGET) .elf ] ; then echo; echo $( MSG_SIZE_BEFORE) ; $( HEXSIZE) ; echo; fi
$P if [ -f $( BUILD_DIR) /$( TARGET) .elf ] ; then echo; echo $( MSG_SIZE_BEFORE) ; $( HEXSIZE) ; echo; fi
sizeafter : build
$P if [ -f $( BUILD_DIR) /$( TARGET) .elf ] ; then echo; echo $( MSG_SIZE_AFTER) ; $( ELFSIZE) ; echo; fi
$P if [ -f $( BUILD_DIR) /$( TARGET) .elf ] ; then echo; echo $( MSG_SIZE_AFTER) ; $( ELFSIZE) ; echo; fi
# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
@ -811,71 +816,71 @@ COFFCONVERT=$(OBJCOPY) --debugging \
coff : $( BUILD_DIR ) /$( TARGET ) .elf
$( COFFCONVERT) -O coff-avr $( BUILD_DIR) /$( TARGET) .elf $( TARGET) .cof
$( COFFCONVERT) -O coff-avr $( BUILD_DIR) /$( TARGET) .elf $( TARGET) .cof
extcoff : $( TARGET ) .elf
$( COFFCONVERT) -O coff-ext-avr $( BUILD_DIR) /$( TARGET) .elf $( TARGET) .cof
$( COFFCONVERT) -O coff-ext-avr $( BUILD_DIR) /$( TARGET) .elf $( TARGET) .cof
.SUFFIXES : .elf .hex .eep .lss .sym .bin
.PRECIOUS : .o
.elf.hex :
$( Pecho) " COPY $@ "
$P $( OBJCOPY) -O $( FORMAT) -R .eeprom $< $@
$( Pecho) " COPY $@ "
$P $( OBJCOPY) -O $( FORMAT) -R .eeprom $< $@
.elf.bin :
$( Pecho) " COPY $@ "
$P $( OBJCOPY) -O binary -R .eeprom $< $@
$( Pecho) " COPY $@ "
$P $( OBJCOPY) -O binary -R .eeprom $< $@
.elf.eep :
-$( OBJCOPY) -j .eeprom --set-section-flags= .eeprom= "alloc,load" \
-$( OBJCOPY) -j .eeprom --set-section-flags= .eeprom= "alloc,load" \
--change-section-lma .eeprom= 0 -O $( FORMAT) $< $@
# Create extended listing file from ELF output file.
.elf.lss :
$( OBJDUMP) -h -S $< > $@
$( OBJDUMP) -h -S $< > $@
# Create a symbol table from ELF output file.
.elf.sym :
$( NM) -n $< > $@
$( NM) -n $< > $@
# Link: create ELF output file from library.
$(BUILD_DIR)/$(TARGET).elf : $( OBJ ) Configuration .h
$( Pecho) " CXX $@ "
$P $( CC) $( LD_PREFIX) $( ALL_CXXFLAGS) -o $@ -L. $( OBJ) $( LDFLAGS) $( LD_SUFFIX)
$( Pecho) " CXX $@ "
$P $( CC) $( LD_PREFIX) $( ALL_CXXFLAGS) -o $@ -L. $( OBJ) $( LDFLAGS) $( LD_SUFFIX)
# Object files that were found in "src" will be stored in $(BUILD_DIR)
# in directories that mirror the structure of "src"
$(BUILD_DIR)/%.o : %.c Configuration .h Configuration_adv .h $( MAKEFILE )
$( Pecho) " CC $< "
$P $( CC) -MMD -c $( ALL_CFLAGS) $( CWARN) $< -o $@
$( Pecho) " CC $< "
$P $( CC) -MMD -c $( ALL_CFLAGS) $( CWARN) $< -o $@
$(BUILD_DIR)/%.o : %.cpp Configuration .h Configuration_adv .h $( MAKEFILE )
$( Pecho) " CXX $< "
$P $( CXX) -MMD -c $( ALL_CXXFLAGS) $( CXXWARN) $< -o $@
$( Pecho) " CXX $< "
$P $( CXX) -MMD -c $( ALL_CXXFLAGS) $( CXXWARN) $< -o $@
# Object files for Arduino libs will be created in $(BUILD_DIR)/arduino
$(BUILD_DIR)/arduino/%.o : %.c Configuration .h Configuration_adv .h $( MAKEFILE )
$( Pecho) " CC $< "
$P $( CC) -MMD -c $( ALL_CFLAGS) $( LIBWARN) $< -o $@
$( Pecho) " CC $< "
$P $( CC) -MMD -c $( ALL_CFLAGS) $( LIBWARN) $< -o $@
$(BUILD_DIR)/arduino/%.o : %.cpp Configuration .h Configuration_adv .h $( MAKEFILE )
$( Pecho) " CXX $< "
$P $( CXX) -MMD -c $( ALL_CXXFLAGS) $( LIBWARN) $< -o $@
$( Pecho) " CXX $< "
$P $( CXX) -MMD -c $( ALL_CXXFLAGS) $( LIBWARN) $< -o $@
$(BUILD_DIR)/arduino/%.o : %.S $( MAKEFILE )
$( Pecho) " CXX $< "
$P $( CXX) -MMD -c $( ALL_ASFLAGS) $< -o $@
$( Pecho) " CXX $< "
$P $( CXX) -MMD -c $( ALL_ASFLAGS) $< -o $@
# Target: clean project.
clean :
$( Pecho) " RMDIR $( BUILD_DIR) / "
$P rm -rf $( BUILD_DIR)
$( Pecho) " RMDIR $( BUILD_DIR) / "
$P rm -rf $( BUILD_DIR)
.PHONY : all build elf hex eep lss sym program coff extcoff clean depend sizebefore sizeafter