@@ -2164,6 +2164,16 @@ shell_compatibility_test: please_set_SHELL_PATH_to_a_more_modern_shell
2164
2164
strip : $(PROGRAMS ) git$X
2165
2165
$(STRIP ) $(STRIP_OPTS ) $^
2166
2166
2167
+ # ## Flags affecting all rules
2168
+
2169
+ # A GNU make extension since gmake 3.72 (released in late 1994) to
2170
+ # remove the target of rules if commands in those rules fail. The
2171
+ # default is to only do that if make itself receives a signal. Affects
2172
+ # all targets, see:
2173
+ #
2174
+ # info make --index-search=.DELETE_ON_ERROR
2175
+ .DELETE_ON_ERROR :
2176
+
2167
2177
# ## Target-specific flags and dependencies
2168
2178
2169
2179
# The generic compilation pattern rule and automatically
@@ -2247,7 +2257,6 @@ SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):$(GIT_VERSION):\
2247
2257
$(gitwebdir_SQ ) :$(PERL_PATH_SQ ) :$(SANE_TEXT_GREP ) :$(PAGER_ENV ) :\
2248
2258
$(perllibdir_SQ )
2249
2259
define cmd_munge_script
2250
- $(RM ) $@ $@ + && \
2251
2260
sed -e '1s|# !.*/sh|#!$(SHELL_PATH_SQ)|' \
2252
2261
-e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \
2253
2262
-e 's|@@DIFF@@|$(DIFF_SQ)|' \
@@ -2317,7 +2326,7 @@ endif
2317
2326
PERL_DEFINES += $(gitexecdir ) $(perllibdir ) $(localedir )
2318
2327
2319
2328
$(SCRIPT_PERL_GEN ) : % : % .perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
2320
- $(QUIET_GEN )$( RM ) $@ $@ + && \
2329
+ $(QUIET_GEN ) \
2321
2330
sed -e ' 1{' \
2322
2331
-e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \
2323
2332
-e ' r GIT-PERL-HEADER' \
@@ -2337,7 +2346,7 @@ GIT-PERL-DEFINES: FORCE
2337
2346
fi
2338
2347
2339
2348
GIT-PERL-HEADER : $(PERL_HEADER_TEMPLATE ) GIT-PERL-DEFINES Makefile
2340
- $(QUIET_GEN )$( RM ) $@ && \
2349
+ $(QUIET_GEN ) \
2341
2350
INSTLIBDIR=' $(perllibdir_SQ)' && \
2342
2351
INSTLIBDIR_EXTRA=' $(PERLLIB_EXTRA_SQ)' && \
2343
2352
INSTLIBDIR=" $$ INSTLIBDIR$$ {INSTLIBDIR_EXTRA:+:$$ INSTLIBDIR_EXTRA}" && \
@@ -2363,7 +2372,7 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
2363
2372
mv $@ + $@
2364
2373
else # NO_PERL
2365
2374
$(SCRIPT_PERL_GEN ) git-instaweb : % : unimplemented.sh
2366
- $(QUIET_GEN )$( RM ) $@ $@ + && \
2375
+ $(QUIET_GEN ) \
2367
2376
sed -e ' 1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
2368
2377
-e ' s|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
2369
2378
unimplemented.sh > $@ + && \
@@ -2377,23 +2386,22 @@ $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
2377
2386
ifndef NO_PYTHON
2378
2387
$(SCRIPT_PYTHON_GEN ) : GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS
2379
2388
$(SCRIPT_PYTHON_GEN ) : % : % .py
2380
- $(QUIET_GEN )$( RM ) $@ $@ + && \
2389
+ $(QUIET_GEN ) \
2381
2390
sed -e ' 1s|#!.*python|#!$(PYTHON_PATH_SQ)|' \
2382
2391
$< > $@ + && \
2383
2392
chmod +x $@ + && \
2384
2393
mv $@ + $@
2385
2394
else # NO_PYTHON
2386
2395
$(SCRIPT_PYTHON_GEN ) : % : unimplemented.sh
2387
- $(QUIET_GEN )$( RM ) $@ $@ + && \
2396
+ $(QUIET_GEN ) \
2388
2397
sed -e ' 1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
2389
2398
-e ' s|@@REASON@@|NO_PYTHON=$(NO_PYTHON)|g' \
2390
2399
unimplemented.sh > $@ + && \
2391
2400
chmod +x $@ + && \
2392
2401
mv $@ + $@
2393
2402
endif # NO_PYTHON
2394
2403
2395
- CONFIGURE_RECIPE = $(RM ) configure configure.ac+ && \
2396
- sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION ) /g' \
2404
+ CONFIGURE_RECIPE = sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION ) /g' \
2397
2405
configure.ac >configure.ac+ && \
2398
2406
autoconf -o configure configure.ac+ && \
2399
2407
$(RM ) configure.ac+
@@ -2518,7 +2526,6 @@ endif
2518
2526
ifeq ($(GENERATE_COMPILATION_DATABASE ) ,yes)
2519
2527
all :: compile_commands.json
2520
2528
compile_commands.json :
2521
- @$(RM ) $@
2522
2529
$(QUIET_GEN ) sed -e ' 1s/^/[/' -e ' $$s/,$$/]/' $(compdb_dir ) /* .o.json > $@ +
2523
2530
@if test -s $@ +; then mv $@ + $@ ; else $(RM ) $@ +; fi
2524
2531
endif
@@ -2591,10 +2598,10 @@ $(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o GIT-LDFLAGS $(GITLIBS
2591
2598
$(CURL_LIBCURL ) $(EXPAT_LIBEXPAT ) $(LIBS )
2592
2599
2593
2600
$(LIB_FILE ) : $(LIB_OBJS )
2594
- $(QUIET_AR )$(RM ) $@ && $( AR ) $(ARFLAGS ) $@ $^
2601
+ $(QUIET_AR )$(AR ) $(ARFLAGS ) $@ $^
2595
2602
2596
2603
$(XDIFF_LIB ) : $(XDIFF_OBJS )
2597
- $(QUIET_AR )$(RM ) $@ && $( AR ) $(ARFLAGS ) $@ $^
2604
+ $(QUIET_AR )$(AR ) $(ARFLAGS ) $@ $^
2598
2605
2599
2606
export DEFAULT_EDITOR DEFAULT_PAGER
2600
2607
0 commit comments