annotate Makefile @ 937:ffe985308567

irccd: add server functions
author David Demelier <markand@malikania.fr>
date Mon, 11 Jan 2021 10:28:49 +0100
parents 6866d0d0e360
children 7b74df7e8913
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 \
936
6866d0d0e360 irccd: add log.h
David Demelier <markand@malikania.fr>
parents: 935
diff changeset
28 irccd/log.c \
937
ffe985308567 irccd: add server functions
David Demelier <markand@malikania.fr>
parents: 936
diff changeset
29 irccd/server.c \
935
b0451fc0a17d irccd: add subst.h header
David Demelier <markand@malikania.fr>
parents: 934
diff changeset
30 irccd/subst.c \
934
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 irccd/util.c
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 IRCCD_OBJS= ${IRCCD_SRCS:.c=.o}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 IRCCD_DEPS= ${IRCCD_SRCS:.c=.d}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
34
936
6866d0d0e360 irccd: add log.h
David Demelier <markand@malikania.fr>
parents: 935
diff changeset
35 TESTS= tests/test-log.c \
6866d0d0e360 irccd: add log.h
David Demelier <markand@malikania.fr>
parents: 935
diff changeset
36 tests/test-util.c \
935
b0451fc0a17d irccd: add subst.h header
David Demelier <markand@malikania.fr>
parents: 934
diff changeset
37 tests/test-subst.c
934
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 TESTS_OBJS= ${TESTS:.c=}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 FLAGS= -D_BSD_SOURCE \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 -I extern/libduktape \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 -I extern/libgreatest \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 -I extern/libcompat/include \
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 -I .
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 all: ${IRCCD}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 .c.o:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 ${CC} -MMD ${FLAGS} ${CFLAGS} -c $< -o $@
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 .c:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 ${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
53
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 -include ${IRCCD_DEPS}
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 extern/libcompat/libcompat.a:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 ${MAKE} -C extern/libcompat
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 ${IRCCD_OBJS}: extern/libcompat/libcompat.a
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
60
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 ${IRCCD}: irccd/main.o ${IRCCD_OBJS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 ${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
63
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 clean:
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 ${MAKE} -C extern/libcompat clean
937
ffe985308567 irccd: add server functions
David Demelier <markand@malikania.fr>
parents: 936
diff changeset
66 rm -f irccd/main.o irccd/main.d ${IRCCD} ${IRCCD_OBJS} ${IRCCD_DEPS}
934
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 ${TESTS_OBJS}: ${IRCCD_OBJS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 tests: ${TESTS_OBJS}
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 for t in ${TESTS_OBJS}; do ./$$t; done
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
243f9f51b0ff irccd: import libcompat and utilities
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 .PHONY: all clean tests