Hello I'm trying to compile sketches by Command Line, using make, instead of using the Arduino IDE.
This is on a Debain Sid AMD-64, using package arduino-core version 1:1.0+dfsg-4 . Compiling with the IDE works good. My board is an Arduino Uno v.2 .
My Makefile looks like:
ARDUINO_DIR = /usr/share/arduino
#TARGET = CLItest
#ARDUINO_LIBS = LiquidCrystal
BOARD_TAG = uno
MCU = atmega328
F_CPU = 16000000L
ARDUINO_PORT = /dev/ttyACM0
#AVR_TOOLS_PATH = /usr/bin
#AVRDUDE_CONF = /etc/avrdude.conf
AVRDUDE_ARD_PROGRAMMER = arduino
AVRDUDE_ARD_BAUDRATE = 57600
#AVRDUDE_ARD_EXTRAOPTS = -F
include /usr/share/arduino/Arduino.mk
I'm trying to compile the first example from /usr/share/doc/arduino-core/examples/1.Basics/Blink/
1st: I have to rename the sketch to Blink.pde from Blink.ino, then I get:
build-cli/Blink.cpp:1:22: fatal error: WProgram.h: No such file or directory
compilation terminated.
So I go in /usr/share/arduino/hardware/arduino/cores/arduino and make a symbolinc link: ln -s Arduino.h WProgram.h
Then when I make I get:
/usr/share/arduino/hardware/arduino/cores/arduino/WProgram.h:212:26: fatal error: pins_arduino.h: No such file or directory
So I edit /usr/share/arduino/hardware/arduino/cores/arduino/WProgram.h:212 e comment the pin include.
I get: /usr/share/arduino/hardware/arduino/cores/arduino/wiring_analog.c:28:26: fatal error: pins_arduino.h: No such file or directory
So i comment th pin include in wiring_analog.c too.
Now I get:
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:29:26: fatal error: pins_arduino.h: No such file or directory
compilation terminated
I comment out pins from wiring_digital.c:29
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_pulse.c:26:26: fatal error: pins_arduino.h: No such file or directory
I comment out pins from wiring_pulse.c:26
make TARGET=Blink
cat build-cli/Blink.d > build-cli/depends.mk
/usr/bin/avr-gcc -mmcu=atmega328 -lm -Wl,--gc-sections -Os -o build-cli/Blink.elf build-cli/Blink.o build-cli/WInterrupts.o build-cli/wiring_analog.o build-cli/wiring.o build-cli/wiring_digital.o build-cli/wiring_pulse.o build-cli/wiring_shift.o build-cli/CDC.o build-cli/HardwareSerial.o build-cli/HID.o build-cli/IPAddress.o build-cli/main.o build-cli/new.o build-cli/Print.o build-cli/Stream.o build-cli/Tone.o build-cli/USBCore.o build-cli/WMath.o build-cli/WString.o
build-cli/wiring_digital.o: In function `digitalRead':
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:154: undefined reference to `digital_pin_to_bit_mask_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:154: undefined reference to `digital_pin_to_bit_mask_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:154: undefined reference to `digital_pin_to_port_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:154: undefined reference to `digital_pin_to_port_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:156: undefined reference to `port_to_mode_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:156: undefined reference to `port_to_mode_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:155: undefined reference to `digital_pin_to_timer_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:155: undefined reference to `digital_pin_to_timer_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:156: undefined reference to `digital_pin_to_bit_mask_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:156: undefined reference to `digital_pin_to_bit_mask_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:158: undefined reference to `digital_pin_to_port_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:162: undefined reference to `digital_pin_to_port_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:158: undefined reference to `port_to_output_PGM'
/usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c:158: undefined reference to `port_to_output_PGM'
collect2: ld returned 1 exit status
make: *** [build-cli/Blink.elf] Error 1
And I'm stuck. Any suggestion?