diff --git a/Makefile b/Makefile index 20e8d886c..b4a24c5e3 100644 --- a/Makefile +++ b/Makefile @@ -115,12 +115,20 @@ lint: ./node_modules/.bin/eslint --ext '.js,.ts,.tsx' 'src' -install: compile - @echo Please run \'make install\' from one of the directories in packages/\' +.PHONY: install +# Build and install everything +install: + pnpm install + pnpm run compile + make -C packages/taler-wallet-cli TOPLEVEL=yes install-nodeps + make -C packages/taler-harness TOPLEVEL=yes install-nodeps + make -C packages/demobank-ui TOPLEVEL=yes install-nodeps + make -C packages/merchant-backoffice-ui TOPLEVEL=yes install-nodeps +.PHONY: install-tools # Install taler-wallet-cli and taler-harness install-tools: pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/taler-harness... pnpm run --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/taler-harness... compile - make -C packages/taler-wallet-cli install-nodeps - make -C packages/taler-harness install-nodeps + make -C packages/taler-wallet-cli TOPLEVEL=yes install-nodeps + make -C packages/taler-harness TOPLEVEL=yes install-nodeps diff --git a/packages/demobank-ui/Makefile b/packages/demobank-ui/Makefile index 11a71f589..fc570b270 100644 --- a/packages/demobank-ui/Makefile +++ b/packages/demobank-ui/Makefile @@ -1,17 +1,35 @@ # This Makefile has been placed in the public domain -# Settings from "./configure" -include .config.mk +ifeq ($(TOPLEVEL), yes) + $(info top-level build) + -include ../../.config.mk +else + $(info package-level build) + -include ../../.config.mk + -include .config.mk +endif +$(info prefix is $(prefix)) + +.PHONY: all all: @echo run \'make install\' to install spa_dir=$(prefix)/share/taler/demobank-ui -install: +.PHONY: deps +deps: pnpm install --frozen-lockfile --filter @gnu-taler/demobank-ui... pnpm run check pnpm run build + +.PHONY: install-nodeps +install-nodeps: install -d $(spa_dir) install ./dist/prod/* $(spa_dir) +.PHONY: install +install: + $(MAKE) deps + $(MAKE) install-nodeps + diff --git a/packages/merchant-backoffice-ui/Makefile b/packages/merchant-backoffice-ui/Makefile index 48e13f59e..1f7e0bf2b 100644 --- a/packages/merchant-backoffice-ui/Makefile +++ b/packages/merchant-backoffice-ui/Makefile @@ -1,15 +1,34 @@ # This Makefile has been placed in the public domain -# Settings from "./configure" -include .config.mk +ifeq ($(TOPLEVEL), yes) + $(info top-level build) + -include ../../.config.mk +else + $(info package-level build) + -include ../../.config.mk + -include .config.mk +endif +$(info prefix is $(prefix)) + +.PHONY: all all: @echo run \'make install\' to install spa_dir=$(prefix)/share/taler/merchant-backoffice -install: +.PHONY: deps +deps: pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice... pnpm run build + +.PHONY: install-nodeps +install-nodeps: (cd dist/prod && find . -type f -exec install -D "{}" "$(spa_dir)/{}" \;) + +.PHONY: install +install: + $(MAKE) deps + $(MAKE) install-nodeps + diff --git a/packages/taler-harness/Makefile b/packages/taler-harness/Makefile index a7dc2d049..ed8365dc8 100644 --- a/packages/taler-harness/Makefile +++ b/packages/taler-harness/Makefile @@ -1,7 +1,13 @@ # This Makefile has been placed in the public domain. --include ../../.config.mk -#include .config.mk +ifeq ($(TOPLEVEL), yes) + $(info top-level build) + -include ../../.config.mk +else + $(info package-level build) + -include ../../.config.mk + -include .config.mk +endif $(info prefix is $(prefix)) diff --git a/packages/taler-wallet-cli/Makefile b/packages/taler-wallet-cli/Makefile index 7e42667a3..df2de4d7c 100644 --- a/packages/taler-wallet-cli/Makefile +++ b/packages/taler-wallet-cli/Makefile @@ -1,7 +1,13 @@ # This Makefile has been placed in the public domain. --include ../../.config.mk -#include .config.mk +ifeq ($(TOPLEVEL), yes) + $(info top-level build) + -include ../../.config.mk +else + $(info package-level build) + -include ../../.config.mk + -include .config.mk +endif $(info prefix is $(prefix))