Something went wrong. Try again.
A rewrite of the Plan 9 rc shell in Goose for UNIX-like systems and with structured CLI args
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697GOOSE ?= gooseGOOSE_CC ?= clangifneq ($(wildcard ../goose/stdlib/std.goose),)GOOSE_STDLIB ?= $(abspath ../goose/stdlib)export GOOSE_STDLIBendif
.PHONY: all check test test-debug test-compatibility bench bench-startup cleanPLAN9PORT_RC ?= /usr/local/plan9/bin/rcRAKITZIS_RC ?= .build/reference-rc/rcCOMPATIBILITY_REPORT ?= .build/compatibility.jsonall: $(GOOSE) build rc2.goose --cc $(GOOSE_CC) --standalone
check: $(GOOSE) check rc2.goose $(GOOSE) check tests.goose
test: all .build/terminal-driver bb tests/run.clj $(GOOSE) tests.goose bb tests/completion.clj bb tests/declarations.clj python3 tests/terminal.py python3 tests/stream.py bb tests/adversarial.clj python3 tests/memory.py python3 tests/signals.py node tests/history.mjs node tests/jobs.mjs node tests/editor.mjs node tests/prompt.mjs node tests/bind.mjs node tests/bind-context.mjs node tests/automatic.mjs node tests/groups.mjs node tests/positionals.mjs node tests/passthrough.mjs node tests/subcommands.mjs node tests/unix.mjs node tests/source-read.mjs node tests/source-signals.mjs node tests/compatibility-test.mjs node tests/startup.mjs node tests/profile.mjs node tests/cli.mjs node tests/conformance.mjs bb ci/release-test.clj
test-debug: .build/terminal-driver mkdir -p .build $(GOOSE) build --debug rc2.goose --cc $(GOOSE_CC) -o .build/rc2-debug bb tests/run.clj .build/rc2-debug $(GOOSE) --debug tests.goose bb tests/completion.clj .build/rc2-debug bb tests/declarations.clj .build/rc2-debug python3 tests/terminal.py .build/rc2-debug python3 tests/stream.py .build/rc2-debug bb tests/adversarial.clj .build/rc2-debug python3 tests/memory.py .build/rc2-debug python3 tests/signals.py .build/rc2-debug node tests/history.mjs .build/rc2-debug node tests/jobs.mjs .build/rc2-debug node tests/editor.mjs .build/rc2-debug node tests/prompt.mjs .build/rc2-debug node tests/bind.mjs .build/rc2-debug node tests/bind-context.mjs .build/rc2-debug node tests/automatic.mjs .build/rc2-debug node tests/groups.mjs .build/rc2-debug node tests/positionals.mjs .build/rc2-debug node tests/passthrough.mjs .build/rc2-debug node tests/subcommands.mjs .build/rc2-debug node tests/unix.mjs .build/rc2-debug node tests/source-read.mjs .build/rc2-debug node tests/source-signals.mjs .build/rc2-debug node tests/compatibility-test.mjs node tests/conformance.mjs .build/rc2-debug node tests/profile.mjs .build/rc2-debug node tests/cli.mjs .build/rc2-debug bb ci/release-test.clj
test-compatibility: all node tests/compatibility.mjs ./rc2 --reference plan9port="$(PLAN9PORT_RC)" --reference rakitzis="$(RAKITZIS_RC)" --report "$(COMPATIBILITY_REPORT)"
.build/terminal-driver: tests/terminal-driver.c mkdir -p .build $(GOOSE_CC) -Wall -Wextra -Werror -O2 $< -o $@
bench: all bb bench/run.clj
bench-startup: all node bench/startup.mjs rc2=./rc2 plan9port="$(PLAN9PORT_RC)" rakitzis="$(RAKITZIS_RC)"
clean: rm -f rc2