0cf12dd59c
The parts that are generic are added to py/ so they can be used by other ports that use CMake. py/usermod.cmake: * Creates a usermod target to hang user C/CXX modules from. * Gathers sources from user C/CXX modules and libs for QSTR scan. ports/rp2/CMakeLists.txt: * Includes py/usermod.cmake. * Links the resulting usermod library to the MicroPython target. py/mkrules.cmake: Add cxxflags to qstr.i.last custom command for CXX modules: * MICROPY_CPP_FLAGS so CXX modules will find includes. * -DNO_QSTR to fix fatal error missing "genhdr/qstrdefs.generated.h". Usage: The rp2 port can be linked against user C modules by running: make USER_C_MODULES=/path/to/module/micropython.cmake CMake will print a list of included modules. Co-authored-by: Graham Sanderson <graham.sanderson@raspberrypi.org> Co-authored-by: Michael O'Cleirigh <michael.ocleirigh@rivulet.ca> Signed-off-by: Phil Howard <phil@pimoroni.com>
21 lines
368 B
Makefile
21 lines
368 B
Makefile
# Makefile for micropython on Raspberry Pi RP2
|
|
#
|
|
# This is a simple wrapper around cmake
|
|
|
|
BUILD = build
|
|
|
|
$(VERBOSE)MAKESILENT = -s
|
|
|
|
CMAKE_ARGS =
|
|
|
|
ifdef USER_C_MODULES
|
|
CMAKE_ARGS += -DUSER_C_MODULES=${USER_C_MODULES}
|
|
endif
|
|
|
|
all:
|
|
[ -d $(BUILD) ] || cmake -S . -B $(BUILD) -DPICO_BUILD_DOCS=0 ${CMAKE_ARGS}
|
|
$(MAKE) $(MAKESILENT) -C $(BUILD)
|
|
|
|
clean:
|
|
$(RM) -rf $(BUILD)
|