@@ -186,25 +186,34 @@ else
186
186
endif
187
187
188
188
LIBUV_NAME_$(1 ) := $$(call CFG_STATIC_LIB_NAME_$(1 ) ,uv)
189
- LIBUV_LIB_$(1 ) := $$(RT_OUTPUT_DIR_$(1 ) ) /libuv/$$(LIBUV_NAME_$(1 ) )
189
+ LIBUV_DIR_$(1 ) := $$(RT_OUTPUT_DIR_$(1 ) ) /libuv
190
+ LIBUV_LIB_$(1 ) := $$(LIBUV_DIR_$(1 ) ) /$$(LIBUV_NAME_$(1 ) )
190
191
191
192
LIBUV_MAKEFILE_$(1 ) := $$(CFG_BUILD_DIR )$$(RT_OUTPUT_DIR_$(1 ) ) /libuv/Makefile
192
193
194
+ LIBUV_STAMP_$(1 ) = $$(LIBUV_DIR_$(1 ) ) /libuv-auto-clean-stamp
195
+
196
+ $$(LIBUV_STAMP_$(1 ) ) : $(S ) src/rt/libuv-auto-clean-trigger
197
+ $$(Q ) rm -rf $$(LIBUV_DIR_$(1 ) )
198
+ $$(Q ) mkdir -p $$(@D )
199
+ touch $$@
200
+
193
201
# libuv triggers a few warnings on some platforms
194
202
LIBUV_CFLAGS_$(1 ) := $(subst -Werror,,$(CFG_GCCISH_CFLAGS_$(1 ) ) )
195
203
196
- $$(LIBUV_MAKEFILE_$(1 ) ) : $$(LIBUV_DEPS )
204
+ $$(LIBUV_MAKEFILE_$(1 ) ) : $$(LIBUV_DEPS ) $$( MKFILE_DEPS ) $$( LIBUV_STAMP_ $( 1 ) )
197
205
(cd $(S ) src/libuv/ && \
198
206
$$(CFG_PYTHON ) ./gyp_uv.py -f make -Dtarget_arch=$$(LIBUV_ARCH_$(1 ) ) \
199
207
-D ninja \
200
208
-DOS=$$(LIBUV_OSTYPE_$(1 ) ) \
201
209
-Goutput_dir=$$(@D ) --generator-output $$(@D ) )
210
+ touch $$@
202
211
203
212
# Windows has a completely different build system for libuv because of mingw. In
204
213
# theory when we support msvc then we should be using gyp's msvc output instead
205
214
# of mingw's makefile for windows
206
215
ifdef CFG_WINDOWSY_$(1)
207
- $$(LIBUV_LIB_$(1 ) ) : $$(LIBUV_DEPS )
216
+ $$(LIBUV_LIB_$(1 ) ) : $$(LIBUV_DEPS ) $$( MKFILE_DEPS )
208
217
$$(Q )$$(MAKE ) -C $$(S ) src/libuv -f Makefile.mingw \
209
218
LDFLAGS=" $$ (CFG_GCCISH_LINK_FLAGS_$( 1) )" \
210
219
CC=" $$ (CC_$( 1) ) $$ (LIBUV_CFLAGS_$( 1) ) $$ (SNAP_DEFINES)" \
@@ -213,15 +222,17 @@ $$(LIBUV_LIB_$(1)): $$(LIBUV_DEPS)
213
222
V=$$(VERBOSE )
214
223
$$(Q ) cp $$(S ) src/libuv/libuv.a $$@
215
224
else
216
- $$(LIBUV_LIB_$(1 ) ) : $$(LIBUV_DEPS ) $$(LIBUV_MAKEFILE_$(1 ) )
217
- $$(Q )$$(MAKE ) -C $$(@D ) \
225
+ $$(LIBUV_LIB_$(1 ) ) : $$(LIBUV_DIR_$(1 ) ) /Release/libuv.a $$(MKFILE_DEPS )
226
+ $$(Q ) ln -f $$< $$@
227
+ $$(LIBUV_DIR_$(1 ) ) /Release/libuv.a : $$(LIBUV_DEPS ) $$(LIBUV_MAKEFILE_$(1 ) ) \
228
+ $$(MKFILE_DEPS )
229
+ $$(Q )$$(MAKE ) -C $$(LIBUV_DIR_$(1 ) ) \
218
230
CFLAGS=" $$ (LIBUV_CFLAGS_$( 1) ) $$ (SNAP_DEFINES)" \
219
231
LDFLAGS=" $$ (CFG_GCCISH_LINK_FLAGS_$( 1) )" \
220
232
CC=" $$ (CC_$( 1) )" \
221
233
CXX=" $$ (CXX_$( 1) )" \
222
234
AR=" $$ (AR_$( 1) )" \
223
235
$$(LIBUV_ARGS_$(1 ) ) \
224
- builddir=" ." \
225
236
BUILDTYPE=Release \
226
237
NO_LOAD=" $$ (LIBUV_NO_LOAD)" \
227
238
V=$$(VERBOSE )
0 commit comments