Skip to content

Commit e4efc33

Browse files
committed
support -tc and -lc on Windows. Allow -lc on files outside of $MODDABLE
1 parent fef8fe2 commit e4efc33

File tree

2 files changed

+28
-10
lines changed

2 files changed

+28
-10
lines changed

tools/mcconfig/nmake.esp32.mk

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2016-2025 Moddable Tech, Inc.
2+
# Copyright (c) 2016-2026 Moddable Tech, Inc.
33
#
44
# This file is part of the Moddable SDK Tools.
55
#
@@ -474,13 +474,17 @@ DEBUGGER_SRC_FILE = $(PROJ_DIR)\main\debugger_none.c
474474
!IF "$(USE_USB)"=="1"
475475
DEBUGGER_SRC_FILE = $(PROJ_DIR)\main\debugger_tinyusb.c
476476
!ELSE
477+
!IF "$(ESP32_SUBCLASS)"=="esp32s3"
478+
DEBUGGER_SRC_FILE = $(PROJ_DIR)\main\debugger_uart_cdc.c
479+
!ELSE
477480
!IF "$(USE_USB)"=="2"
478481
DEBUGGER_SRC_FILE = $(PROJ_DIR)\main\debugger_cdc.c
479482
!ELSE
480483
DEBUGGER_SRC_FILE = $(PROJ_DIR)\main\debugger_uart.c
481484
!ENDIF
482485
!ENDIF
483486
!ENDIF
487+
!ENDIF
484488

485489
PARTITIONS_BIN = partition-table.bin
486490
PARTITIONS_PATH = $(BLD_DIR)\partition_table\$(PARTITIONS_BIN)
@@ -652,6 +656,9 @@ $(PROJ_DIR)\main\debugger_none.c: $(PROJ_DIR)\main $(PLATFORM_DIR)\lib\debugger\
652656
$(PROJ_DIR)\main\debugger_uart.c: $(PROJ_DIR)\main $(PLATFORM_DIR)\lib\debugger\debugger_uart.c
653657
copy $(PLATFORM_DIR)\lib\debugger\debugger_uart.c $@
654658

659+
$(PROJ_DIR)\main\debugger_uart_cdc.c: $(PROJ_DIR)\main $(PLATFORM_DIR)\lib\debugger\debugger_uart_cdc.c
660+
copy $(PLATFORM_DIR)\lib\debugger\debugger_uart_cdc.c $@
661+
655662
$(PROJ_DIR)\main\debugger_cdc.c: $(PROJ_DIR)\main $(PLATFORM_DIR)\lib\debugger\debugger_cdc.c
656663
copy $(PLATFORM_DIR)\lib\debugger\debugger_cdc.c $@
657664

