circuitpython/mpy-cross
Jeff Epler ead2554c78 mpy-cross: Silently clone when building for static-raspbian
Also move the construct earlier.  This prevents the message
```
make: pitools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc: Command not found
```
from occurring during the first build, since make was evaluating the line
```
mpy-cross.mk:COMPILER_TARGET := $(shell $(CC) -dumpmachine)
```
before $(CC) was created by the clone.  Nothing bad seems to have come of
this, but it's nice to fix it anyhow.  (And interesting that it was lost
among the spewed messages we're removing now)
2020-08-16 21:26:24 -05:00
..
.gitignore Add license to some obvious files. 2020-07-06 19:16:25 +01:00
fmode.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
fmode.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
gccollect.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
main.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
Makefile Add license to some obvious files. 2020-07-06 19:16:25 +01:00
Makefile.fuzz Add license to some obvious files. 2020-07-06 19:16:25 +01:00
Makefile.static Add license to some obvious files. 2020-07-06 19:16:25 +01:00
Makefile.static-mingw Add license to some obvious files. 2020-07-06 19:16:25 +01:00
Makefile.static-raspbian mpy-cross: Silently clone when building for static-raspbian 2020-08-16 21:26:24 -05:00
mpconfigport.h add coroutine behavior for generators 2020-07-23 20:40:16 -07:00
mphalport.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
mpy-cross.mk mpy-cross: fix dependency analysis 2020-08-02 20:42:10 -05:00
qstrdefsport.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
README.md Add license to some obvious files. 2020-07-06 19:16:25 +01:00

MicroPython cross compiler

This directory contains the MicroPython cross compiler, which runs under any Unix-like system and compiles .py scripts into .mpy files.

Build it as usual:

$ make

The compiler is called mpy-cross. Invoke it as:

$ ./mpy-cross foo.py

This will create a file foo.mpy which can then be copied to a place accessible by the target MicroPython runtime (eg onto a pyboard's filesystem), and then imported like any other Python module using import foo.

Different target runtimes may require a different format of the compiled bytecode, and such options can be passed to the cross compiler. For example, the unix port of MicroPython requires the following:

$ ./mpy-cross -mcache-lookup-bc foo.py

Run ./mpy-cross -h to get a full list of options.