From d76c65f599b77aa275eda3d2248cde16f6be7e10 Mon Sep 17 00:00:00 2001 From: Jan Čapek Date: Thu, 10 Mar 2016 09:22:41 +0000 Subject: py: Add rules for automated extraction of qstrs from sources. - add template rule that converts a specified source file into a qstring file - add special rule for generating a central header that contains all extracted/autogenerated strings - defined by QSTR_DEFS_COLLECTED variable. Each platform appends a list of sources that may contain qstrings into a new build variable: SRC_QSTR. Any autogenerated prerequisities are should be appened to SRC_QSTR_AUTO_DEPS variable. - remove most qstrings from py/qstrdefs, keep only qstrings that contain special characters - these cannot be easily detected in the sources without additional annotations - remove most manual qstrdefs, use qstrdef autogen for: py, cc3200, stmhal, teensy, unix, windows, pic16bit: - remove all micropython generic qstrdefs except for the special strings that contain special characters (e.g. /,+,<,> etc.) - remove all port specific qstrdefs except for special strings - append sources for qstr generation in platform makefiles (SRC_QSTR) --- pic16bit/Makefile | 6 ++++++ pic16bit/qstrdefsport.h | 16 ---------------- 2 files changed, 6 insertions(+), 16 deletions(-) (limited to 'pic16bit') diff --git a/pic16bit/Makefile b/pic16bit/Makefile index a16a26386..cfe8af86e 100644 --- a/pic16bit/Makefile +++ b/pic16bit/Makefile @@ -49,6 +49,12 @@ SRC_S = \ OBJ = $(PY_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o) $(SRC_S:.s=.o)) +# List of sources for qstr extraction +SRC_QSTR += $(SRC_C) +# Append any auto-generated sources that are needed by sources listed in +# SRC_QSTR +SRC_QSTR_AUTO_DEPS += + all: $(BUILD)/firmware.hex $(BUILD)/firmware.hex: $(BUILD)/firmware.elf diff --git a/pic16bit/qstrdefsport.h b/pic16bit/qstrdefsport.h index f532bb0b0..3ba897069 100644 --- a/pic16bit/qstrdefsport.h +++ b/pic16bit/qstrdefsport.h @@ -1,17 +1 @@ // qstrs specific to this port - -Q(pyb) -Q(millis) -Q(elapsed_millis) -Q(delay) -Q(LED) -Q(on) -Q(off) -Q(toggle) -Q(Switch) -Q(value) -Q(readall) -Q(readinto) -Q(readline) -Q(readlines) -Q(FileIO) -- cgit v1.2.3