CC ?= cc
CFLAGS ?= -O2 -g -std=c11 -Wall -Wextra -Werror
STARTUP_BUILD ?= build/startup
.PHONY: all link test startup-test freertos-test integration kernel-build kernel-test verify check-docs package
all: link
	$(MAKE) -C platform all
	$(MAKE) -C labs all
build/link-lab: src/link.c
	mkdir -p build
	$(CC) $(CFLAGS) $< -o $@
link: build/link-lab
test:
	$(MAKE) -C platform test feature-test public-test
	$(MAKE) -C labs test
	python3 scripts/mutation-check.py
	python3 scripts/check-counterexample.py
startup-test:
	$(MAKE) -C platform BUILD=../$(STARTUP_BUILD) all
	$(CC) $(CFLAGS) -DSDK_TEST_STARTUP -Iplatform/include platform/core/core.c platform/core/wire.c platform/runtime/linux/runtime.c platform/tests/runtime_test.c -pthread -o $(STARTUP_BUILD)/startup-test
	timeout 30 ./$(STARTUP_BUILD)/startup-test $(abspath $(STARTUP_BUILD)/device-sim)
freertos-test:
	$(MAKE) -C platform freertos-test
integration: link
	./scripts/network-integration.sh
	./scripts/drop-integration.sh
kernel-build:
	./kernel-labs/build-vm.sh
kernel-test:
	python3 kernel-labs/run-vm.py
check-docs:
	python3 scripts/check-docs.py
verify: test startup-test check-docs
package:
	python3 scripts/package.py
