Pour éditer le wiki, il faut demander un compte à un Lapin !
Difference between revisions of "Makefile pour Arduino"
m (moved ArduinoMakefile to Makefile pour Arduino) |
(wikify, lien github) |
||
Line 1: | Line 1: | ||
− | + | Ce petit '''Makefile''' est devenu mon compagnon pour tous mes développements '''Arduino''', parce que bon, l'IDE arduino est insupportable pour le dev que je suis. Et parce que vim rulez ! <small>-- [[User:Guyzmo|Guyzmo]]</small> | |
− | + | == Télécharger le Makefile == | |
+ | |||
+ | * [[Media:Makefile_for_arduino.txt|Makefile_for_arduino.txt]] <small>(18/2/2011)</small> | ||
+ | * Dernière version sur https://github.com/LeLoop/Arduino-Tools | ||
== Configuration == | == Configuration == | ||
− | + | === Section des bibliothèques utilisateur === | |
− | Avant de l'utiliser, il est nécessaire de l'éditer et de le configurer un poil | + | 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. |
− | + | ; INSTALL_DIR : La valeur par défaut correspond au chemin sous OSX, mais sous linux il doit y avoir un répertoire de base équivalent... | |
+ | ; INSTALL_LIB_DIR : Cette variable correspond au chemin vers les bibliothèques fournies avec l'environnement Arduino (qui est en général dans {{fichier|$(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_DIR = /Applications/Arduino.app/Contents/Resources/Java |
− | INSTALL_LIB_DIR = $(INSTALL_DIR)/libraries | + | INSTALL_LIB_DIR = $(INSTALL_DIR)/libraries |
− | + | ||
+ | ==== Sous Linux ==== | ||
− | |||
c'est la cata ! faut revoir tous les chemins... | c'est la cata ! faut revoir tous les chemins... | ||
− | + | ==== Sous Windows ==== | |
+ | |||
? | ? | ||
− | + | === 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). | + | 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 <code>VERSION</code> 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 | + | * la variable <code>PORT</code> 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). | + | 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 <code>$(LOCAL_CXX)</code> et <code>$(LOCAL_C)</code> 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_LIB_DIR = $(HOME)/Documents/Arduino/libraries | + | LOCAL_CXX = $(LOCAL_LIB_DIR)/EthernetDHCP/EthernetDHCP.cpp (LOCAL_LIB_DIR)/XXX/YYY.cpp |
− | LOCAL_CXX = $(LOCAL_LIB_DIR)/EthernetDHCP/EthernetDHCP.cpp (LOCAL_LIB_DIR)/XXX/YYY.cpp | + | LOCAL_C = $(LOCAL_LIB_DIR)/EthernetDHCP/utility/EthernetDhcpUtil.c |
− | LOCAL_C = $(LOCAL_LIB_DIR)/EthernetDHCP/utility/EthernetDhcpUtil.c | + | |
− | + | ||
== Utilisation == | == Utilisation == | ||
− | Lorsque vous créez un projet arduino, il faut faire en sorte qu'il y | + | Lorsque vous créez un projet arduino, il faut faire en sorte qu'il y ait un répertoire et un fichier « .pde » portant le même nom : |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | MyArduinoProject | |
− | + | |-- MyArduinoProject.pde | |
+ | `-- Makefile | ||
− | pour compiler le projet, ce qui va générer les binaires et les différents outputs : | + | Dans ce répertoire, il suffit de taper la commande <code>make</code> 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 | % make upload | ||
− | ou si vous n'avez pas configuré la variable $PORT dans le Makefile | + | ou si vous n'avez pas configuré la variable <code>$PORT</code> dans le Makefile : |
% PORT=/dev/ttyUSB0 make upload | % PORT=/dev/ttyUSB0 make upload |
Latest revision as of 18:37, 9 February 2013
Ce petit Makefile est devenu mon compagnon pour tous mes développements Arduino, parce que bon, l'IDE arduino est insupportable pour le dev que je suis. Et parce que vim rulez ! -- Guyzmo
Contents
Télécharger le Makefile
- Makefile_for_arduino.txt (18/2/2011)
- Dernière version sur https://github.com/LeLoop/Arduino-Tools
Configuration
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.
- INSTALL_DIR
- La valeur par défaut correspond au chemin sous OSX, mais sous linux il doit y avoir un répertoire de base équivalent...
- INSTALL_LIB_DIR
- Cette variable 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
?
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 ait un répertoire et un fichier « .pde » portant le même nom :
MyArduinoProject |-- MyArduinoProject.pde `-- Makefile
Dans ce répertoire, il suffit de taper la commande 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 !