Arduino is actually a specification. Workflow as see-the-source spec: 1. [ ] all `.ino`/`.pde` is concatenated together (not sure about feature usability) 2. [x] resulting file is preprocessed (insert `#include "Arduino.h"` just before first statement) 3. [x] add folders to compiler includes by header name (see apla/brackets-cuwire#10) — cada84c 4. [x] compile cores and variants, make archive 5. [x] compile every `.c`/`.cpp` file in libraries 6. [x] compile every `.c`/`.cpp` file in project 7. [x] link all together 8. [x] check size Actual specifications: 1. [3rd party hardware spec](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification) not fully implemented - [x] support alias in boards. [guide](https://github.com/arduino/Arduino/wiki/Arduino-Hardware-Cores-migration-guide-from-1.0-to-1.6) — 02ea24b Hacks as specifications: 1. [ ] `platform.local.txt` to override value in `platform.txt` 2. [ ] reading arduino preferences (mine is ~/Library/Arduino15/preferences.txt) — at least [sketchbook folder](https://github.com/apla/brackets-cuwire/issues/9)
Arduino is actually a specification.
Workflow as see-the-source spec:
.ino/.pdeis concatenated together (not sure about feature usability)#include "Arduino.h"just before first statement).c/.cppfile in libraries.c/.cppfile in projectActual specifications:
Hacks as specifications:
platform.local.txtto override value inplatform.txt