commit 709adb2d48c8e3c393d2ebfe2482b9947cd2c1e9
parent a0e0c5c4a61329886b22e11ccac7626d8861bf79
Author: Florian Dold <florian@dold.me>
Date: Wed, 21 Jun 2023 09:44:02 +0200
repo: fix Makefiles / top-level 'make install' target
Diffstat:
5 files changed, 71 insertions(+), 14 deletions(-)
diff --git 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
@@ -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
@@ -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
@@ -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
@@ -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))