Merge branch 'ab/make-delete-on-error'
Use ".DELETE_ON_ERROR" pseudo target to simplify our Makefile. * ab/make-delete-on-error: Makefile: add and use the ".DELETE_ON_ERROR" flagmaint
commit
368cab75c1
29
Makefile
29
Makefile
|
@ -2164,6 +2164,16 @@ shell_compatibility_test: please_set_SHELL_PATH_to_a_more_modern_shell
|
|||
strip: $(PROGRAMS) git$X
|
||||
$(STRIP) $(STRIP_OPTS) $^
|
||||
|
||||
### Flags affecting all rules
|
||||
|
||||
# A GNU make extension since gmake 3.72 (released in late 1994) to
|
||||
# remove the target of rules if commands in those rules fail. The
|
||||
# default is to only do that if make itself receives a signal. Affects
|
||||
# all targets, see:
|
||||
#
|
||||
# info make --index-search=.DELETE_ON_ERROR
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
### Target-specific flags and dependencies
|
||||
|
||||
# The generic compilation pattern rule and automatically
|
||||
|
@ -2247,7 +2257,6 @@ SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):$(GIT_VERSION):\
|
|||
$(gitwebdir_SQ):$(PERL_PATH_SQ):$(SANE_TEXT_GREP):$(PAGER_ENV):\
|
||||
$(perllibdir_SQ)
|
||||
define cmd_munge_script
|
||||
$(RM) $@ $@+ && \
|
||||
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
||||
-e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \
|
||||
-e 's|@@DIFF@@|$(DIFF_SQ)|' \
|
||||
|
@ -2317,7 +2326,7 @@ endif
|
|||
PERL_DEFINES += $(gitexecdir) $(perllibdir) $(localedir)
|
||||
|
||||
$(SCRIPT_PERL_GEN): % : %.perl GIT-PERL-DEFINES GIT-PERL-HEADER GIT-VERSION-FILE
|
||||
$(QUIET_GEN)$(RM) $@ $@+ && \
|
||||
$(QUIET_GEN) \
|
||||
sed -e '1{' \
|
||||
-e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \
|
||||
-e ' r GIT-PERL-HEADER' \
|
||||
|
@ -2337,7 +2346,7 @@ GIT-PERL-DEFINES: FORCE
|
|||
fi
|
||||
|
||||
GIT-PERL-HEADER: $(PERL_HEADER_TEMPLATE) GIT-PERL-DEFINES Makefile
|
||||
$(QUIET_GEN)$(RM) $@ && \
|
||||
$(QUIET_GEN) \
|
||||
INSTLIBDIR='$(perllibdir_SQ)' && \
|
||||
INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
|
||||
INSTLIBDIR="$$INSTLIBDIR$${INSTLIBDIR_EXTRA:+:$$INSTLIBDIR_EXTRA}" && \
|
||||
|
@ -2363,7 +2372,7 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
|
|||
mv $@+ $@
|
||||
else # NO_PERL
|
||||
$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
|
||||
$(QUIET_GEN)$(RM) $@ $@+ && \
|
||||
$(QUIET_GEN) \
|
||||
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
||||
-e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
|
||||
unimplemented.sh >$@+ && \
|
||||
|
@ -2377,14 +2386,14 @@ $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
|
|||
ifndef NO_PYTHON
|
||||
$(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS
|
||||
$(SCRIPT_PYTHON_GEN): % : %.py
|
||||
$(QUIET_GEN)$(RM) $@ $@+ && \
|
||||
$(QUIET_GEN) \
|
||||
sed -e '1s|#!.*python|#!$(PYTHON_PATH_SQ)|' \
|
||||
$< >$@+ && \
|
||||
chmod +x $@+ && \
|
||||
mv $@+ $@
|
||||
else # NO_PYTHON
|
||||
$(SCRIPT_PYTHON_GEN): % : unimplemented.sh
|
||||
$(QUIET_GEN)$(RM) $@ $@+ && \
|
||||
$(QUIET_GEN) \
|
||||
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
||||
-e 's|@@REASON@@|NO_PYTHON=$(NO_PYTHON)|g' \
|
||||
unimplemented.sh >$@+ && \
|
||||
|
@ -2392,8 +2401,7 @@ $(SCRIPT_PYTHON_GEN): % : unimplemented.sh
|
|||
mv $@+ $@
|
||||
endif # NO_PYTHON
|
||||
|
||||
CONFIGURE_RECIPE = $(RM) configure configure.ac+ && \
|
||||
sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
||||
CONFIGURE_RECIPE = sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
||||
configure.ac >configure.ac+ && \
|
||||
autoconf -o configure configure.ac+ && \
|
||||
$(RM) configure.ac+
|
||||
|
@ -2518,7 +2526,6 @@ endif
|
|||
ifeq ($(GENERATE_COMPILATION_DATABASE),yes)
|
||||
all:: compile_commands.json
|
||||
compile_commands.json:
|
||||
@$(RM) $@
|
||||
$(QUIET_GEN)sed -e '1s/^/[/' -e '$$s/,$$/]/' $(compdb_dir)/*.o.json > $@+
|
||||
@if test -s $@+; then mv $@+ $@; else $(RM) $@+; fi
|
||||
endif
|
||||
|
@ -2591,10 +2598,10 @@ $(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o GIT-LDFLAGS $(GITLIBS
|
|||
$(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
|
||||
|
||||
$(LIB_FILE): $(LIB_OBJS)
|
||||
$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
|
||||
$(QUIET_AR)$(AR) $(ARFLAGS) $@ $^
|
||||
|
||||
$(XDIFF_LIB): $(XDIFF_OBJS)
|
||||
$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
|
||||
$(QUIET_AR)$(AR) $(ARFLAGS) $@ $^
|
||||
|
||||
export DEFAULT_EDITOR DEFAULT_PAGER
|
||||
|
||||
|
|
Loading…
Reference in New Issue