Makefile: improve java & native targets
So that they get rebuilt if any of their files changes
This commit is contained in:
60
Makefile
60
Makefile
@@ -121,15 +121,27 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(detected_OS),Windows)
|
ifeq ($(detected_OS),Windows)
|
||||||
|
define to_win_path
|
||||||
|
$(subst /,\,$(1))
|
||||||
|
endef
|
||||||
define remove_dir
|
define remove_dir
|
||||||
if exist $(1) ( $(RM) $(1) )
|
if exist $(1) ( $(RM) $(1) )
|
||||||
endef
|
endef
|
||||||
|
define remove_files
|
||||||
|
$(foreach file,$(call to_win_path,$(1)), IF EXIST $(file) ( $(RMFILE) $(file) ) & )
|
||||||
|
endef
|
||||||
else
|
else
|
||||||
define remove_dir
|
define remove_dir
|
||||||
$(RM) $(1)
|
$(RM) $(1)
|
||||||
endef
|
endef
|
||||||
|
define remove_files
|
||||||
|
$(RMFILE) $(1)
|
||||||
|
endef
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Recursive wildcard: https://stackoverflow.com/a/18258352
|
||||||
|
rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d))
|
||||||
|
|
||||||
$(info MSBUILD_PARAM: $(MSBUILD_PARAM))
|
$(info MSBUILD_PARAM: $(MSBUILD_PARAM))
|
||||||
$(info nuget path: $(shell $(WHICH) nuget))
|
$(info nuget path: $(shell $(WHICH) nuget))
|
||||||
$(info )
|
$(info )
|
||||||
@@ -155,16 +167,35 @@ JAVA_CLEAN_TARGETS := \
|
|||||||
clean_KP2AKdbLibrary \
|
clean_KP2AKdbLibrary \
|
||||||
clean_PluginQR
|
clean_PluginQR
|
||||||
|
|
||||||
OUTPUT_JavaFileStorageTest-AS = src/java/JavaFileStorage/app/build/outputs/aar/JavaFileStorage-debug.aar src/java/android-filechooser-AS/app/build/outputs/aar/android-filechooser-release.aar
|
INPUT_JavaFileStorageTest-AS = $(call rwildcard,src/java/android-filechooser-AS/app/src,*) $(call rwildcard,src/java/JavaFileStorage/app/src,*) $(call rwildcard,src/java/JavaFileStorageTest-AS/app/src,*.java)
|
||||||
OUTPUT_KP2ASoftkeyboard_AS =src/java/KP2ASoftkeyboard_AS/app/build/outputs/aar/app-debug.aar
|
OUTPUT_JavaFileStorageTest-AS = src/java/android-filechooser-AS/app/build/outputs/aar/android-filechooser-debug.aar \
|
||||||
OUTPUT_Keepass2AndroidPluginSDK2 = src/java/Keepass2AndroidPluginSDK2/app/build/outputs/aar/app-release.aar
|
src/java/android-filechooser-AS/app/build/outputs/aar/android-filechooser-release.aar \
|
||||||
OUTPUT_KP2AKdbLibrary = src/java/KP2AKdbLibrary/app/build/outputs/aar/app-debug.aar
|
src/java/JavaFileStorage/app/build/outputs/aar/JavaFileStorage-debug.aar \
|
||||||
OUTPUT_PluginQR = src/java/Keepass2AndroidPluginSDK2/app/build/outputs/aar/Keepass2AndroidPluginSDK2-release.aar src/java/PluginQR/app/build/outputs/apk/debug/app-debug.apk
|
src/java/JavaFileStorage/app/build/outputs/aar/JavaFileStorage-release.aar \
|
||||||
|
src/java/JavaFileStorageTest-AS/app/build/outputs/apk/debug/app-debug.apk \
|
||||||
|
src/java/JavaFileStorageTest-AS/app/build/outputs/apk/release/app-release-unsigned.apk
|
||||||
|
|
||||||
|
INPUT_KP2ASoftkeyboard_AS = $(call rwildcard,src/java/KP2ASoftkeyboard_AS/app/src,*)
|
||||||
|
OUTPUT_KP2ASoftkeyboard_AS = src/java/KP2ASoftkeyboard_AS/app/build/outputs/aar/app-debug.aar \
|
||||||
|
src/java/KP2ASoftkeyboard_AS/app/build/outputs/aar/app-release.aar
|
||||||
|
|
||||||
|
INPUT_Keepass2AndroidPluginSDK2 = $(call rwildcard,src/java/Keepass2AndroidPluginSDK2/app/src,*)
|
||||||
|
OUTPUT_Keepass2AndroidPluginSDK2 = src/java/Keepass2AndroidPluginSDK2/app/build/outputs/aar/app-debug.aar \
|
||||||
|
src/java/Keepass2AndroidPluginSDK2/app/build/outputs/aar/app-release.aar
|
||||||
|
|
||||||
|
INPUT_KP2AKdbLibrary = $(call rwildcard,src/java/KP2AKdbLibrary/app/src,*)
|
||||||
|
OUTPUT_KP2AKdbLibrary = src/java/KP2AKdbLibrary/app/build/outputs/aar/app-debug.aar \
|
||||||
|
src/java/KP2AKdbLibrary/app/build/outputs/aar/app-release.aar
|
||||||
|
|
||||||
|
INPUT_PluginQR = $(call rwildcard,src/java/PluginQR/app/src,*)
|
||||||
|
OUTPUT_PluginQR = src/java/Keepass2AndroidPluginSDK2/app/build/outputs/aar/Keepass2AndroidPluginSDK2-debug.aar \
|
||||||
|
src/java/Keepass2AndroidPluginSDK2/app/build/outputs/aar/Keepass2AndroidPluginSDK2-release.aar \
|
||||||
|
src/java/PluginQR/app/build/outputs/apk/debug/app-debug.apk \
|
||||||
|
src/java/PluginQR/app/build/outputs/apk/debug/app-release-unsigned.apk
|
||||||
|
|
||||||
##### Targets definition
|
##### Targets definition
|
||||||
|
|
||||||
.PHONY: native $(NATIVE_COMPONENTS) clean_native $(NATIVE_CLEAN_TARGETS) \
|
.PHONY: native $(NATIVE_COMPONENTS) clean_native $(NATIVE_CLEAN_TARGETS) \
|
||||||
java $(JAVA_COMPONENTS) clean_java $(JAVA_CLEAN_TARGETS) \
|
java $(JAVA_COMPONENTS) clean_java $(JAVA_CLEAN_TARGETS) \
|
||||||
nuget clean_nuget \
|
nuget clean_nuget \
|
||||||
msbuild clean_msbuild \
|
msbuild clean_msbuild \
|
||||||
@@ -177,7 +208,7 @@ all: apk
|
|||||||
native: $(NATIVE_COMPONENTS)
|
native: $(NATIVE_COMPONENTS)
|
||||||
|
|
||||||
argon2: $(OUTPUT_argon2)
|
argon2: $(OUTPUT_argon2)
|
||||||
$(OUTPUT_argon2):
|
$(OUTPUT_argon2): $(wildcard src/java/argon2/phc-winner-argon2/src/*) $(wildcard src/java/argon2/phc-winner-argon2/src/blake2/*)
|
||||||
cd src/java/argon2 && $(ANDROID_NDK_ROOT)/ndk-build
|
cd src/java/argon2 && $(ANDROID_NDK_ROOT)/ndk-build
|
||||||
|
|
||||||
##### Java Dependencies
|
##### Java Dependencies
|
||||||
@@ -190,15 +221,20 @@ Keepass2AndroidPluginSDK2: $(OUTPUT_Keepass2AndroidPluginSDK2)
|
|||||||
KP2AKdbLibrary: $(OUTPUT_KP2AKdbLibrary)
|
KP2AKdbLibrary: $(OUTPUT_KP2AKdbLibrary)
|
||||||
PluginQR: $(OUTPUT_PluginQR)
|
PluginQR: $(OUTPUT_PluginQR)
|
||||||
|
|
||||||
$(OUTPUT_JavaFileStorageTest-AS):
|
$(OUTPUT_JavaFileStorageTest-AS): $(INPUT_JavaFileStorageTest-AS)
|
||||||
|
$(call remove_files,$(OUTPUT_JavaFileStorageTest-AS))
|
||||||
cd src/java/JavaFileStorageTest-AS && $(GRADLEW) assemble
|
cd src/java/JavaFileStorageTest-AS && $(GRADLEW) assemble
|
||||||
$(OUTPUT_KP2ASoftkeyboard_AS):
|
$(OUTPUT_KP2ASoftkeyboard_AS): $(INPUT_KP2ASoftkeyboard_AS)
|
||||||
|
$(call remove_files,$(OUTPUT_KP2ASoftkeyboard_AS))
|
||||||
cd src/java/KP2ASoftkeyboard_AS && $(GRADLEW) assemble
|
cd src/java/KP2ASoftkeyboard_AS && $(GRADLEW) assemble
|
||||||
$(OUTPUT_Keepass2AndroidPluginSDK2):
|
$(OUTPUT_Keepass2AndroidPluginSDK2): $(INPUT_Keepass2AndroidPluginSDK2)
|
||||||
|
$(call remove_files,$(OUTPUT_Keepass2AndroidPluginSDK2))
|
||||||
cd src/java/Keepass2AndroidPluginSDK2 && $(GRADLEW) assemble
|
cd src/java/Keepass2AndroidPluginSDK2 && $(GRADLEW) assemble
|
||||||
$(OUTPUT_KP2AKdbLibrary):
|
$(OUTPUT_KP2AKdbLibrary): $(INPUT_KP2AKdbLibrary)
|
||||||
|
$(call remove_files,$(OUTPUT_KP2AKdbLibrary))
|
||||||
cd src/java/KP2AKdbLibrary && $(GRADLEW) assemble
|
cd src/java/KP2AKdbLibrary && $(GRADLEW) assemble
|
||||||
$(OUTPUT_PluginQR):
|
$(OUTPUT_PluginQR): $(INPUT_PluginQR)
|
||||||
|
$(call remove_files,$(OUTPUT_PluginQR))
|
||||||
cd src/java/PluginQR && $(GRADLEW) assemble
|
cd src/java/PluginQR && $(GRADLEW) assemble
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user