refactor: update build environment

refactored to stick to my UNIX principles, in addition to exposing a cleaner GNU
Make interface
This commit is contained in:
Rodney, Tiara 2025-04-25 18:43:19 +02:00
parent 219f877888
commit fcec0ee5b1
No known key found for this signature in database
GPG key ID: 5CD8EC1D46106723
5 changed files with 1061 additions and 3520 deletions

View file

@ -1,28 +1,40 @@
NPM=npm
.PHONY: configure chore build dist test publish doc
.PHONY: configure chore package-lock.json publish dist
all: chore
all: dist
chore: configure
tags:
ctags -R --exclude=node_modules --exclude=vendor --exclude=docs \
--exclude=*.js --exclude=*.htm* --exclude=*.json --exclude=src/style
chore: configure package-lock.json
configure:
autoconf
build:
$(NPM) run build
build/release/: node_modules/ src/ tsconfig.json
$(NPM) run build:release
test:
$(NPM) run test
build/debug/: node_modules/ src/ tsconfig.debug.json
$(NPM) run build:debug
doc:
build/doc/: node_modules/ src/ typedoc.json tsconfig.json
$(NPM) run doc
dist:
$(NPM) run dist
test-reports/: node_modules/ tests/ src/ jest.config.mjs
$(NPM) run test
publish:
$(NPM) run mypublish -- -r '$(NPM_REGISTRY)'
dist: build/release/ build/doc/
$(NPM) run dist -- build/doc/
publish: node_modules/ tsconfig.node.json
$(NPM) run publish_ -- -r '$(NPM_REGISTRY)'
# necessary when using a local npm mirror/proxy
package-lock.json: package.json
rm -rf package-lock.json
npm install --registry=https://registry.npmjs.org
clean:
rm -rvf configure~ config.log config.status autom4te.cache build dist