annotate Makefile @ 934:243f9f51b0ff

irccd: import libcompat and utilities
author David Demelier <markand@malikania.fr>
date Sun, 10 Jan 2021 16:56:32 +0100
parents
children b0451fc0a17d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
934
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # Makefile -- POSIX makefile for irccd
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Copyright (c) 2013-2021 David Demelier <markand@malikania.fr>
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .POSIX:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 .SUFFIXES:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 .SUFFIXES: .o .c
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 include config.mk
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 IRCCD= irccd/irccd
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 IRCCD_SRCS= extern/libduktape/duktape.c \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 irccd/util.c
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 IRCCD_OBJS= ${IRCCD_SRCS:.c=.o}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 IRCCD_DEPS= ${IRCCD_SRCS:.c=.d}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
31
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 TESTS= tests/test-util.c
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 TESTS_OBJS= ${TESTS:.c=}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
34
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 FLAGS= -D_BSD_SOURCE \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 -I extern/libduktape \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 -I extern/libgreatest \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 -I extern/libcompat/include \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 -I .
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 all: ${IRCCD}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 .c.o:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 ${CC} -MMD ${FLAGS} ${CFLAGS} -c $< -o $@
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 .c:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 ${CC} ${FLAGS} ${CFLAGS} $< -o $@ extern/libcompat/libcompat.a ${IRCCD_OBJS} ${LDFLAGS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
48
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 -include ${IRCCD_DEPS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
50
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 extern/libcompat/libcompat.a:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 ${MAKE} -C extern/libcompat
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 ${IRCCD_OBJS}: extern/libcompat/libcompat.a
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 ${IRCCD}: irccd/main.o ${IRCCD_OBJS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 ${CC} -o $@ extern/libcompat/libcompat.a irccd/main.o ${IRCCD_OBJS} ${LDFLAGS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 clean:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 ${MAKE} -C extern/libcompat clean
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 rm -f irccd/main.o ${IRCCD} ${IRCCD_OBJS} ${IRCCD_DEPS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
62
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 ${TESTS_OBJS}: ${IRCCD_OBJS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 tests: ${TESTS_OBJS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 for t in ${TESTS_OBJS}; do ./$$t; done
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 .PHONY: all clean tests