i3/Makefile

69 lines
2.4 KiB
Makefile
Raw Permalink Normal View History

TOPDIR=$(shell pwd)
include $(TOPDIR)/common.mk
SUBDIRS:=
2012-05-16 10:19:12 -04:00
ALL_TARGETS =
INSTALL_TARGETS =
CLEAN_TARGETS =
DISTCLEAN_TARGETS =
all: real-all
2012-05-16 10:22:57 -04:00
include libi3/libi3.mk
2012-05-16 10:19:12 -04:00
include src/i3.mk
include i3-config-wizard/i3-config-wizard.mk
2012-05-16 10:22:57 -04:00
include i3-msg/i3-msg.mk
include i3-input/i3-input.mk
include i3-nagbar/i3-nagbar.mk
2012-05-16 10:22:57 -04:00
include i3bar/i3bar.mk
include i3-dump-log/i3-dump-log.mk
2012-06-17 08:31:45 -04:00
include docs/docs.mk
2012-06-17 08:52:41 -04:00
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
2012-05-16 11:32:25 -04:00
real-all: $(ALL_TARGETS)
2012-05-16 10:19:12 -04:00
install: $(INSTALL_TARGETS)
2009-02-22 11:41:30 -05:00
2009-08-19 08:37:46 -04:00
dist: distclean
[ ! -d i3-${VERSION} ] || rm -rf i3-${VERSION}
[ ! -e i3-${VERSION}.tar.bz2 ] || rm i3-${VERSION}.tar.bz2
mkdir i3-${VERSION}
2014-01-04 06:20:12 -05:00
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}
cp -r src libi3 i3-msg i3-nagbar i3-config-wizard i3bar i3-dump-log include man parser-specs testcases i3-${VERSION}
# Only copy toplevel documentation (important stuff)
mkdir i3-${VERSION}/docs
2010-03-30 07:20:04 -04:00
# Pre-generate documentation
2012-06-17 08:31:45 -04:00
$(MAKE) docs
# Cleanup τεχ output files
find docs -regex ".*\.\(aux\|out\|log\|toc\|bm\|dvi\|log\)" -exec rm '{}' \;
2010-03-30 07:25:25 -04:00
find docs -maxdepth 1 -type f ! \( -name "*.xcf" -or -name "*.svg" \) -exec cp '{}' i3-${VERSION}/docs \;
2009-11-09 15:28:29 -05:00
# Only copy source code from i3-input
mkdir i3-${VERSION}/i3-input
find i3-input -maxdepth 1 -type f \( -name "*.c" -or -name "*.mk" -or -name "*.h" -or -name "Makefile" \) -exec cp '{}' i3-${VERSION}/i3-input \;
2012-08-05 08:38:52 -04:00
echo -n ${I3_VERSION} > i3-${VERSION}/I3_VERSION
echo -n ${VERSION} > i3-${VERSION}/VERSION
2009-08-19 08:37:46 -04:00
# Pre-generate a manpage to allow distributors to skip this step and save some dependencies
2012-06-17 08:52:41 -04:00
$(MAKE) mans
2009-11-09 15:28:29 -05:00
cp man/*.1 i3-${VERSION}/man/
tar cfj i3-${VERSION}.tar.bz2 i3-${VERSION}
rm -rf i3-${VERSION}
2012-05-16 10:19:12 -04:00
clean: $(CLEAN_TARGETS)
(which lcov >/dev/null 2>&1 && lcov -d . --zerocounters) || true
2009-02-13 13:09:25 -05:00
2012-05-16 10:19:12 -04:00
distclean: clean $(DISTCLEAN_TARGETS)
coverage:
rm -f /tmp/i3-coverage.info
rm -rf /tmp/i3-coverage
lcov -d . -b . --capture -o /tmp/i3-coverage.info
genhtml -o /tmp/i3-coverage/ /tmp/i3-coverage.info