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