Rebuild version.o when version.c or LAST_VERSION change
$(TOPDIR)/LAST_VERSION is a cached copy of common.mk's I3_VERSION var, updated only if the two differ.
This commit is contained in:
parent
cd4bc2adf5
commit
5a987cfd6b
1
.gitignore
vendored
1
.gitignore
vendored
@ -33,3 +33,4 @@ docs/*.html
|
||||
i3-command-parser.stamp
|
||||
i3-config-parser.stamp
|
||||
.clang_complete
|
||||
LAST_VERSION
|
||||
|
6
Makefile
6
Makefile
@ -22,6 +22,12 @@ include i3-dump-log/i3-dump-log.mk
|
||||
include docs/docs.mk
|
||||
include man/man.mk
|
||||
|
||||
# Update $(TOPDIR)/LAST_VERSION if it differs from $I3_VERSION
|
||||
CACHED_VERSION := '$(shell [ -f $(TOPDIR)/LAST_VERSION ] && cat $(TOPDIR)/LAST_VERSION)'
|
||||
ifneq ($(CACHED_VERSION),$(I3_VERSION))
|
||||
$(shell echo -n ${I3_VERSION} > $(TOPDIR)/LAST_VERSION)
|
||||
endif
|
||||
|
||||
real-all: $(ALL_TARGETS)
|
||||
|
||||
install: $(INSTALL_TARGETS)
|
||||
|
@ -32,6 +32,10 @@ include/all.h.pch: $(i3_HEADERS)
|
||||
echo "[i3] PCH all.h"
|
||||
$(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) -x c-header include/all.h -o include/all.h.pch
|
||||
|
||||
src/version.o: src/version.c LAST_VERSION $(i3_HEADERS_DEP)
|
||||
echo "[i3] CC $<"
|
||||
$(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) $(PCH_FLAGS) -c -o $@ ${canonical_path}/$<
|
||||
|
||||
src/%.o: src/%.c $(i3_HEADERS_DEP)
|
||||
echo "[i3] CC $<"
|
||||
$(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) $(PCH_FLAGS) -c -o $@ ${canonical_path}/$<
|
||||
@ -92,4 +96,4 @@ install-i3: i3
|
||||
|
||||
clean-i3:
|
||||
echo "[i3] Clean"
|
||||
rm -f $(i3_OBJECTS) $(i3_SOURCES_GENERATED) $(i3_HEADERS_CMDPARSER) include/loglevels.h loglevels.tmp include/all.h.pch i3-command-parser.stamp i3-config-parser.stamp i3 test.config_parser test.commands_parser src/*.gcno src/cfgparse.* src/cmdparse.*
|
||||
rm -f $(i3_OBJECTS) $(i3_SOURCES_GENERATED) $(i3_HEADERS_CMDPARSER) include/loglevels.h loglevels.tmp include/all.h.pch i3-command-parser.stamp i3-config-parser.stamp i3 test.config_parser test.commands_parser src/*.gcno src/cfgparse.* src/cmdparse.* LAST_VERSION
|
||||
|
Loading…
Reference in New Issue
Block a user