-
Notifications
You must be signed in to change notification settings - Fork 192
Expand file tree
/
Copy pathMakefile
More file actions
50 lines (41 loc) · 2.56 KB
/
Copy pathMakefile
File metadata and controls
50 lines (41 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Top-level orchestrator. Shared vars/macros live in build/common.mk; each
# product owns its targets in <project>/build.mk. One make process, one DAG —
# includes (not recursive make) so cross-project prerequisites resolve.
# No default build target — bare `make` prints `help`; specify a target explicitly.
.DEFAULT_GOAL := help
include build/common.mk
include shared-libs/crates/start-core/build.mk
include shared-libs/ts-modules/build.mk
include projects/start-sdk/build.mk
include projects/start-cli/build.mk
include projects/start-registry/build.mk
include projects/start-tunnel/build.mk
include projects/start-os/build.mk
include projects/start-wrt/build.mk
include projects/start-docs/build.mk
.PHONY: help start-os metadata start-os-install clean format format-check start-cli-install start-cli start-cli-deb start-os-uis start-os-ui start-os-emulate-reflash start-os-deb start-os-$(IMAGE_TYPE) start-os-squashfs start-os-wormhole start-os-wormhole-deb start-os-update start-os-update-from-gha test start-core-test start-sdk-test container-runtime-test start-wrt-test start-registry start-registry-install start-tunnel start-tunnel-install start-core-ts-bindings
help:
@echo "No default target — specify one. Common targets:"
@echo " start-os start-os-deb start-os-squashfs start-os-ui start-os-uis start-os-install (StartOS)"
@echo " start-cli start-cli-deb start-registry start-tunnel start-wrt start-wrt-image (other products)"
@echo " test start-core-test start-sdk-test container-runtime-test start-wrt-test (tests)"
@echo " format format-check start-core-ts-bindings clean (tooling)"
@echo "See CONTRIBUTING.md for the full list."
touch:
touch $(STARTOS_TARGETS)
metadata: $(VERSION_FILE) $(PLATFORM_FILE) $(ENVIRONMENT_FILE) $(GIT_HASH_FILE)
# Per-project cleans live in each build.mk; this only aggregates them.
clean: start-core-clean web-clean start-sdk-clean start-cli-clean start-registry-clean start-tunnel-clean start-os-clean start-wrt-clean start-docs-clean
# Whole-repo formatting: rustfmt (pinned nightly, in a container), then prettier
# and taplo (pinned via npm, native). Per-project `<project>-format` targets format
# just one scope through the same tools/config.
format:
$(FMT) cargo fmt --all
npm --prefix . run format
npm --prefix . run format:toml
# Read-only verification (what CI runs); mirrors `format`.
format-check:
$(FMT) cargo fmt --all --check
npm --prefix . run format:check
npm --prefix . run format:toml:check
test: | start-core-test start-sdk-test container-runtime-test start-wrt-test