From b440307b4a15a540413a7a9f699d388c7428a63c Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Fri, 21 Oct 2016 01:08:43 +0300
Subject: [PATCH] py/py.mk: Automatically add frozen.c to source list if
 FROZEN_DIR is defined.

Now frozen modules generation handled fully by py.mk and available for reuse
by any port.
---
 esp8266/Makefile | 6 +++---
 py/py.mk         | 4 ++++
 zephyr/Makefile  | 1 -
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/esp8266/Makefile b/esp8266/Makefile
index c57206c4d..5f0044df0 100644
--- a/esp8266/Makefile
+++ b/esp8266/Makefile
@@ -7,14 +7,15 @@ MICROPY_PY_USSL = 1
 MICROPY_SSL_AXTLS = 1
 MICROPY_PY_BTREE = 1
 
+FROZEN_DIR = scripts
+FROZEN_MPY_DIR = modules
+
 # include py core make definitions
 include ../py/py.mk
 
 MPY_CROSS = ../mpy-cross/mpy-cross
 MPY_TOOL = ../tools/mpy-tool.py
 
-FROZEN_DIR = scripts
-FROZEN_MPY_DIR = modules
 PORT ?= /dev/ttyACM0
 BAUD ?= 115200
 FLASH_MODE ?= qio
@@ -90,7 +91,6 @@ SRC_C = \
 	modmachine.c \
 	modonewire.c \
 	ets_alt_task.c \
-	$(BUILD)/frozen.c \
 	fatfs_port.c \
 	axtls_helpers.c \
 	hspi.c \
diff --git a/py/py.mk b/py/py.mk
index 8caa37f8a..ab07bbbde 100644
--- a/py/py.mk
+++ b/py/py.mk
@@ -237,6 +237,10 @@ PY_O_BASENAME = \
 # prepend the build destination prefix to the py object files
 PY_O = $(addprefix $(PY_BUILD)/, $(PY_O_BASENAME))
 
+ifneq ($(FROZEN_DIR),)
+PY_O += $(BUILD)/$(BUILD)/frozen.o
+endif
+
 # Sources that may contain qstrings
 SRC_QSTR_IGNORE = nlr% emitnx% emitnthumb% emitnarm%
 SRC_QSTR = $(SRC_MOD) $(addprefix py/,$(filter-out $(SRC_QSTR_IGNORE),$(PY_O_BASENAME:.o=.c)) emitnative.c)
diff --git a/zephyr/Makefile b/zephyr/Makefile
index 1db84cb32..9682dc5cc 100644
--- a/zephyr/Makefile
+++ b/zephyr/Makefile
@@ -41,7 +41,6 @@ SRC_C = main.c \
 	lib/utils/interrupt_char.c \
 	lib/utils/pyhelp.c \
 	lib/mp-readline/readline.c \
-	$(BUILD)/frozen.c \
 	$(SRC_MOD)
 
 # List of sources for qstr extraction
-- 
GitLab