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 @cp
-fR STYLE LICENSE AUTHORS Makefile README awesomerc config.mk \
65 awesome-client
.1.txt awesome
.1.txt awesomerc
.1.txt
${SRCCLIENT} ${SRCCLIENT
:.c
=.h
} ${SRC} ${SRC
:.c
=.h
} \
66 awesome-
${VERSION} || true
67 @cp
-R
${LAYOUTS} ${LAYOUTS
:.c
=.h
} awesome-
${VERSION}/layouts
68 @cp
-R
${WIDGETS} ${WIDGETS
:.c
=.h
} awesome-
${VERSION}/layouts
69 @
tar -cf awesome-
${VERSION}.
tar awesome-
${VERSION}
70 @gzip
-9 awesome-
${VERSION}.
tar
71 @
rm -rf awesome-
${VERSION}
73 strip: awesome awesome-client
77 install: strip install-unstrip
79 install-unstrip
: awesome awesome-client man
80 @echo installing executable file to
${DESTDIR}${PREFIX}/bin
81 @
install -d
${DESTDIR}${PREFIX}/bin
82 @
install -m
755 awesome awesome-client
${DESTDIR}${PREFIX}/bin
83 @echo installing manual page to
${DESTDIR}${MANPREFIX}/man1
84 @
install -d
${DESTDIR}${MANPREFIX}/man1
85 @
install -m
644 ${DOCS
:.txt
=} ${DESTDIR}${MANPREFIX}/man1
86 @echo installing shared data to
${DESTDIR}${PREFIX}/share
87 @
install -d
${DESTDIR}${PREFIX}/share
/awesome
/icons
/layouts
88 @
install icons
/layouts
/* ${DESTDIR}${PREFIX}/share
/awesome
/icons
/layouts
/
91 @echo removing executable file from
${DESTDIR}${PREFIX}/bin
92 @
rm ${DESTDIR}${PREFIX}/bin
/awesome
${DESTDIR}${PREFIX}/bin
/awesome-client
93 @echo removing manual page from
${DESTDIR}${MANPREFIX}/man1
94 @
rm ${DESTDIR}${MANPREFIX}/man1
/awesome
.1 ${DESTDIR}${MANPREFIX}/man1
/awesome-client
.1 ${DESTDIR}${MANPREFIX}/man1
/awesomerc
.1
95 @echo removing shared data from
${DESTDIR}${PREFIX}/share
96 @
rm -rf
${DESTDIR}${PREFIX}/share
/awesome
99 @echo generating documentation
100 @doxygen awesome.doxygen
102 .PHONY
: all options
clean dist install uninstall doc man