summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2019-10-16 15:12:39 +1100
committerDamien George <damien.p.george@gmail.com>2019-10-21 23:01:41 +1100
commit8ba963cfa3da8e712e94c2429cfd6f064b1b4c69 (patch)
tree80ba4c57de3e596b2752d630621b6e5c1727ba06 /py
parent12413e92a3f938bdfe844bd65bf189ee1431e1d0 (diff)
tools/makemanifest.py: Eval relative paths w.r.t. current manifest file.
When loading a manifest file, e.g. by include(), it will chdir first to the directory of that manifest. This means that all file operations within a manifest are relative to that manifest's location. As a consequence of this, additional environment variables are needed to find absolute paths, so the following are added: $(MPY_LIB_DIR), $(PORT_DIR), $(BOARD_DIR). And rename $(MPY) to $(MPY_DIR) to be consistent. Existing manifests are updated to match.
Diffstat (limited to 'py')
-rw-r--r--py/mkenv.mk2
-rw-r--r--py/mkrules.mk2
2 files changed, 3 insertions, 1 deletions
diff --git a/py/mkenv.mk b/py/mkenv.mk
index 70d937c45..3efeb1816 100644
--- a/py/mkenv.mk
+++ b/py/mkenv.mk
@@ -66,6 +66,8 @@ MAKE_FROZEN = $(PYTHON) $(TOP)/tools/make-frozen.py
MPY_CROSS = $(TOP)/mpy-cross/mpy-cross
MPY_TOOL = $(PYTHON) $(TOP)/tools/mpy-tool.py
+MPY_LIB_DIR = $(TOP)/../micropython-lib
+
all:
.PHONY: all
diff --git a/py/mkrules.mk b/py/mkrules.mk
index 2a7e1980c..b43c6b8e3 100644
--- a/py/mkrules.mk
+++ b/py/mkrules.mk
@@ -100,7 +100,7 @@ $(HEADER_BUILD):
ifneq ($(FROZEN_MANIFEST),)
# to build frozen_content.c from a manifest
$(BUILD)/frozen_content.c: FORCE $(BUILD)/genhdr/qstrdefs.generated.h
- $(Q)$(MAKE_MANIFEST) -o $@ $(TOP) $(BUILD) "$(MPY_CROSS_FLAGS)" $(FROZEN_MANIFEST)
+ $(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)",) $(FROZEN_MANIFEST)
endif
ifneq ($(FROZEN_DIR),)