tools/mcmanifest.js

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -731,23 +731,27 @@ otadata, data, ota, , ${OTADATA_SIZE},`;
731731

732732
if (tool.platform == "zephyr") {
733733
source = source.replaceAll("#", tool.escapedHash);
734+
const sourceDir = source.slice(0, source.lastIndexOf(tool.slash));
735+
const fileName = source.split(tool.slash).at(-1);
734736
var output = "${MODULES_DIR}" + tool.slash + target.replaceAll("#", tool.escapedHash);
735737
var outputPath = output.slice(0, output.lastIndexOf("/"));
736738
this.line("add_custom_command(");
737739
this.line("\tOUTPUT " + output);
738740
if (lintCheck)
739-
this.line("\tCOMMAND eslint " + source + " --config ${MODDABLE}/eslint.config.mjs");
741+
this.line(`\tCOMMAND eslint ${fileName} --config ${MODDABLE}/eslint.config.mjs`);
740742
this.line("\tCOMMAND xsc " + source + " " + options + " -e -o " + outputPath + " -r " + targetParts.name.replaceAll("#", tool.escapedHash));
741743
this.line("\tDEPENDS " + source + (typeCheck ? " ${TYPECHECK_FILE}" : ""));
742-
this.line("\tWORKING_DIRECTORY ${MODDABLE}");
744+
this.line(`\tWORKING_DIRECTORY ${sourceDir}`);
743745
this.line("\tVERBATIM)");
744746
this.line("");
745747
}
746748
else {
747749
this.line("$(MODULES_DIR)", tool.slash, target.replaceAll("#", tool.escapedHash), ": ", source.replaceAll("#", tool.escapedHash), typeCheck ? " $(MODULES_DIR)" + tool.slash + ".typeCheck" : "");
748750
if (lintCheck) {
749-
this.echo(tool, "eslint ", source.split(tool.slash).at(-1));
750-
this.line("\tcd $(MODDABLE) && eslint ", source, " --config $(MODDABLE)/eslint.config.mjs");
751+
const sourceDir = source.slice(0, source.lastIndexOf(tool.slash));
752+
const fileName = source.split(tool.slash).at(-1);
753+
this.echo(tool, `eslint ${fileName}`);
754+
this.line(`\tcd ${sourceDir} && eslint ${fileName} --config $(MODDABLE)/eslint.config.mjs`);
751755
}
752756
this.echo(tool, "xsc ", target);
753757
this.line("\txsc ", source, options, " -e -o $(@D) -r ", targetParts.name.replaceAll("#", "\\#"));
@@ -766,7 +770,10 @@ otadata, data, ota, , ${OTADATA_SIZE},`;
766770
this.line("$(MODULES_DIR)", tool.slash, ".typeCheck: " + sources.map(item => item.source).join(" "));
767771
this.echo(tool, "tsc ", "tsconfig-js.json", " (typeCheck JavaScript)");
768772
this.line("\t", tool.typescript.compiler, " -p $(MODULES_DIR)", tool.slash, "tsconfig-js.json");
769-
this.line("\t", "touch $(MODULES_DIR)", tool.slash, ".typeCheck");
773+
if (tool.windows)
774+
this.line(`\ttype nul >> $(MODULES_DIR)${tool.slash}.typeCheck`);
775+
else
776+
this.line("\t", "touch $(MODULES_DIR)", tool.slash, ".typeCheck");
770777
this.line("");
771778
}
772779
}
@@ -812,6 +819,8 @@ otadata, data, ota, , ${OTADATA_SIZE},`;
812819

813820
source = source.replaceAll("#", tool.escapedHash);
814821

822+
const sourceDir = source.slice(0, source.lastIndexOf(tool.slash));
823+
const fileName = source.split(tool.slash).at(-1);
815824
this.line("list(APPEND TYPESCRIPT_SOURCE_FILES");
816825
this.line("\t" + source);
817826
this.line(")");
@@ -823,10 +832,10 @@ otadata, data, ota, , ${OTADATA_SIZE},`;
823832
this.line("add_custom_command(");
824833
this.line("\tOUTPUT ${MODULES_DIR}", temporary.slice(0,-3), ".xsb");
825834
if (tool.lintCheck)
826-
this.line("\tCOMMAND eslint " + source + " --config ${MODDABLE}/eslint.config.mjs");
835+
this.line(`\tCOMMAND eslint ${fileName} --config ${MODDABLE}/eslint.config.mjs`);
827836
this.line("\tCOMMAND xsc ${MODULES_DIR}", temporary, options, " -e -o ${MODULES_DIR} -r ", targetParts.name.replaceAll("#", tool.escapedHash));
828837
this.line("\tDEPENDS ${MODULES_DIR}", temporary);
829-
this.line("\tWORKING_DIRECTORY ${MODDABLE}");
838+
this.line(`\tWORKING_DIRECTORY ${sourceDir}`);
830839
this.line("\tVERBATIM");
831840
this.line(")");
832841
this.line("");
@@ -841,8 +850,10 @@ otadata, data, ota, , ${OTADATA_SIZE},`;
841850
this.line("$(MODULES_DIR)", tool.slash, target.replaceAll("#", tool.escapedHash), ": $(MODULES_DIR)", temporary.replaceAll("#", tool.escapedHash));
842851

843852
if (tool.lintCheck) {
844-
this.echo(tool, "eslint ", source.split(tool.slash).at(-1));
845-
this.line("\tcd $(MODDABLE) && eslint ", source, " --config $(MODDABLE)/eslint.config.mjs");
853+
const sourceDir = source.slice(0, source.lastIndexOf(tool.slash));
854+
const fileName = source.split(tool.slash).at(-1);
855+
this.echo(tool, `eslint ${fileName}`);
856+
this.line(`\tcd ${sourceDir} && eslint ${fileName} --config $(MODDABLE)/eslint.config.mjs`);
846857
}
847858
this.echo(tool, "xsc ", target);
848859
var options = "";

0 commit comments

Comments
 (0)