# 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 kyc-prebuilt make challenger-prebuilt make aml-backoffice-prebuilt make anastasis-prebuilt make auditor-prebuilt ./contrib/publish-prebuilt-dir.sh # RELEASE prebuilt .PHONY: anastasis-prebuilt anastasis-prebuilt: pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui... pnpm run --filter @gnu-taler/anastasis-webui... compile ./contrib/copy-anastasis-into-prebuilt.sh .PHONY: backoffice-prebuilt backoffice-prebuilt: pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice-ui... pnpm run --filter @gnu-taler/merchant-backoffice-ui... compile ./contrib/copy-backoffice-into-prebuilt.sh .PHONY: backend-prebuilt backend-prebuilt: pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backend-ui... pnpm run --filter @gnu-taler/merchant-backend-ui... compile ./contrib/copy-backend-into-prebuilt.sh .PHONY: aml-backoffice-prebuilt aml-backoffice-prebuilt: pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/aml-backoffice-ui... pnpm run --filter @gnu-taler/aml-backoffice-ui... compile ./contrib/copy-aml-backoffice-into-prebuilt.sh .PHONY: kyc-prebuilt kyc-prebuilt: pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/kyc-ui... pnpm run --filter @gnu-taler/kyc-ui... compile ./contrib/copy-kyc-into-prebuilt.sh .PHONY: challenger-prebuilt challenger-prebuilt: pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/challenger-ui... pnpm run --filter @gnu-taler/challenger-ui... compile ./contrib/copy-challenger-into-prebuilt.sh .PHONY: bank-prebuilt bank-prebuilt: pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/bank-ui... pnpm run --filter @gnu-taler/bank-ui... compile ./contrib/copy-bank-into-prebuilt.sh .PHONY: auditor-prebuilt auditor-prebuilt: pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/auditor-backoffice-ui... pnpm run --filter @gnu-taler/auditor-backoffice-ui... compile ./contrib/copy-auditor-backoffice-into-prebuilt.sh # DEV prebuilt .PHONY: anastasis-dev-prebuilt anastasis-dev-prebuilt: ./contrib/cleanup-prebuilt-dir.sh ./contrib/next-dev-version.sh packages/anastasis-webui/package.json pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui... pnpm run --filter @gnu-taler/anastasis-webui... compile git ci -am "new prebuilt dev" && git push ./contrib/copy-anastasis-into-prebuilt.sh ./contrib/publish-prebuilt-dir.sh .PHONY: backoffice-dev-prebuilt backoffice-dev-prebuilt: ./contrib/cleanup-prebuilt-dir.sh ./contrib/next-dev-version.sh packages/merchant-backoffice-ui/package.json pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice-ui... pnpm run --filter @gnu-taler/merchant-backoffice-ui... compile git ci -am "new prebuilt dev" && git push ./contrib/copy-backoffice-into-prebuilt.sh ./contrib/publish-prebuilt-dir.sh .PHONY: backend-dev-prebuilt backend-dev-prebuilt: ./contrib/cleanup-prebuilt-dir.sh ./contrib/next-dev-version.sh packages/merchant-backend-ui/package.json pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backend-ui... pnpm run --filter @gnu-taler/merchant-backend-ui... compile git ci -am "new prebuilt dev" && git push ./contrib/copy-backend-into-prebuilt.sh ./contrib/publish-prebuilt-dir.sh .PHONY: aml-backoffice-dev-prebuilt aml-backoffice-dev-prebuilt: ./contrib/cleanup-prebuilt-dir.sh ./contrib/next-dev-version.sh packages/aml-backoffice-ui/package.json pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/aml-backoffice-ui... pnpm run --filter @gnu-taler/aml-backoffice-ui... compile git ci -am "new prebuilt dev" && git push ./contrib/copy-aml-backoffice-into-prebuilt.sh ./contrib/publish-prebuilt-dir.sh .PHONY: kyc-dev-prebuilt kyc-dev-prebuilt: ./contrib/cleanup-prebuilt-dir.sh ./contrib/next-dev-version.sh packages/kyc-ui/package.json pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/kyc-ui... pnpm run --filter @gnu-taler/kyc-ui... compile git ci -am "new prebuilt dev" && git push ./contrib/copy-kyc-into-prebuilt.sh ./contrib/publish-prebuilt-dir.sh .PHONY: auditor-dev-prebuilt auditor-dev-prebuilt: ./contrib/cleanup-prebuilt-dir.sh ./contrib/next-dev-version.sh packages/auditor-backoffice-ui/package.json pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/auditor-backoffice-ui... pnpm run --filter @gnu-taler/auditor-backoffice-ui... compile git ci -am "new prebuilt dev" && git push ./contrib/copy-auditor-backoffice-into-prebuilt.sh ./contrib/publish-prebuilt-dir.sh .PHONY: challenger-dev-prebuilt challenger-dev-prebuilt: ./contrib/cleanup-prebuilt-dir.sh ./contrib/next-dev-version.sh packages/challenger-ui/package.json pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/challenger-ui... pnpm run --filter @gnu-taler/challenger-ui... compile git ci -am "new prebuilt dev" && git push ./contrib/copy-challenger-into-prebuilt.sh ./contrib/publish-prebuilt-dir.sh .PHONY: bank-dev-prebuilt bank-dev-prebuilt: ./contrib/cleanup-prebuilt-dir.sh ./contrib/next-dev-version.sh packages/bank-ui/package.json pnpm clean pnpm install --frozen-lockfile --filter @gnu-taler/bank-ui... pnpm run --filter @gnu-taler/bank-ui... compile git ci -am "new prebuilt dev" && git push ./contrib/copy-bank-into-prebuilt.sh ./contrib/publish-prebuilt-dir.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... compile .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