268 lines
8.3 KiB
Makefile
268 lines
8.3 KiB
Makefile
BUILT_SOURCES =
|
|
CLEANFILES =
|
|
EXTRA_DIST =
|
|
SUFFIXES =
|
|
bin_PROGRAMS =
|
|
doc_DATA =
|
|
man_MANS =
|
|
iconsdir = $(pkgdatadir)/icons
|
|
dist_icons_DATA =
|
|
iconslayoutsdir = $(iconsdir)/layouts
|
|
dist_iconslayouts_DATA =
|
|
awfuldir = $(pkgdatadir)/lib
|
|
dist_awful_DATA =
|
|
|
|
LAYOUTS =
|
|
|
|
LAYOUTS += layouts/tile.c
|
|
LAYOUTS += layouts/tile.h
|
|
|
|
LAYOUTS += layouts/floating.c
|
|
LAYOUTS += layouts/floating.h
|
|
|
|
LAYOUTS += layouts/max.c
|
|
LAYOUTS += layouts/max.h
|
|
|
|
LAYOUTS += layouts/fibonacci.c
|
|
LAYOUTS += layouts/fibonacci.h
|
|
|
|
LAYOUTS += layouts/magnifier.c
|
|
LAYOUTS += layouts/magnifier.h
|
|
|
|
WIDGETS =
|
|
WIDGETS += widgets/taglist.c
|
|
WIDGETS += widgets/textbox.c
|
|
WIDGETS += widgets/iconbox.c
|
|
WIDGETS += widgets/progressbar.c
|
|
WIDGETS += widgets/tasklist.c
|
|
WIDGETS += widgets/graph.c
|
|
|
|
|
|
doc_DATA += README
|
|
|
|
EXTRA_DIST += LICENSE
|
|
|
|
EXTRA_DIST += STYLE
|
|
doc_DATA += STYLE
|
|
|
|
EXTRA_DIST += build-utils/gendoc.lua
|
|
|
|
EXTRA_DIST += awful.lua
|
|
dist_awful_DATA += awful.lua
|
|
|
|
EXTRA_DIST += awesomerc.lua.in
|
|
CLEANFILES += awesomerc.lua
|
|
BUILT_SOURCES += awesomerc.lua
|
|
doc_DATA += awesomerc.lua
|
|
awesomerc.lua: $(srcdir)/awesomerc.lua.in
|
|
$(SED) -e "s|[@]iconslayoutsdir@|$(iconslayoutsdir)|;s|[@]iconsdir@|$(iconsdir)|" \
|
|
< $(srcdir)/awesomerc.lua.in > awesomerc.lua
|
|
|
|
CLEANFILES += layoutgen.h
|
|
BUILT_SOURCES += layoutgen.h
|
|
EXTRA_DIST += build-utils/layoutgen.sh
|
|
layoutgen.h: $(awesome_SOURCES)
|
|
@echo "generating layoutgen.h from layouts headers file"
|
|
$(top_srcdir)/build-utils/layoutgen.sh "$(top_srcdir)" > layoutgen.h
|
|
|
|
CLEANFILES += widgetgen.h
|
|
BUILT_SOURCES += widgetgen.h
|
|
EXTRA_DIST += build-utils/widgetgen.sh
|
|
widgetgen.h: widget.h
|
|
@echo "generating widgetgen.h from widget.h"
|
|
$(top_srcdir)/build-utils/widgetgen.sh "$(top_srcdir)" > widgetgen.h
|
|
|
|
A_V = awesome-version-internal
|
|
CLEANFILES += $(A_V).h
|
|
BUILT_SOURCES += $(A_V).h.stamp
|
|
$(A_V).h.stamp:
|
|
@current_ver=`$(SHELL) $(top_srcdir)/build-utils/package-version $(top_srcdir) version-stamp`; \
|
|
{ echo '#ifndef AWESOME_VERSION_INTERNAL'; \
|
|
echo "#define AWESOME_VERSION_INTERNAL \"$${current_ver}\""; \
|
|
echo "#endif"; } > "$(A_V).h.new"
|
|
@if test -f "$(A_V).h" \
|
|
&& cmp "$(A_V).h.new" "$(A_V).h"; then :; \
|
|
else cat "$(A_V).h.new" > "$(A_V).h"; fi; \
|
|
rm -f "$(A_V).h.new"
|
|
|
|
if USING_GCC
|
|
# If you are using gcc, and want to deactivate this default set of
|
|
# compile flags, run make with AWESOME_CFLAGS="".
|
|
AWESOME_CFLAGS = -std=gnu99 -pipe \
|
|
-Wall -Wextra \
|
|
-Wundef -Wshadow -Wcast-align -Wwrite-strings -Wsign-compare \
|
|
-Wunused -Winit-self -Wpointer-arith -Wredundant-decls \
|
|
-Wmissing-prototypes -Wmissing-format-attribute -Wmissing-noreturn
|
|
endif
|
|
AM_CPPFLAGS = $(pangocairo_CFLAGS) $(AWESOME_CFLAGS) \
|
|
$(GTK_CFLAGS) $(imlib2_CFLAGS) \
|
|
$(xcb_CFLAGS) $(xcb_event_CFLAGS) \
|
|
$(xcb_randr_CFLAGS) $(xcb_xinerama_CFLAGS) $(xcb_shape_CFLAGS) \
|
|
$(xcb_aux_CFLAGS) $(xcb_atom_CFLAGS) $(xcb_keysyms_CFLAGS) \
|
|
$(xcb_icccm_CFLAGS) $(dbus_CFLAGS) $(Lua_CFLAGS) $(gthread_CLFAGS)
|
|
|
|
bin_PROGRAMS += awesome
|
|
awesome_SOURCES = \
|
|
common/socket.c common/socket.h \
|
|
common/swindow.c common/swindow.h \
|
|
common/version.c common/version.h \
|
|
common/util.c common/util.h \
|
|
common/xutil.c common/xutil.h \
|
|
common/configopts.h common/configopts.c \
|
|
common/xscreen.h common/xscreen.c \
|
|
common/draw.c common/draw.h \
|
|
common/markup.c common/markup.h \
|
|
common/list.h common/refcount.h \
|
|
structs.h \
|
|
client.c client.h \
|
|
titlebar.c titlebar.h \
|
|
placement.c placement.h \
|
|
focus.c focus.h \
|
|
stack.c stack.h \
|
|
cnode.c cnode.h \
|
|
event.c event.h \
|
|
layout.c layout.h \
|
|
keybinding.c keybinding.h \
|
|
awesome.c \
|
|
tag.c tag.h \
|
|
lua.c lua.h \
|
|
screen.c screen.h \
|
|
statusbar.c statusbar.h \
|
|
window.c window.h \
|
|
mouse.c mouse.h \
|
|
widget.c widget.h \
|
|
ewmh.c ewmh.h \
|
|
dbus.c dbus.h
|
|
awesome_SOURCES += $(LAYOUTS)
|
|
awesome_SOURCES += $(WIDGETS)
|
|
awesome_LDADD = $(pangocairo_LIBS) $(xcb_LIBS) $(xcb_event_LIBS) \
|
|
$(xcb_randr_LIBS) $(xcb_xinerama_LIBS) $(xcb_shape_LIBS) $(xcb_aux_LIBS) \
|
|
$(xcb_atom_LIBS) $(xcb_keysyms_LIBS) $(xcb_icccm_LIBS) $(dbus_LIBS)\
|
|
$(imlib2_LIBS) $(GTK_LIBS) $(Lua_LIBS) $(gthread_LIBS)
|
|
|
|
bin_PROGRAMS += awesome-client
|
|
awesome_client_SOURCES = \
|
|
awesome-client.c \
|
|
common/socket.c common/socket.h \
|
|
common/version.c common/version.h \
|
|
common/util.c common/util.h
|
|
awesome_client_LDADD = -lreadline
|
|
|
|
if HAVE_XMLTO
|
|
if HAVE_ASCIIDOC
|
|
if XMLTO_MAN_WORKS
|
|
man_MANS += awesome.1
|
|
man_MANS += awesome-client.1
|
|
man_MANS += awesomerc.5
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
EXTRA_DIST += awesome.1.txt
|
|
EXTRA_DIST += awesome-client.1.txt
|
|
EXTRA_DIST += awesomerc.5.txt
|
|
|
|
dist_icons_DATA += icons/awesome16.png
|
|
dist_icons_DATA += icons/awesome32.png
|
|
dist_icons_DATA += icons/awesome48.png
|
|
dist_icons_DATA += icons/awesome64.png
|
|
dist_iconslayouts_DATA += icons/layouts/dwindle.png
|
|
dist_iconslayouts_DATA += icons/layouts/dwindlew.png
|
|
dist_iconslayouts_DATA += icons/layouts/floating.png
|
|
dist_iconslayouts_DATA += icons/layouts/floatingw.png
|
|
dist_iconslayouts_DATA += icons/layouts/max.png
|
|
dist_iconslayouts_DATA += icons/layouts/maxw.png
|
|
dist_iconslayouts_DATA += icons/layouts/spiral.png
|
|
dist_iconslayouts_DATA += icons/layouts/spiralw.png
|
|
dist_iconslayouts_DATA += icons/layouts/tile.png
|
|
dist_iconslayouts_DATA += icons/layouts/tilebottom.png
|
|
dist_iconslayouts_DATA += icons/layouts/tilebottomw.png
|
|
dist_iconslayouts_DATA += icons/layouts/tileleft.png
|
|
dist_iconslayouts_DATA += icons/layouts/tileleftw.png
|
|
dist_iconslayouts_DATA += icons/layouts/tiletop.png
|
|
dist_iconslayouts_DATA += icons/layouts/tiletopw.png
|
|
dist_iconslayouts_DATA += icons/layouts/tilew.png
|
|
|
|
clean-local:
|
|
rm -f awesome*.1 awesome*.1.xml awesome*.5 awesome*.5.xml
|
|
|
|
SUFFIXES += .1.xml .1
|
|
SUFFIXES += .5.xml .5
|
|
if HAVE_XMLTO
|
|
.1.xml.1:
|
|
$(XMLTO) man $<
|
|
.5.xml.5:
|
|
$(XMLTO) man $<
|
|
endif
|
|
|
|
SUFFIXES += .1.txt .1.xml
|
|
SUFFIXES += .5.txt .5.xml
|
|
if HAVE_ASCIIDOC
|
|
CLEANFILES += apidocgen.txt
|
|
BUILT_SOURCES += apidocgen.txt
|
|
APIDOCSOURCES=$(shell grep -l 'const struct luaL_reg' $(awesome_SOURCES))
|
|
apidocgen.txt: $(APIDOCSOURCES) build-utils/gendoc.lua
|
|
cat $(APIDOCSOURCES) | $(LUA) $(top_srcdir)/build-utils/gendoc.lua > apidocgen.txt
|
|
.1.txt.1.xml:
|
|
$(ASCIIDOC) -d manpage -b docbook -o $@ $<
|
|
awesomerc.5.xml: apidocgen.txt
|
|
.5.txt.5.xml:
|
|
$(ASCIIDOC) -d manpage -b docbook -o $@ $<
|
|
endif
|
|
|
|
|
|
# Check that package version matches git version before creating dist tarballs
|
|
dist-hook: git-version-check
|
|
distcheck-hook: git-version-check
|
|
|
|
# Note: We cannot run autogen.sh from here, because we would need some way to
|
|
# restart the whole dist process from the start and there is none.
|
|
EXTRA_DIST += build-utils/package-version
|
|
git-version-check:
|
|
@git_ver=`$(top_srcdir)/build-utils/package-version $(top_srcdir) version-stamp`; \
|
|
if test "x$${git_ver}" = "x$(PACKAGE_VERSION)"; then :; else \
|
|
echo "ERROR: PACKAGE_VERSION and 'git describe' version do not match:"; \
|
|
echo " current 'git describe' version: $${git_ver}"; \
|
|
echo " current PACKAGE_VERSION: $(PACKAGE_VERSION)"; \
|
|
echo "Update PACKAGE_VERSION by running $(top_srcdir)/autogen.sh."; \
|
|
exit 1; \
|
|
fi
|
|
|
|
# Version stamp files can only exist in tarball source trees.
|
|
#
|
|
# So there is no need to generate them anywhere else or to clean them
|
|
# up anywhere.
|
|
dist-hook:
|
|
echo "$(PACKAGE_VERSION)" > "$(distdir)/version-stamp"
|
|
|
|
EXTRA_DIST += awesome.doxygen.in
|
|
|
|
# Workaround for buggy pre-1.5.3 doxygen.
|
|
#
|
|
# Some pre-1.5.3 versions of doxygen segfault on reading these lines.
|
|
# Call make with DOXYGEN_SEGFAULT=-segfault as a workaround.
|
|
CLEANFILES += awesome.doxygen-segfault
|
|
awesome.doxygen-segfault: awesome.doxygen
|
|
$(SED) '/^QT_AUTOBRIEF/d; /^EXTRACT_ANON_NSPACES/d; /^HTML_DYNAMIC_SECTIONS/d' \
|
|
< awesome.doxygen > awesome.doxygen-segfault
|
|
|
|
if HAVE_DOXYGEN
|
|
doc: doc/html/index.html
|
|
|
|
doc/html/index.html: awesome.doxygen$(DOXYGEN_SEGFAULT) $(awesome_SOURCES) $(awesome_client_SOURCES)
|
|
$(DOXYGEN) awesome.doxygen$(DOXYGEN_SEGFAULT)
|
|
endif
|
|
|
|
|
|
# Presuming we are running awesome on this screen, and this is screen 0, ...
|
|
# ...we replace the running awesome instance by a freshly compiled one.
|
|
restart-uninstalled: awesome awesome-client
|
|
screen=`echo "$${DISPLAY}" | sed 's/.*:[0-9]\.\([0-9]*\)$$/\1/; s/.*:\([0-9]*\)$$/0/'`; \
|
|
echo "$${screen}" exec "$${PWD}/awesome" | "$${PWD}/awesome-client"
|
|
|
|
# ...we replace the running awesome instance by the last installed one.
|
|
restart-installed:
|
|
screen=`echo "$${DISPLAY}" | sed 's/.*:[0-9]\.\([0-9]*\)$$/\1/; s/.*:\([0-9]*\)$$/0/'`; \
|
|
echo "$${screen}" exec "$(DESTDIR)$(bindir)/awesome" | "$(DESTDIR)$(bindir)/awesome-client"
|
|
|