2020-03-02 10:07:49 -05:00
|
|
|
import collections
|
2019-10-03 12:26:44 -04:00
|
|
|
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"
|
|
|
|
|
2020-03-02 10:07:49 -05:00
|
|
|
GENERATORS = collections.OrderedDict([
|
2019-11-08 10:46:02 -05:00
|
|
|
# - command: build command line
|
|
|
|
# - version: version command line
|
|
|
|
# - dry_run: command to run in dry run mode
|
|
|
|
# - verbose_flag: verbose flag
|
2020-03-02 10:07:49 -05:00
|
|
|
("Ninja", {
|
2019-11-08 10:46:02 -05:00
|
|
|
"command": ["ninja"],
|
|
|
|
"version": ["ninja", "--version"],
|
|
|
|
"dry_run": ["ninja", "-n"],
|
|
|
|
"verbose_flag": "-v"
|
2020-03-02 10:07:49 -05:00
|
|
|
}),
|
|
|
|
(MAKE_GENERATOR, {
|
2019-11-08 10:46:02 -05:00
|
|
|
"command": [MAKE_CMD, "-j", str(multiprocessing.cpu_count() + 2)],
|
|
|
|
"version": [MAKE_CMD, "--version"],
|
|
|
|
"dry_run": [MAKE_CMD, "-n"],
|
|
|
|
"verbose_flag": "VERBOSE=1",
|
2020-03-02 10:07:49 -05:00
|
|
|
})
|
|
|
|
])
|
2019-10-03 12:26:44 -04:00
|
|
|
|
|
|
|
SUPPORTED_TARGETS = ["esp32", "esp32s2beta"]
|