# 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