3 include $(TOPDIR)/common.mk
14 include libi3/libi3.mk
16 include i3-config-wizard/i3-config-wizard.mk
17 include i3-msg/i3-msg.mk
18 include i3-input/i3-input.mk
19 include i3-nagbar/i3-nagbar.mk
20 include i3bar/i3bar.mk
21 include i3-dump-log/i3-dump-log.mk
25 # Update $(TOPDIR)/LAST_VERSION if it differs from $I3_VERSION
26 CACHED_VERSION := '$(shell [ -f $(TOPDIR)/LAST_VERSION ] && cat $(TOPDIR)/LAST_VERSION)'
27 ifneq ($(CACHED_VERSION),$(I3_VERSION))
28 $(shell echo -n ${I3_VERSION} > $(TOPDIR)/LAST_VERSION)
31 real-all: $(ALL_TARGETS)
33 install: $(INSTALL_TARGETS)
36 echo -n ${I3_VERSION} > I3_VERSION
39 [ ! -d i3-${VERSION} ] || rm -rf i3-${VERSION}
40 [ ! -e i3-${VERSION}.tar.bz2 ] || rm i3-${VERSION}.tar.bz2
42 cp i3-migrate-config-to-v4 i3-save-tree generate-command-parser.pl i3-sensible-* i3-dmenu-desktop i3.config.keycodes DEPENDS LICENSE PACKAGE-MAINTAINER RELEASE-NOTES-${VERSION} i3.config i3.xsession.desktop i3-with-shmlog.xsession.desktop i3.applications.desktop pseudo-doc.doxygen common.mk Makefile i3-${VERSION}
43 cp -r src libi3 i3-msg i3-nagbar i3-config-wizard i3bar i3-dump-log include man parser-specs testcases i3-${VERSION}
44 # Only copy toplevel documentation (important stuff)
45 mkdir i3-${VERSION}/docs
46 # Pre-generate documentation
48 # Cleanup τεχ output files
49 find docs -regex ".*\.\(aux\|out\|log\|toc\|bm\|dvi\|log\)" -exec rm '{}' \;
50 find docs -maxdepth 1 -type f ! \( -name "*.xcf" -or -name "*.svg" \) -exec cp '{}' i3-${VERSION}/docs \;
51 # Only copy source code from i3-input
52 mkdir i3-${VERSION}/i3-input
53 find i3-input -maxdepth 1 -type f \( -name "*.c" -or -name "*.mk" -or -name "*.h" -or -name "Makefile" \) -exec cp '{}' i3-${VERSION}/i3-input \;
54 cp I3_VERSION i3-${VERSION}/I3_VERSION
55 # Pre-generate a manpage to allow distributors to skip this step and save some dependencies
57 cp man/*.1 i3-${VERSION}/man/
58 tar cfj i3-${VERSION}.tar.bz2 i3-${VERSION}
61 clean: $(CLEAN_TARGETS)
62 (which lcov >/dev/null 2>&1 && lcov -d . --zerocounters) || true
64 distclean: clean $(DISTCLEAN_TARGETS)
67 rm -f /tmp/i3-coverage.info
68 rm -rf /tmp/i3-coverage
69 lcov -d . -b . --capture -o /tmp/i3-coverage.info
70 genhtml -o /tmp/i3-coverage/ /tmp/i3-coverage.info