8 iconslayoutsdir = $(pkgdatadir)/icons/layouts
9 dist_iconslayouts_DATA =
13 LAYOUTS += layouts/tile.c
14 LAYOUTS += layouts/tile.h
16 LAYOUTS += layouts/floating.c
17 LAYOUTS += layouts/floating.h
19 LAYOUTS += layouts/max.c
20 LAYOUTS += layouts/max.h
22 LAYOUTS += layouts/fibonacci.c
23 LAYOUTS += layouts/fibonacci.h
27 WIDGETS += widgets/taglist.c
28 WIDGETS += widgets/layoutinfo.c
29 WIDGETS += widgets/textbox.c
30 WIDGETS += widgets/focustitle.c
31 WIDGETS += widgets/iconbox.c
32 WIDGETS += widgets/netwmicon.c
33 WIDGETS += widgets/progressbar.c
34 WIDGETS += widgets/tasklist.c
35 WIDGETS += widgets/graph.c
46 EXTRA_DIST += awesomerc.in
47 CLEANFILES += awesomerc
48 BUILT_SOURCES += awesomerc
50 awesomerc: $(srcdir)/awesomerc.in
51 $(SED) -e "s|[@]iconslayoutsdir@|$(iconslayoutsdir)|" \
52 < $(srcdir)/awesomerc.in > awesomerc
55 CLEANFILES += defconfig.h
56 BUILT_SOURCES += defconfig.h
57 defconfig.h: awesomerc
58 @echo "generating defconfig.h from awesomerc"
59 @echo "#define AWESOME_DEFAULT_CONFIG \\" > defconfig.h
60 @echo -n "\"" >> defconfig.h
61 @$(SED) 's,\\,\\\\,g;s/$$/ \\/;s/"/\\"/g' "awesomerc" >> defconfig.h
62 @echo "\"" >> defconfig.h
64 CLEANFILES += uicbgen.h
65 BUILT_SOURCES += uicbgen.h
66 EXTRA_DIST += build-utils/uicbgen.sh
67 uicbgen.h: $(awesome_SOURCES)
68 @echo "generating uicbgen.h from headers file"
69 $(top_srcdir)/build-utils/uicbgen.sh "$(top_srcdir)" > uicbgen.h
71 CLEANFILES += layoutgen.h
72 BUILT_SOURCES += layoutgen.h
73 EXTRA_DIST += build-utils/layoutgen.sh
74 layoutgen.h: $(awesome_SOURCES)
75 @echo "generating layoutgen.h from layouts headers file"
76 $(top_srcdir)/build-utils/layoutgen.sh "$(top_srcdir)" > layoutgen.h
78 CLEANFILES += widgetgen.h
79 BUILT_SOURCES += widgetgen.h
80 EXTRA_DIST += build-utils/widgetgen.sh
82 @echo "generating widgetgen.h from widget.h"
83 $(top_srcdir)/build-utils/widgetgen.sh "$(top_srcdir)" > widgetgen.h
85 A_V = awesome-version-internal
86 CLEANFILES += $(A_V).h
87 BUILT_SOURCES += $(A_V).h.stamp
89 @current_ver=`$(SHELL) $(top_srcdir)/build-utils/package-version $(top_srcdir) version-stamp`; \
90 { echo '#ifndef AWESOME_VERSION_INTERNAL_H'; \
91 echo "#define AWESOME_VERSION_INTERNAL \"$${current_ver}\""; \
92 echo "#endif"; } > "$(A_V).h.new"
93 @if test -f "$(A_V).h" \
94 && cmp "$(A_V).h.new" "$(A_V).h"; then :; \
95 else cat "$(A_V).h.new" > "$(A_V).h"; fi; \
99 # If you are using gcc, and want to deactivate this default set of
100 # compile flags, run make with AWESOME_CFLAGS="".
101 AWESOME_CFLAGS = -std=gnu99 -pipe \
103 -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wsign-compare \
104 -Wunused -Winit-self -Wpointer-arith -Wredundant-decls \
105 -Wmissing-prototypes -Wmissing-format-attribute -Wmissing-noreturn
107 AM_CPPFLAGS = $(XFT_CFLAGS) $(X_CFLAGS) $(CAIRO_CFLAGS) $(CONFUSE_CFLAGS) $(XRANDR_CFLAGS) $(XINERAMA_CFLAGS) $(AWESOME_CFLAGS)
109 bin_PROGRAMS += awesome
112 common/awesome-version.c common/awesome-version.h \
114 common/draw.c common/draw.h \
117 awesome.c awesome.h \
119 common/util.c common/util.h \
123 statusbar.c statusbar.h \
129 common/swindow.c common/swindow.h \
132 common/list.h structs.h
133 awesome_SOURCES += $(LAYOUTS)
134 awesome_SOURCES += $(WIDGETS)
135 awesome_LDADD = $(XFT_LIBS) $(X_LIBS) $(CAIRO_LIBS) $(CONFUSE_LIBS) $(XRANDR_LIBS) $(XINERAMA_LIBS)
137 bin_PROGRAMS += awesome-client
138 awesome_client_SOURCES = \
139 awesome-client.c awesome-client.h \
140 common/awesome-version.c common/awesome-version.h \
142 common/util.c common/util.h
144 bin_PROGRAMS += awesome-message
145 awesome_message_SOURCES = \
146 common/swindow.c common/swindow.h \
147 common/draw.c common/draw.h \
148 common/util.h common/util.c \
149 common/awesome-version.h common/awesome-version.c \
152 awesome_message_LDADD = $(XFT_LIBS) $(X_LIBS) $(CAIRO_LIBS)
154 EXTRA_DIST += awesome.1.txt
155 man_MANS += awesome.1
157 EXTRA_DIST += awesome-client.1.txt
158 man_MANS += awesome-client.1
160 EXTRA_DIST += awesomerc.1.txt
161 man_MANS += awesomerc.1
163 dist_iconslayouts_DATA += icons/layouts/dwindle.png
164 dist_iconslayouts_DATA += icons/layouts/dwindlew.png
165 dist_iconslayouts_DATA += icons/layouts/floating.png
166 dist_iconslayouts_DATA += icons/layouts/floatingw.png
167 dist_iconslayouts_DATA += icons/layouts/max.png
168 dist_iconslayouts_DATA += icons/layouts/maxw.png
169 dist_iconslayouts_DATA += icons/layouts/spiral.png
170 dist_iconslayouts_DATA += icons/layouts/spiralw.png
171 dist_iconslayouts_DATA += icons/layouts/tile.png
172 dist_iconslayouts_DATA += icons/layouts/tilebottom.png
173 dist_iconslayouts_DATA += icons/layouts/tilebottomw.png
174 dist_iconslayouts_DATA += icons/layouts/tileleft.png
175 dist_iconslayouts_DATA += icons/layouts/tileleftw.png
176 dist_iconslayouts_DATA += icons/layouts/tiletop.png
177 dist_iconslayouts_DATA += icons/layouts/tiletopw.png
178 dist_iconslayouts_DATA += icons/layouts/tilew.png
181 rm -f awesome*.1 awesome*.1.xml
183 SUFFIXES += .1.xml .1
189 SUFFIXES += .1.txt .1.xml
192 $(ASCIIDOC) -d manpage -b docbook -o $@ $<
196 # Check that package version matches git version before creating dist tarballs
197 dist-hook: git-version-check
198 distcheck-hook: git-version-check
200 # Note: We cannot run autogen.sh from here, because we would need some way to
201 # restart the whole dist process from the start and there is none.
202 EXTRA_DIST += build-utils/package-version
204 @git_ver=`$(top_srcdir)/build-utils/package-version $(top_srcdir) version-stamp`; \
205 if test "x$${git_ver}" = "x$(PACKAGE_VERSION)"; then :; else \
206 echo "ERROR: PACKAGE_VERSION and 'git describe' version do not match:"; \
207 echo " current 'git describe' version: $${git_ver}"; \
208 echo " current PACKAGE_VERSION: $(PACKAGE_VERSION)"; \
209 echo "You can update PACKAGE_VERSION by running $(top_srcdir)/autogen.sh."; \
213 # Version stamp files can only exist in tarball source trees.
215 # So there is no need to generate them anywhere else or to clean them
218 echo "$(PACKAGE_VERSION)" > "$(distdir)/version-stamp"
220 EXTRA_DIST += awesome.doxygen.in
222 # Workaround for buggy pre-1.5.3 doxygen.
224 # Some pre-1.5.3 versions of doxygen segfault on reading these lines.
225 # Call make with DOXYGEN_SEGFAULT=-segfault as a workaround.
226 CLEANFILES += awesome.doxygen-segfault
227 awesome.doxygen-segfault: awesome.doxygen
228 $(SED) '/^QT_AUTOBRIEF/d; /^EXTRACT_ANON_NSPACES/d; /^HTML_DYNAMIC_SECTIONS/d' \
229 < awesome.doxygen > awesome.doxygen-segfault
232 doc: doc/html/index.html
234 doc/html/index.html: awesome.doxygen$(DOXYGEN_SEGFAULT) $(awesome_SOURCES) $(awesome_client_SOURCES)
235 $(DOXYGEN) awesome.doxygen$(DOXYGEN_SEGFAULT)