Files
start-os/sdk/Makefile

77 lines
2.0 KiB
Makefile

PACKAGE_TS_FILES := $(shell git ls-files package/lib)
BASE_TS_FILES := $(shell git ls-files base/lib)
version = $(shell git tag --sort=committerdate | tail -1)
.PHONY: test base/test package/test clean bundle fmt buildOutput check
all: bundle
package/test: $(PACKAGE_TS_FILES) package/node_modules base/node_modules
cd package && npm test
base/test: $(BASE_TS_FILES) base/node_modules
cd base && npm test
test: base/test package/test
clean:
rm -rf base/node_modules
rm -rf dist
rm -rf baseDist
rm -f package/lib/test/output.ts
rm -rf package/node_modules
bundle: baseDist dist | test fmt
touch dist
base/lib/exver/exver.ts: base/node_modules base/lib/exver/exver.pegjs
cd base && npm run peggy
baseDist: $(PACKAGE_TS_FILES) $(BASE_TS_FILES) base/package.json base/node_modules base/README.md base/LICENSE
(cd base && npm run tsc)
rsync -ac base/node_modules baseDist/
cp base/package.json baseDist/package.json
cp base/README.md baseDist/README.md
cp base/LICENSE baseDist/LICENSE
touch baseDist
dist: $(PACKAGE_TS_FILES) $(BASE_TS_FILES) package/package.json package/.npmignore package/node_modules package/README.md package/LICENSE
(cd package && npm run tsc)
rsync -ac package/node_modules dist/
cp package/.npmignore dist/.npmignore
cp package/package.json dist/package.json
cp package/README.md dist/README.md
cp package/LICENSE dist/LICENSE
touch dist
full-bundle: bundle
check:
cd package
npm run check
cd ../base
npm run check
fmt: package/node_modules base/node_modules
npx --prefix base prettier "**/*.ts" --write
package/package-lock.json: package/package.json
cd package && npm i
base/package-lock.json: base/package.json
cd base && npm i
package/node_modules: package/package-lock.json
cd package && npm ci
base/node_modules: base/package-lock.json
cd base && npm ci
node_modules: package/node_modules base/node_modules
publish: bundle package/package.json package/README.md package/LICENSE
cd dist && npm publish --access=public --tag=latest
link: bundle
cd dist && npm link