Pour éditer le wiki, il faut demander un compte à un Lapin !
Makefile pour Arduino
ce petit Makefile est devenu mon compagnon pour tous mes développements arduinos, parce que bon, l'IDE arduino est insupportable pour le dev que je suis. Et parce que vim rulez !
- voici le fichier Makefile à télécharger.
Configuration
1. Section des bibliothèques utilisateur
Avant de l'utiliser, il est nécessaire de l'éditer et de le configurer un poil :
les deux valeurs ci-dessous sont à configurer avec les répertoires d'installation de votre environnement arduino. La valeur par défaut de INSTALL_DIR correspond au chemin sous OSX, mais sous linux il doit y avoir un répertoire de base équivalent... INSTALL_LIB_DIR correspond au chemin vers les bibliothèques fournies avec l'environnement Arduino (qui est en général dans $(INSTALL_DIR)/libraries mais peut être déplacé dans un autre répertoire, selon les goûts du développeur).
- sous mac :
INSTALL_DIR = /Applications/Arduino.app/Contents/Resources/Java INSTALL_LIB_DIR = $(INSTALL_DIR)/libraries
- sous linux :
c'est la cata ! faut revoir tous les chemins...
- sous windows :
?
1. Section de configuration de l'arduino
Cette section configure les différents détails correspondant à votre arduino. Les options par défaut sont valides pour un Arduino Duemilanove et Uno. La chaîne VERSION doit correspondre à la version téléchargée de l'IDE (bien que ce ne soit pas un problème de la laisser telle quelle).
- la variable port peut être définie statiquement dans le fichier, ou manuellement (en la commentant) à l'extérieur du fichier, ce qui est utile lorsqu'on uploade un programme sur deux arduinos avec le même Makefile.
PORT=/dev/ttyUSB0
La configuration ci-dessous correspond aux chemins vers les bibliothèques utilisateurs. De même, le répertoire par défaut donné ci-dessous est celui d'OSX (encore). Pour inclure des bibliothèques en fonction du projet en cours, il suffit d'étendre $(LOCAL_CXX) et $(LOCAL_C) avec les chemins vers les fichiers C++ et C adéquats. Bien évidemment, il suffit de rajouter plus ou moins de fichiers séparés par une espace, si aucune bibliothèque n'est nécessaire, on peut laisser la variable vide (mais elle doit être présente).
LOCAL_LIB_DIR = $(HOME)/Documents/Arduino/libraries LOCAL_CXX = $(LOCAL_LIB_DIR)/EthernetDHCP/EthernetDHCP.cpp (LOCAL_LIB_DIR)/XXX/YYY.cpp LOCAL_C = $(LOCAL_LIB_DIR)/EthernetDHCP/utility/EthernetDhcpUtil.c
Utilisation
Lorsque vous créez un projet arduino, il faut faire en sorte qu'il y ai :
- un répertoire et un fichier « .pde » portant le même nom
MyArduinoProject |-- MyArduinoProject.pde `-- Makefile
dans ce répertoire, il suffit de taper :
% make
pour compiler le projet, ce qui va générer les binaires et les différents outputs :
MyArduinoProject |-- MyArduinoProject.pde |-- Makefile `-- applet |-- MyArduinoProject.cpp |-- MyArduinoProject.elf |-- MyArduinoProject.hex |-- MyArduinoProject.o `-- core.a
ensuite pour mettre à jour l'Arduino il faut taper :
% make upload
ou si vous n'avez pas configuré la variable $PORT dans le Makefile
% PORT=/dev/ttyUSB0 make upload
et vous pourrez découvrir avec bonheur ce que fait votre programme arduino !