84 lines
1.8 KiB
Makefile
84 lines
1.8 KiB
Makefile
SRCS=$(shell find src -name "*.newt")
|
|
|
|
.PHONY:
|
|
|
|
all: build/newt.js
|
|
|
|
newt2: build/newt2.js
|
|
|
|
newt3: build/newt3.js
|
|
|
|
test: build/newt.js
|
|
scripts/test
|
|
|
|
cheztest: build/newt.so
|
|
make test NEWT='chez --program build/newt.so' RUNOUT="chez --script" OUTFILE=tmp/out.ss
|
|
|
|
aoctest: build/newt.js
|
|
scripts/aoc
|
|
scripts/aoc25
|
|
|
|
lsp: newt-vscode-lsp/dist/lsp.js playground/src/newt.js
|
|
|
|
# build / install new LSP vscode extension
|
|
vscode-lsp vscode: lsp
|
|
cd newt-vscode-lsp && vsce package && code --install-extension *.vsix
|
|
|
|
playground: .PHONY
|
|
cd playground && ./build
|
|
|
|
profile: .PHONY
|
|
rm isolate* build/*
|
|
node --prof build/newt.js -o build/newt2.js src/Main.newt
|
|
node --prof-process isolate* > profile.txt
|
|
|
|
clean:
|
|
rm build/*
|
|
|
|
audit: .PHONY
|
|
(cd playground && npm audit)
|
|
(cd newt-vscode && npm audit)
|
|
(cd newt-vscode-lsp && npm audit)
|
|
|
|
##
|
|
|
|
build:
|
|
mkdir -p build
|
|
|
|
src/Revision.newt: .PHONY build
|
|
sh ./scripts/mkrevision
|
|
|
|
build/newt.js: ${SRCS} src/Revision.newt build
|
|
node bootstrap/newt.js src/Main.newt -o build/newt.js
|
|
|
|
build/newt2.js: build/newt.js
|
|
node build/newt.js src/Main.newt -o build/newt2.js
|
|
|
|
build/newt3.js: build/newt2.js
|
|
time node build/newt2.js src/Main.newt -o build/newt3.js
|
|
cmp build/newt2.js build/newt3.js
|
|
|
|
build/newt.ss: build/newt.js
|
|
node build/newt.js src/Main.newt -o build/newt.ss
|
|
|
|
build/newt.so: build/newt.ss prim.ss
|
|
chez --script scripts/compile-chez.ss
|
|
|
|
build/newt2.ss: build/newt.so
|
|
time chez --program build/newt.so src/Main.newt -o build/newt2.ss
|
|
|
|
build/lsp.js: ${SRCS} build/newt.js
|
|
node build/newt.js src/LSP.newt -o build/lsp.js
|
|
|
|
newt-vscode-lsp/src/newt.js: build/lsp.js
|
|
cp build/lsp.js $@
|
|
|
|
playground/src/newt.js: build/lsp.js
|
|
cp build/lsp.js $@
|
|
|
|
newt-vscode-lsp/dist/lsp.js: newt-vscode-lsp/src/lsp.ts newt-vscode-lsp/src/newt.js
|
|
(cd newt-vscode-lsp && node esbuild.js)
|
|
chmod +x $@
|
|
|
|
|