Emily Shaffer <emilyshaffer@xxxxxxxxxx> writes: > diff --git a/Makefile b/Makefile > index c49f55a521..76dc51e2b1 100644 > --- a/Makefile > +++ b/Makefile > @@ -651,7 +651,7 @@ install-perl-script: $(SCRIPT_PERL_GEN) > install-python-script: $(SCRIPT_PYTHON_GEN) > $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' > > -.PHONY: clean-perl-script clean-sh-script clean-python-script > +.PHONY: clean-perl-script clean-sh-script clean-python-script clean-script-dependencies > clean-sh-script: > $(RM) $(SCRIPT_SH_GEN) > clean-perl-script: > @@ -817,6 +817,7 @@ VCSSVN_LIB = vcs-svn/lib.a > > GENERATED_H += config-list.h > GENERATED_H += command-list.h > +GENERATED_H += bugreport-config-safelist.h OK. > LIB_H := $(sort $(patsubst ./%,%,$(shell git ls-files '*.h' ':!t/' ':!Documentation/' 2>/dev/null || \ > $(FIND) . \ > @@ -2161,6 +2162,12 @@ command-list.h: $(wildcard Documentation/git*.txt) Documentation/*config.txt Doc > $(patsubst %,--exclude-program %,$(EXCLUDED_PROGRAMS)) \ > command-list.txt >$@+ && mv $@+ $@ > > +bugreport-config-safelist.h: generate-bugreport-config-safelist.sh > + > +bugreport-config-safelist.h: Documentation/config/*.txt > + $(QUIET_GEN)$(SHELL_PATH) ./generate-bugreport-config-safelist.sh \ > + >$@+ && mv $@+ $@ OK. > SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):$(GIT_VERSION):\ > $(localedir_SQ):$(NO_CURL):$(USE_GETTEXT_SCHEME):$(SANE_TOOL_PATH_SQ):\ > $(gitwebdir_SQ):$(PERL_PATH_SQ):$(SANE_TEXT_GREP):$(PAGER_ENV):\ But bugreport.o needs this *.h file generated before a compiler attempts to produce it out of bugreport.c; that dependency is missing from this update to the Makefile. > @@ -2791,7 +2798,7 @@ $(SP_OBJ): %.sp: %.c GIT-CFLAGS FORCE > .PHONY: sparse $(SP_OBJ) > sparse: $(SP_OBJ) > > -GEN_HDRS := config-list.h command-list.h unicode-width.h > +GEN_HDRS := config-list.h command-list.h unicode-width.h bugreport-config-safelist.h > EXCEPT_HDRS := $(GEN_HDRS) compat/% xdiff/% > ifndef GCRYPT_SHA256 > EXCEPT_HDRS += sha256/gcrypt.h > @@ -3117,7 +3124,8 @@ clean: profile-clean coverage-clean cocciclean > $(RM) $(HCC) > $(RM) -r bin-wrappers $(dep_dirs) > $(RM) -r po/build/ > - $(RM) *.pyc *.pyo */*.pyc */*.pyo config-list.h command-list.h > + $(RM) *.pyc *.pyo */*.pyc */*.pyo > + $(RM) config-list.h command-list.h bugreport-config-safelist.h It is kind of sad that GEN_HDRS defines the list of build artifact that we should be able to clean, and then we manually list them to be removed here independently. Can we fix it up too? We probably clean up the build/update procedure around unicode-width.h before we can do so, probably. It may be generatable using contrib/ script, but as far as our normal build is concerned, it is a tracked source and not part of the build byproducts, so we probably would want to remove it from GEN_HDRS. When that happens, we can $(RM) all of the $(GEN_HDRS) in the "clean" target.