Makefile (9767B)
1 # This Makefile has been placed in the public domain. 2 3 tsc = node_modules/typescript/bin/tsc 4 pogen = node_modules/@gnu-taler/pogen/bin/pogen.js 5 typedoc = node_modules/typedoc/bin/typedoc 6 ava = node_modules/.bin/ava 7 nyc = node_modules/nyc/bin/nyc.js 8 git-archive-all = ./build-system/taler-build-scripts/archive-with-submodules/git_archive_all.py 9 10 include .config.mk 11 12 # Let recursive Makefiles know that they're being invoked 13 # from the top-level makefile. 14 export TOPLEVEL := yes 15 export TOP_DESTDIR := $(abspath $(DESTDIR)) 16 17 .PHONY: compile 18 compile: 19 pnpm install -r --frozen-lockfile 20 pnpm run compile 21 22 23 .PHONY: dist 24 dist: 25 $(git-archive-all) \ 26 --include ./configure \ 27 --include ./packages/taler-wallet-cli/configure \ 28 --include ./packages/anastasis-cli/configure \ 29 --include ./packages/bank-ui/configure \ 30 --include ./packages/taler-harness/configure \ 31 --include ./packages/merchant-backoffice-ui/configure \ 32 taler-wallet-$(shell git describe --tags --abbrev=0).tar.gz 33 34 # Create tarball with git hash prefix in name 35 .PHONY: dist-git 36 dist-git: 37 $(git-archive-all) --include ./configure taler-wallet-$(shell git describe --tags).tar.gz 38 39 .PHONY: publish 40 publish: 41 pnpm i -r --frozen-lockfile 42 pnpm run compile 43 pnpm publish -r --no-git-checks 44 45 .PHONY: prebuilt 46 prebuilt: 47 ./contrib/cleanup-prebuilt-dir.sh 48 make backoffice-prebuilt 49 make backend-prebuilt 50 make bank-prebuilt 51 make kyc-prebuilt 52 make challenger-prebuilt 53 make aml-backoffice-prebuilt 54 make anastasis-prebuilt 55 make auditor-prebuilt 56 ./contrib/publish-prebuilt-dir.sh 57 58 # RELEASE prebuilt 59 60 .PHONY: anastasis-prebuilt 61 anastasis-prebuilt: 62 pnpm clean 63 pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui... 64 pnpm run --filter @gnu-taler/anastasis-webui... compile 65 ./contrib/copy-anastasis-into-prebuilt.sh 66 67 .PHONY: backoffice-prebuilt 68 backoffice-prebuilt: 69 pnpm clean 70 pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice-ui... 71 pnpm run --filter @gnu-taler/merchant-backoffice-ui... compile 72 ./contrib/copy-backoffice-into-prebuilt.sh 73 74 .PHONY: backend-prebuilt 75 backend-prebuilt: 76 pnpm clean 77 pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backend-ui... 78 pnpm run --filter @gnu-taler/merchant-backend-ui... compile 79 ./contrib/copy-backend-into-prebuilt.sh 80 81 .PHONY: aml-backoffice-prebuilt 82 aml-backoffice-prebuilt: 83 pnpm clean 84 pnpm install --frozen-lockfile --filter @gnu-taler/aml-backoffice-ui... 85 pnpm run --filter @gnu-taler/aml-backoffice-ui... compile 86 ./contrib/copy-aml-backoffice-into-prebuilt.sh 87 88 .PHONY: kyc-prebuilt 89 kyc-prebuilt: 90 pnpm clean 91 pnpm install --frozen-lockfile --filter @gnu-taler/kyc-ui... 92 pnpm run --filter @gnu-taler/kyc-ui... compile 93 ./contrib/copy-kyc-into-prebuilt.sh 94 95 .PHONY: challenger-prebuilt 96 challenger-prebuilt: 97 pnpm clean 98 pnpm install --frozen-lockfile --filter @gnu-taler/challenger-ui... 99 pnpm run --filter @gnu-taler/challenger-ui... compile 100 ./contrib/copy-challenger-into-prebuilt.sh 101 102 .PHONY: bank-prebuilt 103 bank-prebuilt: 104 pnpm clean 105 pnpm install --frozen-lockfile --filter @gnu-taler/bank-ui... 106 pnpm run --filter @gnu-taler/bank-ui... compile 107 ./contrib/copy-bank-into-prebuilt.sh 108 109 .PHONY: auditor-prebuilt 110 auditor-prebuilt: 111 pnpm clean 112 pnpm install --frozen-lockfile --filter @gnu-taler/auditor-backoffice-ui... 113 pnpm run --filter @gnu-taler/auditor-backoffice-ui... compile 114 ./contrib/copy-auditor-backoffice-into-prebuilt.sh 115 116 # DEV prebuilt 117 118 .PHONY: anastasis-dev-prebuilt 119 anastasis-dev-prebuilt: 120 ./contrib/cleanup-prebuilt-dir.sh 121 ./contrib/next-dev-version.sh packages/anastasis-webui/package.json 122 pnpm clean 123 pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui... 124 pnpm run --filter @gnu-taler/anastasis-webui... compile 125 git commit -am "new prebuilt dev" && git push 126 ./contrib/copy-anastasis-into-prebuilt.sh 127 ./contrib/publish-prebuilt-dir.sh 128 129 .PHONY: backoffice-dev-prebuilt 130 backoffice-dev-prebuilt: 131 ./contrib/cleanup-prebuilt-dir.sh 132 ./contrib/next-dev-version.sh packages/merchant-backoffice-ui/package.json 133 pnpm clean 134 pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice-ui... 135 pnpm run --filter @gnu-taler/merchant-backoffice-ui... compile 136 git commit -am "new prebuilt dev" && git push 137 ./contrib/copy-backoffice-into-prebuilt.sh 138 ./contrib/publish-prebuilt-dir.sh 139 140 .PHONY: backend-dev-prebuilt 141 backend-dev-prebuilt: 142 ./contrib/cleanup-prebuilt-dir.sh 143 ./contrib/next-dev-version.sh packages/merchant-backend-ui/package.json 144 pnpm clean 145 pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backend-ui... 146 pnpm run --filter @gnu-taler/merchant-backend-ui... compile 147 git commit -am "new prebuilt dev" && git push 148 ./contrib/copy-backend-into-prebuilt.sh 149 ./contrib/publish-prebuilt-dir.sh 150 151 .PHONY: aml-backoffice-dev-prebuilt 152 aml-backoffice-dev-prebuilt: 153 ./contrib/cleanup-prebuilt-dir.sh 154 ./contrib/next-dev-version.sh packages/aml-backoffice-ui/package.json 155 pnpm clean 156 pnpm install --frozen-lockfile --filter @gnu-taler/aml-backoffice-ui... 157 pnpm run --filter @gnu-taler/aml-backoffice-ui... compile 158 git commit -am "new prebuilt dev" && git push 159 ./contrib/copy-aml-backoffice-into-prebuilt.sh 160 ./contrib/publish-prebuilt-dir.sh 161 162 .PHONY: kyc-dev-prebuilt 163 kyc-dev-prebuilt: 164 ./contrib/cleanup-prebuilt-dir.sh 165 ./contrib/next-dev-version.sh packages/kyc-ui/package.json 166 pnpm clean 167 pnpm install --frozen-lockfile --filter @gnu-taler/kyc-ui... 168 pnpm run --filter @gnu-taler/kyc-ui... compile 169 git commit -am "new prebuilt dev" && git push 170 ./contrib/copy-kyc-into-prebuilt.sh 171 ./contrib/publish-prebuilt-dir.sh 172 173 .PHONY: auditor-dev-prebuilt 174 auditor-dev-prebuilt: 175 ./contrib/cleanup-prebuilt-dir.sh 176 ./contrib/next-dev-version.sh packages/auditor-backoffice-ui/package.json 177 pnpm clean 178 pnpm install --frozen-lockfile --filter @gnu-taler/auditor-backoffice-ui... 179 pnpm run --filter @gnu-taler/auditor-backoffice-ui... compile 180 git commit -am "new prebuilt dev" && git push 181 ./contrib/copy-auditor-backoffice-into-prebuilt.sh 182 ./contrib/publish-prebuilt-dir.sh 183 184 .PHONY: challenger-dev-prebuilt 185 challenger-dev-prebuilt: 186 ./contrib/cleanup-prebuilt-dir.sh 187 ./contrib/next-dev-version.sh packages/challenger-ui/package.json 188 pnpm clean 189 pnpm install --frozen-lockfile --filter @gnu-taler/challenger-ui... 190 pnpm run --filter @gnu-taler/challenger-ui... compile 191 git commit -am "new prebuilt dev" && git push 192 ./contrib/copy-challenger-into-prebuilt.sh 193 ./contrib/publish-prebuilt-dir.sh 194 195 .PHONY: bank-dev-prebuilt 196 bank-dev-prebuilt: 197 ./contrib/cleanup-prebuilt-dir.sh 198 ./contrib/next-dev-version.sh packages/bank-ui/package.json 199 pnpm clean 200 pnpm install --frozen-lockfile --filter @gnu-taler/bank-ui... 201 pnpm run --filter @gnu-taler/bank-ui... compile 202 git commit -am "new prebuilt dev" && git push 203 ./contrib/copy-bank-into-prebuilt.sh 204 ./contrib/publish-prebuilt-dir.sh 205 206 # make documentation from docstrings 207 .PHONY: typedoc 208 typedoc: 209 $(typedoc) --out dist/typedoc --readme README 210 211 .PHONY: clean 212 clean: 213 pnpm run clean 214 215 .PHONY: submodules-update 216 submodules-update: 217 git submodule update --recursive --remote 218 219 .PHONY: check 220 check: 221 pnpm install -r --frozen-lockfile 222 pnpm run compile 223 pnpm run check 224 225 .PHONY: config-lib 226 config-lib: 227 pnpm install --frozen-lockfile --filter @gnu-taler/taler-config-lib... 228 cd ./packages/taler-config-lib/ && pnpm link -g 229 230 .PHONY: anastasis-webui 231 anastasis-webui: 232 pnpm install --frozen-lockfile --filter . --filter @gnu-taler/anastasis-webui... 233 pnpm run --filter @gnu-taler/anastasis-webui... compile 234 235 .PHONY: anastasis-webui-dist 236 anastasis-webui-dist: anastasis-webui 237 (cd packages/anastasis-webui/dist/prod && zip -r - ./*) > anastasis-webui.zip 238 239 240 .PHONY: anastasis-webui-dev 241 anastasis-webui-dev: 242 pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui... 243 pnpm run --filter @gnu-taler/anastasis-webui... dev 244 245 .PHONY: webextension 246 webextension: 247 pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension... 248 pnpm run --filter @gnu-taler/taler-wallet-webextension... compile 249 cd ./packages/taler-wallet-webextension/ && ./pack.sh prod 250 251 .PHONY: webextension-dev 252 webextension-dev: 253 pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension... 254 pnpm run --filter @gnu-taler/taler-wallet-webextension... dev 255 256 .PHONY: embedded 257 embedded: 258 pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-embedded... 259 pnpm run --filter @gnu-taler/taler-wallet-embedded... compile 260 @echo built packages/taler-wallet-embedded/dist/taler-wallet-core-qjs.mjs 261 262 .PHONY: lint 263 lint: 264 ./node_modules/.bin/eslint --ext '.js,.ts,.tsx' 'src' 265 266 267 .PHONY: install 268 # Build and install everything 269 install: 270 pnpm install --frozen-lockfile 271 pnpm run compile 272 $(MAKE) -C packages/taler-wallet-cli install-nodeps 273 $(MAKE) -C packages/anastasis-cli install-nodeps 274 $(MAKE) -C packages/taler-harness install-nodeps 275 $(MAKE) -C packages/bank-ui install-nodeps 276 $(MAKE) -C packages/merchant-backoffice-ui install-nodeps 277 $(MAKE) -C packages/aml-backoffice-ui install-nodeps 278 $(MAKE) -C packages/auditor-backoffice-ui install-nodeps 279 280 281 .PHONY: install-tools 282 # Install taler-wallet-cli, anastasis-cli and taler-harness 283 install-tools: 284 pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness... 285 pnpm run --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness... compile 286 $(MAKE) -C packages/taler-wallet-cli install-nodeps 287 $(MAKE) -C packages/anastasis-cli install-nodeps 288 $(MAKE) -C packages/taler-harness install-nodeps 289 290 .PHONY: gana 291 gana: 292 ./contrib/gana_update.sh 293 294 .PHONY: check-migration 295 check-migration: 296 taler-harness advanced wallet-dbcheck contrib/wallet-testdata/wallet-dbgen-0.9.4-dev.8