2 # © 2007-2008 Julien Danjou <julien@danjou.info>
6 SRC
= focus.c client.c draw.c event.c layout.c awesome.c tag.c util.c xutil.c config.c screen.c statusbar.c uicb.c window.c rules.c mouse.c awesome-client-common.c widget.c ewmh.c
7 OBJ
= ${SRC
:.c
=.o
} ${LAYOUTS
:.c
=.o
} ${WIDGETS
:.c
=.o
}
8 DOCS
= awesome
.1.txt awesome-client
.1.txt awesomerc
.1.txt
10 SRCCLIENT
= awesome-client.c awesome-client-common.c util.c
11 OBJCLIENT
= ${SRCCLIENT
:.c
=.o
}
13 all: options awesome awesome-client
16 @echo awesome build options
:
17 @echo
"LAYOUTS = ${LAYOUTS}"
18 @echo
"WIDGETS = ${WIDGETS}"
19 @echo
"CFLAGS = ${CFLAGS}"
20 @echo
"LDFLAGS = ${LDFLAGS}"
25 @
${CC} -c
${CFLAGS} $< -o
$@
27 ${OBJ}: awesome.h config.mk
29 ${OBJCLIENT}: config.mk
32 asciidoc
-d manpage
-b docbook awesome
.1.txt
33 asciidoc
-d manpage
-b docbook awesome-client
.1.txt
34 asciidoc
-d manpage
-b docbook awesomerc
.1.txt
35 xmlto man awesome
.1.xml
36 xmlto man awesome-client
.1.xml
37 xmlto man awesomerc
.1.xml
39 awesome-client
: ${OBJCLIENT}
40 @echo
-e
"\t(CC) ${OBJCLIENT} -o $@"
41 @
${CC} -o
$@
${OBJCLIENT} ${CLIENTLDFLAGS}
43 defconfig.h
: awesomerc
44 @echo generating defconfig.h from awesomerc
45 @echo
"#define AWESOME_DEFAULT_CONFIG \\" > defconfig.h
46 @echo
-n
"\"" >> defconfig.h
47 @sed
's,\\,\\\\,g;s/$$/ \\/;s/"/\\"/g' awesomerc
>> defconfig.h
48 @echo
"\"" >> defconfig.h
50 awesome
: defconfig.h
${OBJ}
51 @echo
-e
"\t(CC) ${OBJ} -o $@"
52 @
${CC} -o
$@
${OBJ} ${LDFLAGS}
56 @
rm -f awesome awesome-client defconfig.h
${DOCS
:.txt
=} ${DOCS
:.txt
=.xml
} ${OBJCLIENT} ${OBJ} awesome-
${VERSION}.
tar.gz
60 @echo creating
dist tarball
61 @mkdir awesome-
${VERSION}
62 @mkdir awesome-
${VERSION}/layouts
63 @mkdir awesome-
${VERSION}/widgets
64 @mkdir awesome-
${VERSION}/icons
65 @mkdir awesome-
${VERSION}/icons
/layouts
66 @cp
-fR STYLE LICENSE AUTHORS Makefile README awesomerc config.mk \
67 awesome-client
.1.txt awesome
.1.txt awesomerc
.1.txt
${SRCCLIENT} ${SRCCLIENT
:.c
=.h
} ${SRC} ${SRC
:.c
=.h
} \
68 awesome-
${VERSION} || true
69 @cp
-R
${LAYOUTS} ${LAYOUTS
:.c
=.h
} awesome-
${VERSION}/layouts
70 @cp
-R
${WIDGETS} awesome-
${VERSION}/widgets
71 @cp
-R icons
/layouts
/* awesome-
${VERSION}/icons
/layouts
72 @
tar -cf awesome-
${VERSION}.
tar awesome-
${VERSION}
73 @gzip
-9 awesome-
${VERSION}.
tar
74 @
rm -rf awesome-
${VERSION}
76 strip: awesome awesome-client
80 install: strip install-unstrip
82 install-unstrip
: awesome awesome-client man
83 @echo installing executable file to
${DESTDIR}${PREFIX}/bin
84 @
install -d
${DESTDIR}${PREFIX}/bin
85 @
install -m
755 awesome awesome-client
${DESTDIR}${PREFIX}/bin
86 @echo installing manual page to
${DESTDIR}${MANPREFIX}/man1
87 @
install -d
${DESTDIR}${MANPREFIX}/man1
88 @
install -m
644 ${DOCS
:.txt
=} ${DESTDIR}${MANPREFIX}/man1
89 @echo installing shared data to
${DESTDIR}${PREFIX}/share
90 @
install -d
${DESTDIR}${PREFIX}/share
/awesome
/icons
/layouts
91 @
install icons
/layouts
/* ${DESTDIR}${PREFIX}/share
/awesome
/icons
/layouts
/
94 @echo removing executable file from
${DESTDIR}${PREFIX}/bin
95 @
rm ${DESTDIR}${PREFIX}/bin
/awesome
${DESTDIR}${PREFIX}/bin
/awesome-client
96 @echo removing manual page from
${DESTDIR}${MANPREFIX}/man1
97 @
rm ${DESTDIR}${MANPREFIX}/man1
/awesome
.1 ${DESTDIR}${MANPREFIX}/man1
/awesome-client
.1 ${DESTDIR}${MANPREFIX}/man1
/awesomerc
.1
98 @echo removing shared data from
${DESTDIR}${PREFIX}/share
99 @
rm -rf
${DESTDIR}${PREFIX}/share
/awesome
102 @echo generating documentation
103 @doxygen awesome.doxygen
105 .PHONY
: all options
clean dist install uninstall doc man