diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..b1103edaf --- /dev/null +++ b/Makefile @@ -0,0 +1,186 @@ +# This Makefile has been placed in the public domain. + +tsc = node_modules/typescript/bin/tsc +pogen = node_modules/@gnu-taler/pogen/bin/pogen.js +typedoc = node_modules/typedoc/bin/typedoc +ava = node_modules/.bin/ava +nyc = node_modules/nyc/bin/nyc.js +git-archive-all = ./build-system/taler-build-scripts/archive-with-submodules/git_archive_all.py + +include .config.mk + +# Let recursive Makefiles know that they're being invoked +# from the top-level makefile. +export TOPLEVEL := yes +export TOP_DESTDIR := $(abspath $(DESTDIR)) + +.PHONY: compile +compile: + pnpm install -r --frozen-lockfile + pnpm run compile + + +.PHONY: dist +dist: + $(git-archive-all) \ + --include ./configure \ + --include ./packages/taler-wallet-cli/configure \ + --include ./packages/anastasis-cli/configure \ + --include ./packages/bank-ui/configure \ + --include ./packages/taler-harness/configure \ + --include ./packages/merchant-backoffice-ui/configure \ + taler-wallet-$(shell git describe --tags --abbrev=0).tar.gz + +# Create tarball with git hash prefix in name +.PHONY: dist-git +dist-git: + $(git-archive-all) --include ./configure taler-wallet-$(shell git describe --tags).tar.gz + +.PHONY: publish +publish: + pnpm i -r --frozen-lockfile + pnpm run compile + pnpm publish -r --no-git-checks + + +.PHONY: prebuilt +prebuilt: + ./contrib/cleanup-prebuilt-dir.sh + make backoffice-prebuilt + make backend-prebuilt + make bank-prebuilt + make challenger-prebuilt + make aml-backoffice-prebuilt + make anastasis-prebuilt + ./contrib/publish-prebuilt-dir.sh + +.PHONY: anastasis-prebuilt +anastasis-prebuilt: + pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui... + pnpm run --filter @gnu-taler/anastasis-webui... build + ./contrib/copy-anastasis-into-prebuilt.sh + +.PHONY: backoffice-prebuilt +backoffice-prebuilt: + pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice-ui... + pnpm run --filter @gnu-taler/merchant-backoffice-ui... build + ./contrib/copy-backoffice-into-prebuilt.sh + +.PHONY: backend-prebuilt +backend-prebuilt: + pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backend-ui... + pnpm run --filter @gnu-taler/merchant-backend-ui... build + ./contrib/copy-backend-into-prebuilt.sh + +.PHONY: aml-backoffice-prebuilt +aml-backoffice-prebuilt: + pnpm install --frozen-lockfile --filter @gnu-taler/aml-backoffice-ui... + pnpm run --filter @gnu-taler/aml-backoffice-ui... build + ./contrib/copy-aml-backoffice-into-prebuilt.sh + +#.PHONY: auditor-backoffice-prebuilt +#auditor-backoffice-prebuilt: +# pnpm install --frozen-lockfile --filter @gnu-taler/auditor-backoffice-ui... +# pnpm run --filter @gnu-taler/auditor-backoffice-ui... build +# ./contrib/copy-auditor-backoffice-into-prebuilt.sh + +.PHONY: challenger-prebuilt +challenger-prebuilt: + pnpm install --frozen-lockfile --filter @gnu-taler/challenger-ui... + pnpm run --filter @gnu-taler/challenger-ui... build + ./contrib/copy-challenger-into-prebuilt.sh + +.PHONY: bank-prebuilt +bank-prebuilt: + pnpm install --frozen-lockfile --filter @gnu-taler/bank-ui... + pnpm run --filter @gnu-taler/bank-ui... build + ./contrib/copy-bank-into-prebuilt.sh + +# make documentation from docstrings +.PHONY: typedoc +typedoc: + $(typedoc) --out dist/typedoc --readme README + +.PHONY: clean +clean: + pnpm run clean + +.PHONY: submodules-update +submodules-update: + git submodule update --recursive --remote + +.PHONY: check +check: + pnpm install -r --frozen-lockfile + pnpm run compile + pnpm run check + +.PHONY: config-lib +config-lib: + pnpm install --frozen-lockfile --filter @gnu-taler/taler-config-lib... + cd ./packages/taler-config-lib/ && pnpm link -g + +.PHONY: anastasis-webui +anastasis-webui: + pnpm install --frozen-lockfile --filter . --filter @gnu-taler/anastasis-webui... + pnpm run --filter @gnu-taler/anastasis-webui... build + +.PHONY: anastasis-webui-dist +anastasis-webui-dist: anastasis-webui + (cd packages/anastasis-webui/dist/prod && zip -r - ./*) > anastasis-webui.zip + + +.PHONY: anastasis-webui-dev +anastasis-webui-dev: + pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui... + pnpm run --filter @gnu-taler/anastasis-webui... dev + +.PHONY: webextension +webextension: + pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension... + pnpm run --filter @gnu-taler/taler-wallet-webextension... compile + cd ./packages/taler-wallet-webextension/ && ./pack.sh prod + +.PHONY: webextension-dev +webextension-dev: + pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension... + pnpm run --filter @gnu-taler/taler-wallet-webextension... dev + +.PHONY: embedded +embedded: + pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-embedded... + pnpm run --filter @gnu-taler/taler-wallet-embedded... compile + @echo built packages/taler-wallet-embedded/dist/taler-wallet-core-qjs.mjs + +.PHONY: lint +lint: + ./node_modules/.bin/eslint --ext '.js,.ts,.tsx' 'src' + + +.PHONY: install +# Build and install everything +install: + pnpm install --frozen-lockfile + pnpm run compile + $(MAKE) -C packages/taler-wallet-cli install-nodeps + $(MAKE) -C packages/anastasis-cli install-nodeps + $(MAKE) -C packages/taler-harness install-nodeps + $(MAKE) -C packages/bank-ui install-nodeps + $(MAKE) -C packages/merchant-backoffice-ui install-nodeps + $(MAKE) -C packages/aml-backoffice-ui install-nodeps + $(MAKE) -C packages/auditor-backoffice-ui install-nodeps + + +.PHONY: install-tools +# Install taler-wallet-cli, anastasis-cli and taler-harness +install-tools: + pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness... + pnpm run --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness... compile + $(MAKE) -C packages/taler-wallet-cli install-nodeps + $(MAKE) -C packages/anastasis-cli install-nodeps + $(MAKE) -C packages/taler-harness install-nodeps + +.PHONY: check-migration + +check-migration: + taler-harness advanced wallet-dbcheck contrib/wallet-testdata/wallet-dbgen-0.9.4-dev.8 |