import collections import multiprocessing import os import platform # Make flavors, across the various kinds of Windows environments & POSIX... if "MSYSTEM" in os.environ: # MSYS MAKE_CMD = "make" MAKE_GENERATOR = "MSYS Makefiles" elif os.name == "nt": # other Windows MAKE_CMD = "mingw32-make" MAKE_GENERATOR = "MinGW Makefiles" elif platform.system() == "FreeBSD": MAKE_CMD = "gmake" MAKE_GENERATOR = "Unix Makefiles" else: MAKE_CMD = "make" MAKE_GENERATOR = "Unix Makefiles" GENERATORS = collections.OrderedDict([ # - command: build command line # - version: version command line # - dry_run: command to run in dry run mode # - verbose_flag: verbose flag ("Ninja", { "command": ["ninja"], "version": ["ninja", "--version"], "dry_run": ["ninja", "-n"], "verbose_flag": "-v" }), (MAKE_GENERATOR, { "command": [MAKE_CMD, "-j", str(multiprocessing.cpu_count() + 2)], "version": [MAKE_CMD, "--version"], "dry_run": [MAKE_CMD, "-n"], "verbose_flag": "VERBOSE=1", }) ]) SUPPORTED_TARGETS = ["esp32", "esp32s2"] PREVIEW_TARGETS = ["esp32s3", "esp32c3", "linux"]