11PACKAGE_ID := $(shell awk -F"'" '/id:/ {print $$2}' startos/manifest.ts)
22INGREDIENTS := $(shell start-cli s9pk list-ingredients 2>/dev/null)
3- SYNAPSE_ADMIN_VERSION = v0.11.1-etke47
4- SYNAPSE_ADMIN_CHECKSUM = 9323ec6921f8170dc9fb65efdcd23e35fd2dea12c588cba34753b0492b7871c2
5-
6- CMD_ARCH_GOAL := $(filter aarch64 x86_64 arm x86, $(MAKECMDGOALS ) )
7- ifeq ($(CMD_ARCH_GOAL ) ,)
8- BUILD := universal
9- S9PK := $(PACKAGE_ID ) .s9pk
10- else
11- RAW_ARCH := $(firstword $(CMD_ARCH_GOAL ) )
12- ACTUAL_ARCH := $(patsubst x86,x86_64,$(patsubst arm,aarch64,$(RAW_ARCH ) ) )
13- BUILD := $(ACTUAL_ARCH )
14- S9PK := $(PACKAGE_ID ) _$(BUILD ) .s9pk
15- endif
16-
17- .PHONY : all aarch64 x86_64 arm x86 clean install check-deps check-init package ingredients
3+ SYNAPSE_ADMIN_VERSION = v0.11.1-etke50
4+ SYNAPSE_ADMIN_CHECKSUM = c2a6888db6e4ac2766f17be2bc703d284a7e5f6e8af1c1a7fda0af9ae44e06aa
5+
6+ .PHONY : all aarch64 x86_64 riscv64 arm arm64 x86 riscv arch/* clean install check-deps check-init package ingredients
187.DELETE_ON_ERROR :
8+ .SECONDARY :
199
2010define SUMMARY
2111 @manifest=$$(start-cli s9pk inspect $(1 ) manifest ) ; \
2212 size=$$(du -h $(1 ) | awk '{print $$1}' ) ; \
2313 title=$$(printf '%s' "$$manifest" | jq -r .title ) ; \
2414 version=$$(printf '%s' "$$manifest" | jq -r .version ) ; \
25- arches=$$(printf '%s' "$$manifest" | jq -r '.hardwareRequirements .arch | join(", " ) '); \
15+ arches=$$(printf '%s' "$$manifest" | jq -r '[.images[] .arch // []] | flatten | unique | join(", " ) '); \
2616 sdkv=$$(printf '%s' "$$manifest" | jq -r .sdkVersion ) ; \
2717 gitHash=$$(printf '%s' "$$manifest" | jq -r .gitHash | sed -E 's/(.*-modified ) $$/\x1b[0;31m\1\x1b[0m/'); \
2818 printf "\n"; \
@@ -39,30 +29,41 @@ define SUMMARY
3929endef
4030
4131all : $(PACKAGE_ID ) .s9pk
42- $(call SUMMARY,$(S9PK ) )
32+ $(call SUMMARY,$< )
33+
34+ arch/% : $(PACKAGE_ID ) _% .s9pk
35+ $(call SUMMARY,$< )
4336
44- $(BUILD ) : $(PACKAGE_ID ) _$(BUILD ) .s9pk
45- $(call SUMMARY,$(S9PK ) )
37+ x86 x86_64 : arch/x86_64
38+ arm arm64 aarch64 : arch/aarch64
39+ riscv riscv64 : arch/riscv64
4640
47- x86 : x86_64
48- arm : aarch64
41+ $(PACKAGE_ID ) .s9pk : $(INGREDIENTS ) .git/HEAD .git/index assets/synapse-admin
42+ @$(MAKE ) --no-print-directory ingredients
43+ @echo " Packing '$@ '..."
44+ start-cli s9pk pack -o $@
4945
50- $(S9PK ) : $(INGREDIENTS ) .git/HEAD .git/index assets/synapse-admin
46+ $(PACKAGE_ID ) _ % .s9pk : $(INGREDIENTS ) .git/HEAD .git/index assets/synapse-admin
5147 @$(MAKE ) --no-print-directory ingredients
52- @echo " Packing '$( S9PK ) '..."
53- BUILD= $( BUILD ) start-cli s9pk pack -o $( S9PK )
48+ @echo " Packing '$@ '..."
49+ start-cli s9pk pack --arch= $* - o $@
5450
5551ingredients : $(INGREDIENTS )
5652 @echo " Re-evaluating ingredients..."
5753
58- install : package | check-deps check-init
54+ install : | check-deps check-init
5955 @HOST=$$(awk -F'/' '/^host:/ {print $$3}' ~/.startos/config.yaml ) ; \
6056 if [ -z " $$ HOST" ]; then \
6157 echo " Error: You must define \" host: http://server-name.local\" in ~/.startos/config.yaml" ; \
6258 exit 1; \
6359 fi ; \
64- echo " \n🚀 Installing to $$ HOST ..." ; \
65- start-cli package install -s $(S9PK )
60+ S9PK=$$(ls -t *.s9pk 2>/dev/null | head -1 ) ; \
61+ if [ -z " $$ S9PK" ]; then \
62+ echo " Error: No .s9pk file found. Run 'make' first." ; \
63+ exit 1; \
64+ fi ; \
65+ printf " \n🚀 Installing %s to %s ...\n" " $$ S9PK" " $$ HOST" ; \
66+ start-cli package install -s " $$ S9PK"
6667
6768check-deps :
6869 @command -v start-cli > /dev/null || \
@@ -73,7 +74,7 @@ check-deps:
7374check-init :
7475 @if [ ! -f ~ /.startos/developer.key.pem ]; then \
7576 echo " Initializing StartOS developer environment..." ; \
76- start-cli init; \
77+ start-cli init-key ; \
7778 fi
7879
7980assets/synapse-admin : tmp/synapse-admin.tar.gz
@@ -96,4 +97,4 @@ package-lock.json: package.json
9697
9798clean :
9899 @echo " Cleaning up build artifacts..."
99- @rm -rf $(PACKAGE_ID ) .s9pk $(PACKAGE_ID ) _x86_64.s9pk $(PACKAGE_ID ) _aarch64.s9pk javascript assets/synapse-admin tmp node_modules
100+ @rm -rf $(PACKAGE_ID ) .s9pk $(PACKAGE_ID ) _x86_64.s9pk $(PACKAGE_ID ) _aarch64.s9pk $( PACKAGE_ID ) _riscv64.s9pk javascript assets/synapse-admin tmp node_modules
0 commit comments