[ion/sdl] Proper dependency tracking for multi-arch projects

This commit is contained in:
Romain Goyet
2019-03-08 17:20:15 +01:00
parent c718792657
commit a214e9d6f9
3 changed files with 17 additions and 9 deletions

View File

@@ -1,7 +1,13 @@
$(BUILD_DIR)/app/libs/%/libepsilon.so: $$(@D)/.
# Makefile is loaded for a single architecture at once. If NDK_ABI is not
# defined, we assume we want to build all of them. But in that case, we cannot
# track per-ABI dependencies. So as a shortcut, we force a re-make of each ABI.
.PHONY: force_rebuild_libepsilon
$(BUILD_DIR)/app/libs/%/libepsilon.so: force_rebuild_libepsilon
$(Q) echo "MAKE NDK_ABI=$*"
$(Q) $(MAKE) NDK_ABI=$* epsilon.so
$(Q) cp build/sdl/android/$*/epsilon.so $@
$(Q) cp $(BUILD_DIR)/$*/epsilon.so $@
NDK_ABIS = arm64-v8a x86_64
@@ -11,8 +17,6 @@ epsilon.apk: $(patsubst %,$(BUILD_DIR)/app/libs/%/libepsilon.so,$(NDK_ABIS))
$(Q) ANDROID_HOME=/usr/local/android gradle -b ion/src/sdl/android/build.gradle assembleRelease
.PHONY: epsilon_run
epsilon_run:
ANDROID_HOME=/usr/local/android gradle -b ion/src/sdl/android/build.gradle assembleRelease
#rm ion/src/sdl/android/com.numworks.calculator/app/libs/arm64-v8a/libepsilon.so
#$(MAKE) ion/src/sdl/android/com.numworks.calculator/app/libs/arm64-v8a/libepsilon.so
cd ion/src/sdl/android ; ANDROID_HOME=/usr/local/android gradle installDebug
epsilon_run: $(patsubst %,$(BUILD_DIR)/app/libs/%/libepsilon.so,$(NDK_ABIS))
@echo "GRADLE ion/src/sdl/android/build.gradle"
$(Q) ANDROID_HOME=/usr/local/android gradle -b ion/src/sdl/android/build.gradle installDebug

View File

@@ -1,4 +1,6 @@
$(BUILD_DIR)/%/epsilon.bin:
.PHONY: force_rebuild_libepsilon
$(BUILD_DIR)/%/epsilon.bin: force_rebuild_libepsilon
$(Q) echo "MAKE ARCH=$*"
$(Q) $(MAKE) ARCH=$*

View File

@@ -1,4 +1,6 @@
$(BUILD_DIR)/%/epsilon.bin:
.PHONY: force_rebuild_libepsilon
$(BUILD_DIR)/%/epsilon.bin: force_rebuild_libepsilon
$(Q) echo "MAKE ARCH=$*"
$(Q) $(MAKE) ARCH=$*