3 include $(TOPDIR)/common.mk
5 SUBDIRS:=i3bar i3-dump-log
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
21 real-all: $(ALL_TARGETS) subdirs
24 for dir in $(SUBDIRS); do \
30 install: $(INSTALL_TARGETS)
31 for dir in $(SUBDIRS); do \
32 $(MAKE) -C $$dir install; \
36 [ ! -d i3-${VERSION} ] || rm -rf i3-${VERSION}
37 [ ! -e i3-${VERSION}.tar.bz2 ] || rm i3-${VERSION}.tar.bz2
39 cp i3-migrate-config-to-v4 generate-command-parser.pl i3-sensible-* i3.config.keycodes DEPENDS LICENSE PACKAGE-MAINTAINER RELEASE-NOTES-${VERSION} i3.config i3.xsession.desktop i3.applications.desktop pseudo-doc.doxygen Makefile i3-${VERSION}
40 cp -r src libi3 i3-msg i3-nagbar i3-config-wizard i3bar i3-dump-log yajl-fallback include man parser-specs i3-${VERSION}
41 # Only copy toplevel documentation (important stuff)
42 mkdir i3-${VERSION}/docs
43 # Pre-generate documentation
46 # Cleanup τεχ output files
47 find docs -regex ".*\.\(aux\|out\|log\|toc\|bm\|dvi\|log\)" -exec rm '{}' \;
48 find docs -maxdepth 1 -type f ! \( -name "*.xcf" -or -name "*.svg" \) -exec cp '{}' i3-${VERSION}/docs \;
49 # Only copy source code from i3-input
50 mkdir i3-${VERSION}/i3-input
51 find i3-input -maxdepth 1 -type f \( -name "*.c" -or -name "*.h" -or -name "Makefile" \) -exec cp '{}' i3-${VERSION}/i3-input \;
52 sed -e 's/^GIT_VERSION:=\(.*\)/GIT_VERSION:=$(shell /bin/echo '${GIT_VERSION}' | sed 's/\\/\\\\/g')/g;s/^VERSION:=\(.*\)/VERSION:=${VERSION}/g' common.mk > i3-${VERSION}/common.mk
53 # Pre-generate a manpage to allow distributors to skip this step and save some dependencies
55 cp man/*.1 i3-${VERSION}/man/
56 cp i3bar/doc/*.1 i3-${VERSION}/i3bar/doc/
57 tar cfj i3-${VERSION}.tar.bz2 i3-${VERSION}
60 clean: $(CLEAN_TARGETS)
61 (which lcov >/dev/null 2>&1 && lcov -d . --zerocounters) || true
64 for dir in $(SUBDIRS); do \
67 $(MAKE) TOPDIR=$(TOPDIR) -C $$dir distclean; \
70 distclean: clean $(DISTCLEAN_TARGETS)
72 for dir in $(SUBDIRS); do \
74 echo "DISTCLEAN $$dir"; \
75 $(MAKE) TOPDIR=$(TOPDIR) -C $$dir distclean; \
79 rm -f /tmp/i3-coverage.info
80 rm -rf /tmp/i3-coverage
81 lcov -d . -b . --capture -o /tmp/i3-coverage.info
82 genhtml -o /tmp/i3-coverage/ /tmp/i3-coverage.info