@@ -151,7 +151,8 @@ export ON_ANDROID := -- --android
151151aw-server-rust : $(JNILIBS )
152152
153153.PHONY : $(JNILIBS )
154- $(JNILIBS ) : $(JNI_arm7 ) /libaw_server.so $(JNI_arm8 ) /libaw_server.so $(JNI_x86 ) /libaw_server.so $(JNI_x64 ) /libaw_server.so
154+ $(JNILIBS ) : $(JNI_arm7 ) /libaw_server.so $(JNI_arm8 ) /libaw_server.so $(JNI_x86 ) /libaw_server.so $(JNI_x64 ) /libaw_server.so \
155+ $(JNI_arm7)/libaw_sync.so $(JNI_arm8)/libaw_sync.so $(JNI_x86)/libaw_sync.so $(JNI_x64)/libaw_sync.so
155156 @ls -lL $@/*/* # Check that symlinks are valid
156157
157158# There must be a better way to do this without repeating almost the same rule over and over?
@@ -170,6 +171,20 @@ $(JNI_x64)/libaw_server.so: $(TARGETDIR_x64)/$(RELEASE_TYPE)/libaw_server.so
170171 mkdir -p $$(dirname $@ )
171172 if [ -z " $( TARGET) " ] || [ " $( TARGET) " == " x86_64" ]; then ln -fnv $$ (pwd)/$^ $@ ; fi
172173
174+ # aw-sync.so targets
175+ $(JNI_arm7 ) /libaw_sync.so : $(TARGETDIR_arm7 ) /$(RELEASE_TYPE ) /libaw_sync.so
176+ mkdir -p $$(dirname $@ )
177+ if [ -z " $( TARGET) " ] || [ " $( TARGET) " == " arm" ]; then ln -fnv $$ (pwd)/$^ $@ ; fi
178+ $(JNI_arm8 ) /libaw_sync.so : $(TARGETDIR_arm8 ) /$(RELEASE_TYPE ) /libaw_sync.so
179+ mkdir -p $$(dirname $@ )
180+ if [ -z " $( TARGET) " ] || [ " $( TARGET) " == " arm64" ]; then ln -fnv $$ (pwd)/$^ $@ ; fi
181+ $(JNI_x86 ) /libaw_sync.so : $(TARGETDIR_x86 ) /$(RELEASE_TYPE ) /libaw_sync.so
182+ mkdir -p $$(dirname $@ )
183+ if [ -z " $( TARGET) " ] || [ " $( TARGET) " == " x86" ]; then ln -fnv $$ (pwd)/$^ $@ ; fi
184+ $(JNI_x64 ) /libaw_sync.so : $(TARGETDIR_x64 ) /$(RELEASE_TYPE ) /libaw_sync.so
185+ mkdir -p $$(dirname $@ )
186+ if [ -z " $( TARGET) " ] || [ " $( TARGET) " == " x86_64" ]; then ln -fnv $$ (pwd)/$^ $@ ; fi
187+
173188RUSTFLAGS_ANDROID ="-C debuginfo=2 -Awarnings"
174189# Explanation of RUSTFLAGS:
175190# `-Awarnings` allows all warnings, for cleaner output (warnings should be detected in aw-server-rust CI anyway)
@@ -192,6 +207,21 @@ $(RS_SRCDIR)/target/%/$(RELEASE_TYPE)/libaw_server.so: $(RS_SOURCES) $(WEBUI_DIS
192207 env RUSTFLAGS=$(RUSTFLAGS_ANDROID ) make -C aw-server-rust android; \
193208 fi
194209
210+ # Pattern rule for building libaw_sync.so (similar to libaw_server.so)
211+ $(RS_SRCDIR ) /target/% /$(RELEASE_TYPE ) /libaw_sync.so : $(RS_SOURCES ) $(WEBUI_DISTDIR )
212+ @echo $@
213+ @echo " Release type: $( RELEASE_TYPE) "
214+ @# if we indicate in CI via USE_PREBUILT that we've
215+ @# fetched prebuilt libaw_sync.so from aw-server-rust repo,
216+ @# then don't rebuild it
217+ @# also check libraries exist, if not, error
218+ @if [ " $$ USE_PREBUILT" == " true" ] && [ -f $@ ]; then \
219+ echo " Using prebuilt libaw_sync.so" ; \
220+ else \
221+ echo " Building libaw_sync.so from aw-server-rust repo" ; \
222+ env RUSTFLAGS=$(RUSTFLAGS_ANDROID ) make -C aw-server-rust android; \
223+ fi
224+
195225# aw-webui
196226.PHONY : $(WEBUI_DISTDIR )
197227$(WEBUI_DISTDIR ) :
0 commit comments