58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
SHELL := bash
 | 
						|
CPU_CORES := $(shell N=$$(nproc); echo $$(( $$N > 4 ? 4 : $$N )))
 | 
						|
 | 
						|
BAKE_FILES = \
 | 
						|
	docker-bake.json \
 | 
						|
	docker-bake.api.json \
 | 
						|
	docker-bake.front.json
 | 
						|
 | 
						|
docker-bake.%.json:
 | 
						|
	./scripts/build_metadata.py --format bake --bake-target $* --bake-image docker.io/funkwhale/$* > $@
 | 
						|
 | 
						|
docker-metadata: $(BAKE_FILES)
 | 
						|
 | 
						|
docker-build: docker-metadata
 | 
						|
	docker buildx bake $(foreach FILE,$(BAKE_FILES), --file $(FILE)) --print $(BUILD_ARGS)
 | 
						|
	docker buildx bake $(foreach FILE,$(BAKE_FILES), --file $(FILE)) 		 $(BUILD_ARGS)
 | 
						|
 | 
						|
build-metadata:
 | 
						|
	./scripts/build_metadata.py --format env | tee build_metadata.env
 | 
						|
 | 
						|
BUILD_DIR = dist
 | 
						|
package:
 | 
						|
	rm -Rf $(BUILD_DIR)
 | 
						|
	mkdir -p $(BUILD_DIR)
 | 
						|
	tar --create --gunzip --file='$(BUILD_DIR)/funkwhale-api.tar.gz' \
 | 
						|
		--owner='root' \
 | 
						|
		--group='root' \
 | 
						|
		--exclude-vcs \
 | 
						|
		api/config \
 | 
						|
		api/funkwhale_api \
 | 
						|
		api/install_os_dependencies.sh \
 | 
						|
		api/manage.py \
 | 
						|
		api/poetry.lock \
 | 
						|
		api/pyproject.toml \
 | 
						|
		api/Readme.md
 | 
						|
 | 
						|
	cd '$(BUILD_DIR)' && \
 | 
						|
	tar --extract --gunzip --file='funkwhale-api.tar.gz' && \
 | 
						|
	zip -q 'funkwhale-api.zip' -r api && \
 | 
						|
	rm -Rf api
 | 
						|
 | 
						|
	tar --create --gunzip --file='$(BUILD_DIR)/funkwhale-front.tar.gz' \
 | 
						|
		--owner='root' \
 | 
						|
		--group='root' \
 | 
						|
		--exclude-vcs \
 | 
						|
		--transform='s/^front\/dist/front/' \
 | 
						|
		front/dist
 | 
						|
 | 
						|
	cd '$(BUILD_DIR)' && \
 | 
						|
	tar --extract --gunzip --file='funkwhale-front.tar.gz' && \
 | 
						|
	zip -q 'funkwhale-front.zip' -r front && \
 | 
						|
	rm -Rf front
 | 
						|
 | 
						|
	cd '$(BUILD_DIR)' && \
 | 
						|
	cp ../front/tauri/target/release/bundle/appimage/funkwhale_*.AppImage FunkwhaleDesktop.AppImage
 | 
						|
 | 
						|
	cd '$(BUILD_DIR)' && sha256sum * > SHA256SUMS
 |