summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2022-06-29 16:27:17 +0700
committerGitHub <[email protected]>2022-06-29 16:27:17 +0700
commit19956f070d4dbf75b7fe4e8108e20837a70007f4 (patch)
tree00a0a245c2a58cbb8b7d04ba5aea87bcc46f5fd4 /tools
parent39069cf4be84a4cd1f1a4f3435ea69e606d2b064 (diff)
parent158b3d761d4c0f1da8d60b63d43664e1f52a286d (diff)
Merge pull request #1539 from hathach/improve-ci
Improve ci
Diffstat (limited to 'tools')
-rw-r--r--tools/build_family.py2
-rw-r--r--tools/build_utils.py45
2 files changed, 27 insertions, 20 deletions
diff --git a/tools/build_family.py b/tools/build_family.py
index 095ca4ff7..680411eab 100644
--- a/tools/build_family.py
+++ b/tools/build_family.py
@@ -48,7 +48,7 @@ all_families.sort()
def build_family(example, family):
all_boards = []
for entry in os.scandir("hw/bsp/{}/boards".format(family)):
- if entry.is_dir():
+ if entry.is_dir() and entry.name != 'pico_sdk':
all_boards.append(entry.name)
filter_with_input(all_boards)
all_boards.sort()
diff --git a/tools/build_utils.py b/tools/build_utils.py
index 299fffa4d..d570d20e3 100644
--- a/tools/build_utils.py
+++ b/tools/build_utils.py
@@ -3,27 +3,34 @@ import pathlib
def skip_example(example, board):
ex_dir = pathlib.Path('examples/') / example
bsp = pathlib.Path("hw/bsp")
-
- board_dir = list(bsp.glob("*/boards/" + board))
- if not board_dir:
- # Skip unknown boards
- return True
-
- board_dir = list(board_dir)[0]
- family_dir = board_dir.parent.parent
- family = family_dir.name
-
- # family CMake
- family_mk = family_dir / "family.cmake"
-
- # family.mk
- if not family_mk.exists():
- family_mk = family_dir / "family.mk"
-
- mk_contents = family_mk.read_text()
+ if (bsp / board / "board.mk").exists():
+ # board without family
+ board_dir = bsp / board
+ family = ""
+ mk_contents = ""
+ else:
+ # board within family
+ board_dir = list(bsp.glob("*/boards/" + board))
+ if not board_dir:
+ # Skip unknown boards
+ return True
+
+ board_dir = list(board_dir)[0]
+
+ family_dir = board_dir.parent.parent
+ family = family_dir.name
+
+ # family CMake
+ family_mk = family_dir / "family.cmake"
+
+ # family.mk
+ if not family_mk.exists():
+ family_mk = family_dir / "family.mk"
+
+ mk_contents = family_mk.read_text()
- # Find the mcu
+ # Find the mcu, first in family mk then board mk
if "CFG_TUSB_MCU=OPT_MCU_" not in mk_contents:
board_mk = board_dir / "board.cmake"
if not board_mk.exists():