summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
Diffstat (limited to 'py')
-rw-r--r--py/mkenv.mk3
-rw-r--r--py/mkrules.cmake7
-rw-r--r--py/mkrules.mk7
3 files changed, 15 insertions, 2 deletions
diff --git a/py/mkenv.mk b/py/mkenv.mk
index 2b247974b..cc04a8c0b 100644
--- a/py/mkenv.mk
+++ b/py/mkenv.mk
@@ -57,7 +57,8 @@ MAKE_MANIFEST = $(PYTHON) $(TOP)/tools/makemanifest.py
MAKE_FROZEN = $(PYTHON) $(TOP)/tools/make-frozen.py
MPY_TOOL = $(PYTHON) $(TOP)/tools/mpy-tool.py
-MPY_LIB_DIR = $(TOP)/../micropython-lib
+MPY_LIB_SUBMODULE_DIR = $(TOP)/lib/micropython-lib
+MPY_LIB_DIR = $(MPY_LIB_SUBMODULE_DIR)
ifeq ($(MICROPY_MPYCROSS),)
MICROPY_MPYCROSS = $(TOP)/mpy-cross/mpy-cross
diff --git a/py/mkrules.cmake b/py/mkrules.cmake
index d7be0f934..2f168ede6 100644
--- a/py/mkrules.cmake
+++ b/py/mkrules.cmake
@@ -180,7 +180,12 @@ if(MICROPY_FROZEN_MANIFEST)
# Note: target_compile_definitions already added earlier.
if(NOT MICROPY_LIB_DIR)
- set(MICROPY_LIB_DIR ${MICROPY_DIR}/../micropython-lib)
+ string(CONCAT GIT_SUBMODULES "${GIT_SUBMODULES} " lib/micropython-lib)
+ set(MICROPY_LIB_DIR ${MICROPY_DIR}/lib/micropython-lib)
+ endif()
+
+ if(NOT (${ECHO_SUBMODULES}) AND NOT EXISTS ${MICROPY_LIB_DIR}/README.md)
+ message(FATAL_ERROR " micropython-lib not initialized.\n Run 'make BOARD=${MICROPY_BOARD} submodules'")
endif()
# If MICROPY_MPYCROSS is not explicitly defined in the environment (which
diff --git a/py/mkrules.mk b/py/mkrules.mk
index a7c437386..41ec4b064 100644
--- a/py/mkrules.mk
+++ b/py/mkrules.mk
@@ -174,8 +174,15 @@ $(error Support for FROZEN_MPY_DIR was removed. Please use manifest.py instead,
endif
ifneq ($(FROZEN_MANIFEST),)
+# If we're using the default submodule path for micropython-lib, then make
+# sure it's included in "make submodules".
+ifeq ($(MPY_LIB_DIR),$(MPY_LIB_SUBMODULE_DIR))
+GIT_SUBMODULES += lib/micropython-lib
+endif
+
# to build frozen_content.c from a manifest
$(BUILD)/frozen_content.c: FORCE $(BUILD)/genhdr/qstrdefs.generated.h $(BUILD)/genhdr/root_pointers.h | $(MICROPY_MPYCROSS_DEPENDENCY)
+ $(Q)test -e "$(MPY_LIB_DIR)/README.md" || (echo "Error: micropython-lib not initialized. Run 'make submodules'"; false)
$(Q)$(MAKE_MANIFEST) -o $@ -v "MPY_DIR=$(TOP)" -v "MPY_LIB_DIR=$(MPY_LIB_DIR)" -v "PORT_DIR=$(shell pwd)" -v "BOARD_DIR=$(BOARD_DIR)" -b "$(BUILD)" $(if $(MPY_CROSS_FLAGS),-f"$(MPY_CROSS_FLAGS)",) --mpy-tool-flags="$(MPY_TOOL_FLAGS)" $(FROZEN_MANIFEST)
endif