1
0

fix(Makefile): Fix indentations that were accidentally stripped out

This commit is contained in:
Aki Amane 2025-05-07 03:21:50 +08:00
parent 1b4744024b
commit 001f66ab5a
2 changed files with 39 additions and 36 deletions

5
.gitignore vendored
View File

@ -1,6 +1,9 @@
.idea
.flatpak-builder-cache
.ccache
flatpak-state
src/
target/
build/
*.flatpak
*.log
*.log

View File

@ -26,53 +26,53 @@ all: build
# Use .PHONY to ensure it always runs if called directly
.PHONY: prepare-sources
prepare-sources:
@echo "--- Preparing sources using prepare_sources.sh ---"
./prepare_sources.sh
./prepare_sources.sh --check-integrity
@echo "--- Preparing sources using prepare_sources.sh ---"
./prepare_sources.sh
./prepare_sources.sh --check-integrity
# Build the Docker image which runs flatpak-builder inside
# Implicitly depends on sources being ready after prepare-sources runs
.PHONY: build-image
build-image:
@echo "--- Building Aseprite Flatpak builder image (${IMAGE_NAME}) ---"
@docker build \
--build-arg UID=${USER_ID} \
--build-arg GID=${GROUP_ID} \
-t ${IMAGE_NAME} -f ${DOCKERFILE} .
@echo "--- Building Aseprite Flatpak builder image (${IMAGE_NAME}) ---"
@docker build \
--build-arg UID=${USER_ID} \
--build-arg GID=${GROUP_ID} \
-t ${IMAGE_NAME} -f ${DOCKERFILE} .
# Run flatpak-builder inside a privileged container with proper user permissions
.PHONY: run-flatpak-builder
run-flatpak-builder:
@echo "--- Running flatpak-builder inside container ---"
@mkdir -p ${BUILD_DIR} ${FLATPAK_STATE_DIR} ${FLATPAK_CACHE_DIR} ${CCACHE_DIR}
@docker run \
--rm \
--privileged \
--device /dev/fuse \
-u ${USER_ID}:${GROUP_ID} \
-v ${SRC_DIR}:/sources:ro \
-v ${BUILD_DIR}:/build \
-v ${FLATPAK_STATE_DIR}:/home/builder/.local/share/flatpak-builder \
-v ${FLATPAK_CACHE_DIR}:/home/builder/.cache/flatpak-builder \
-v ${CCACHE_DIR}:/home/builder/.cache/ccache \
-v ${PWD}/com.aseprite.Aseprite.yaml:/build/com.aseprite.Aseprite.yaml:ro \
-w /build \
${IMAGE_NAME} \
sh -c "flatpak-builder --disable-rofiles-fuse --state-dir=/home/builder/.local/share/flatpak-builder --ccache build-dir com.aseprite.Aseprite.yaml --repo=repo && if [ -d 'build-dir/files/third_party/externals/emsdk' ]; then rm -rf build-dir/files/third_party/externals/emsdk; fi"
@echo "--- Running flatpak-builder inside container ---"
@mkdir -p ${BUILD_DIR} ${FLATPAK_STATE_DIR} ${FLATPAK_CACHE_DIR} ${CCACHE_DIR}
@docker run \
--rm \
--privileged \
--device /dev/fuse \
-u ${USER_ID}:${GROUP_ID} \
-v ${SRC_DIR}:/sources:ro \
-v ${BUILD_DIR}:/build \
-v ${FLATPAK_STATE_DIR}:/home/builder/.local/share/flatpak-builder \
-v ${FLATPAK_CACHE_DIR}:/home/builder/.cache/flatpak-builder \
-v ${CCACHE_DIR}:/home/builder/.cache/ccache \
-v ${PWD}/com.aseprite.Aseprite.yaml:/build/com.aseprite.Aseprite.yaml:ro \
-w /build \
${IMAGE_NAME} \
sh -c "flatpak-builder --disable-rofiles-fuse --state-dir=/home/builder/.local/share/flatpak-builder --ccache build-dir com.aseprite.Aseprite.yaml --repo=repo && if [ -d 'build-dir/files/third_party/externals/emsdk' ]; then rm -rf build-dir/files/third_party/externals/emsdk; fi"
# Create the Flatpak bundle from the repo built in the previous step
.PHONY: create-bundle
create-bundle: run-flatpak-builder
@echo "--- Creating Flatpak bundle ---"
@docker run \
--rm \
--privileged \
--device /dev/fuse \
-u ${USER_ID}:${GROUP_ID} \
-v ${BUILD_DIR}:/build \
-w /build \
${IMAGE_NAME} \
sh -c "flatpak build-bundle repo aseprite.flatpak com.aseprite.Aseprite"
@echo "--- Creating Flatpak bundle ---"
@docker run \
--rm \
--privileged \
--device /dev/fuse \
-u ${USER_ID}:${GROUP_ID} \
-v ${BUILD_DIR}:/build \
-w /build \
${IMAGE_NAME} \
sh -c "flatpak build-bundle repo aseprite.flatpak com.aseprite.Aseprite"
# Copy the final bundle from the intermediate directory to the output directory
.PHONY: extract-flatpak
@ -89,7 +89,7 @@ prepare: prepare-sources build-image
# Main build target: Run builder, create bundle, extract
.PHONY: build
build: run-flatpak-builder create-bundle extract-flatpak
build: build-image run-flatpak-builder create-bundle extract-flatpak
@echo "--- Build complete ---"
# Clean up only the source files and downloaded content