From 8b8c0c7c2ac40cd729a9eeb39189c184978b6d57 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Thu, 23 May 2024 21:36:54 -0400 Subject: checkwps: Validate translated strings (%Sx) In verbose mode it will log valid the strings found, otherwise it will only complain when we encounter a missing string. Unfortunately a missing string is not inherently a problem, due to conditional expressions. So all we can do is complain in checkwps or if wps debugging is turned on. Meanwhile, this is the first step in actually enumerating the translated strings used by themes. Change-Id: Ia93b333085e825d5b085c4d372ad8e13aa3e3ba1 --- tools/checkwps/checkwps.make | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) (limited to 'tools/checkwps/checkwps.make') diff --git a/tools/checkwps/checkwps.make b/tools/checkwps/checkwps.make index 3004bbc2ed..ce02ce3ffd 100644 --- a/tools/checkwps/checkwps.make +++ b/tools/checkwps/checkwps.make @@ -4,14 +4,14 @@ # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ # \/ \/ \/ \/ \/ -# $Id$ -# + +ENGLISH := english # Use global GCCOPTS GCCOPTS += -D__PCTOOL__ -DCHECKWPS CHECKWPS_SRC = $(call preprocess, $(TOOLSDIR)/checkwps/SOURCES) -CHECKWPS_OBJ = $(call c2obj,$(CHECKWPS_SRC)) +CHECKWPS_OBJ = $(call c2obj,$(CHECKWPS_SRC)) $(BUILDDIR)/lang/lang_core.o OTHER_SRC += $(CHECKWPS_SRC) @@ -29,7 +29,9 @@ INCLUDES = -I$(ROOTDIR)/apps/gui \ -I$(ROOTDIR)/lib/rbcodec/metadata \ -I$(ROOTDIR)/lib/rbcodec/dsp \ -I$(APPSDIR) \ - -I$(BUILDDIR) + -I$(BUILDDIR) \ + -I$(BUILDDIR)/lang \ + $(TARGET_INC) .SECONDEXPANSION: # $$(OBJ) is not populated until after this @@ -37,3 +39,32 @@ $(BUILDDIR)/$(BINARY): $$(CHECKWPS_OBJ) $$(CORE_LIBS) @echo LD $(BINARY) $(SILENT)$(HOSTCC) -o $@ $+ $(INCLUDE) $(GCCOPTS) \ -L$(BUILDDIR)/lib $(call a2lnk,$(CORE_LIBS)) + +#### Everything below is hacked in from apps.make and lang.make + +$(BUILDDIR)/apps/features: $(ROOTDIR)/apps/features.txt + $(SILENT)mkdir -p $(BUILDDIR)/apps + $(SILENT)mkdir -p $(BUILDDIR)/lang + $(call PRINTS,PP $( $(BUILDDIR)/apps/features; \ + +$(BUILDDIR)/apps/genlang-features: $(BUILDDIR)/apps/features + $(call PRINTS,GEN $(subst $(BUILDDIR)/,,$@))tr \\n : < $< > $@ + +$(BUILDDIR)/lang_enum.h: $(BUILDDIR)/lang/lang.h $(TOOLSDIR)/genlang + +$(BUILDDIR)/lang/lang.h: $(ROOTDIR)/apps/lang/$(ENGLISH).lang $(BUILDDIR)/apps/features $(TOOLSDIR)/genlang + $(call PRINTS,GEN lang.h) + $(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \ + perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang -t=$(MODELNAME)$$feat $< + +$(BUILDDIR)/lang/lang_core.c: $(BUILDDIR)/lang/lang.h $(TOOLSDIR)/genlang + +$(BUILDDIR)/lang/lang_core.o: $(BUILDDIR)/lang/lang.h $(BUILDDIR)/lang/lang_core.c + $(call PRINTS,CC lang_core.c)$(CC) $(CFLAGS) -c $(BUILDDIR)/lang/lang_core.c -o $@ + +$(BUILDDIR)/lang/max_language_size.h: $(BUILDDIR)/lang/lang.h + $(call PRINTS,GEN $(subst $(BUILDDIR)/,,$@)) + $(SILENT)echo "#define MAX_LANGUAGE_SIZE 131072" > $@ -- cgit v1.2.3