Build: stop updating timestamp of st.h when not needed
Use the same approach as other generated headers (a temporary file, compare to the existing, then copy), to avoid touching st.h, so that other dependent objects are not rebuilt, if not needed. It should speed up building when switching git branches, as often config.status or automake are run, causing Makefiles to be recreated. https://bugzilla.gnome.org/show_bug.cgi?id=638453
This commit is contained in:
parent
d9d56b7492
commit
68a0d7897f
2
.gitignore
vendored
2
.gitignore
vendored
@ -52,6 +52,8 @@ src/test-recorder
|
||||
src/test-recorder.ogg
|
||||
src/test-theme
|
||||
src/st.h
|
||||
src/stamp-st.h
|
||||
src/stamp-st.h.tmp
|
||||
stamp-h1
|
||||
tests/run-test.sh
|
||||
xmldocs.make
|
||||
|
@ -100,11 +100,16 @@ st_source_h = \
|
||||
st/st-widget.h \
|
||||
$(NULL)
|
||||
|
||||
st.h: Makefile
|
||||
st.h: stamp-st.h
|
||||
@true
|
||||
stamp-st.h: Makefile
|
||||
$(AM_V_GEN) (echo "#define ST_H_INSIDE 1"; \
|
||||
for name in $(st_source_h); do \
|
||||
echo "#include <"$$name">"; \
|
||||
done; echo "#undef ST_H_INSIDE") > st.h.tmp && mv st.h.tmp st.h
|
||||
done; echo "#undef ST_H_INSIDE") > $@.tmp && \
|
||||
(cmp -s $@.tmp st.h || cp $@.tmp st.h) && \
|
||||
rm -f $@.tmp && \
|
||||
echo timestamp > $(@F)
|
||||
|
||||
BUILT_SOURCES += st.h
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user