From a214e9d6f94e8eba79b177045b6023a1f68f0c65 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Fri, 8 Mar 2019 17:20:15 +0100 Subject: [PATCH] [ion/sdl] Proper dependency tracking for multi-arch projects --- scripts/targets.sdl.android.mak | 18 +++++++++++------- scripts/targets.sdl.ios.mak | 4 +++- scripts/targets.sdl.macos.mak | 4 +++- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/scripts/targets.sdl.android.mak b/scripts/targets.sdl.android.mak index 35a2662a3..4e3f87137 100644 --- a/scripts/targets.sdl.android.mak +++ b/scripts/targets.sdl.android.mak @@ -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 diff --git a/scripts/targets.sdl.ios.mak b/scripts/targets.sdl.ios.mak index 87513aa8f..9fe75ee10 100644 --- a/scripts/targets.sdl.ios.mak +++ b/scripts/targets.sdl.ios.mak @@ -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=$* diff --git a/scripts/targets.sdl.macos.mak b/scripts/targets.sdl.macos.mak index 8c96cb868..c2210583a 100644 --- a/scripts/targets.sdl.macos.mak +++ b/scripts/targets.sdl.macos.mak @@ -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=$*