annotate Makefile @ 18:600204c31bf0

misc: refactor
author David Demelier <markand@malikania.fr>
date Tue, 12 Jul 2022 20:20:51 +0200
parents 2c642e18a5c0
children de4bf839b565
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
1 #
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
2 # Makefile -- POSIX Makefile for sci
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
3 #
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
4 # Copyright (c) 2021 David Demelier <markand@malikania.fr>
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
5 #
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
8 # copyright notice and this permission notice appear in all copies.
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
9 #
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
17 #
5afdb14df924 sci: add support for storing results
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
18
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .POSIX:
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 include config.mk
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
23 LIBSCI_SRCS= lib/log.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
24 lib/types.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
25 lib/util.c
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
26 LIBSCI_OBJS= ${LIBSCI_SRCS:.c=.o}
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
27 LIBSCI_DEPS= ${LIBSCI_SRCS:.c=.d}
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
28
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
29 SCID_SQL= sql/init.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
30 sql/job-add.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
31 sql/job-todo.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
32 sql/jobresult-add.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
33 sql/project-add.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
34 sql/project-find-id.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
35 sql/project-find.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
36 sql/project-list.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
37 sql/project-update.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
38 sql/worker-add.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
39 sql/worker-find.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
40 sql/worker-find-id.h \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
41 sql/worker-list.h
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
42
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
43 SCID_SRCS= extern/libsqlite/sqlite3.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
44 scid/db.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
45 scid/http.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
46 scid/main.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
47 scid/page-api-jobs.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
48 scid/page-api-projects.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
49 scid/page-api-workers.c \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
50 scid/page.c
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 SCID_OBJS= ${SCID_SRCS:.c=.o}
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 SCID_DEPS= ${SCID_SRCS:.c=.d}
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
54 SCIWORKERD_SRCS= sciworkerd/main.c sciworkerd/task.c
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 SCIWORKERD_OBJS= ${SCIWORKERD_SRCS:.c=.o}
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 SCIWORKERD_DEPS= ${SCIWORKERD_SRCS:.c=.d}
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
57
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
58 MAN7= man/sci.7
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
59 MAN8= man/scid.8 \
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
60 man/sciworkerd.8
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
61
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
62 TESTS= tests/test-db.c
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
63 TESTS_OBJS= ${TESTS:.c=}
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
64 TESTS_DEPS= ${TESTS:.c=.d}
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
65
15
2c642e18a5c0 make: minor fixes
David Demelier <markand@malikania.fr>
parents: 14
diff changeset
66 LIBBSD_INCS= `pkg-config --silence-errors --cflags libbsd-overlay`
2c642e18a5c0 make: minor fixes
David Demelier <markand@malikania.fr>
parents: 14
diff changeset
67 LIBBSD_LIBS= `pkg-config --silence-errors --libs libbsd-overlay`
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
68
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 LIBCURL_INCS= `pkg-config --cflags libcurl`
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 LIBCURL_LIBS= `pkg-config --libs libcurl`
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
72 JANSSON_INCS= `pkg-config --cflags jansson`
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
73 JANSSON_LIBS= `pkg-config --libs jansson`
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
74
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 KCGI_INCS= `pkg-config --cflags kcgi`
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 KCGI_LIBS= `pkg-config --libs kcgi`
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
77
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
78 INCS= -Iextern/libsqlite \
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
79 -Iextern/libgreatest \
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
80 -Ilib \
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
81 -I.
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 DEFS= -DVARDIR=\"${VARDIR}\" \
14
cb2d7f365b7c make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents: 13
diff changeset
83 -DTMPDIR=\"${TMPDIR}\" \
cb2d7f365b7c make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents: 13
diff changeset
84 -DSQLITE_THREADSAFE=0 \
cb2d7f365b7c make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents: 13
diff changeset
85 -DSQLITE_OMIT_LOAD_EXTENSION=0 \
cb2d7f365b7c make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents: 13
diff changeset
86 -DSQLITE_OMIT_DEPRECATED=0 \
cb2d7f365b7c make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents: 13
diff changeset
87 -DSQLITE_DEFAULT_FOREIGN_KEY=1
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
88
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 .SUFFIXES:
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
90 .SUFFIXES: .c .o .sql .h .in
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
92 all: scid/scid sciworkerd/sciworkerd ${MAN7} ${MAN8}
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
94 # for unit tests.
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
95 .c:
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
96 ${CC} ${INCS} ${DEFS} ${LIBBSD_INCS} ${KCGI_INCS} ${JANSSON_INCS} \
7
a7e36b32e20a make: tests need jansson
David Demelier <markand@malikania.fr>
parents: 5
diff changeset
97 ${CFLAGS} -MMD $< -o $@ libsci.a ${LIBBSD_LIBS} ${JANSSON_LIBS}
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
98
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 .c.o:
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
100 ${CC} ${INCS} ${DEFS} ${LIBBSD_INCS} ${KCGI_INCS} ${JANSSON_INCS} \
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
101 ${CFLAGS} -MMD -c $< -o $@
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
102
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
103 .in:
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
104 sed -e "s,@VARDIR@,${VARDIR},g" \
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
105 -e "s,@SHAREDIR@,${SHAREDIR},g" < $< > $@
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
106
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 .sql.h:
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 ./bcc -sc0 $< $< > $@
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
109
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
110 -include ${LIBSCI_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${TESTS_DEPS}
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
111
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 config.h:
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 @echo "using default configuration"
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 cp config.def.h $@
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
115
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 bcc: extern/bcc/bcc.c
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 ${CC} ${CFLAGS} -o $@ $< ${LDFLAGS}
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
118
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
119 ${LIBSCI_OBJS}: config.h
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
120
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
121 lib/libsci.a: ${LIBSCI_OBJS}
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
122 ${AR} -rc $@ ${LIBSCI_OBJS}
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
123
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
124 ${SCID_SQL}: bcc
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
125 ${SCID_OBJS}: ${SCID_SQL}
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
126
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
127 scid/scid: lib/libsci.a ${SCID_OBJS}
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
128 ${CC} ${CFLAGS} -o $@ ${SCID_OBJS} lib/libsci.a ${LIBBSD_LIBS} \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
129 ${JANSSON_LIBS} ${KCGI_LIBS} ${LDFLAGS}
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
130
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
131 sciworkerd/sciworkerd: lib/libsci.a ${SCIWORKERD_OBJS}
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
132 ${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} lib/libsci.a ${LIBBSD_LIBS} \
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
133 ${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS}
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
134
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
135 install:
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
136 mkdir -p ${DESTDIR}${BINDIR}
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
137 cp scid/scid sciworkerd/sciworkerd ${DESTDIR}${BINDIR}
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
138 mkdir -p ${DESTDIR}${MANDIR}/man7
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
139 cp ${MAN7} ${DESTDIR}${MANDIR}/man7
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
140 mkdir -p ${DESTDIR}${MANDIR}/man8
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
141 cp ${MAN8} ${DESTDIR}${MANDIR}/man8
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
142
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 clean:
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
144 rm -f bcc config.h tags cscope.out ${MAN7} ${MAN8}
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
145 rm -f libsci.a ${LIBSCI_OBJS} ${LIBSCI_DEPS}
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
146 rm -f scid/scid ${SCID_OBJS} ${SCID_DEPS}
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
147 rm -f sciworkerd/sciworkerd ${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS}
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
148 rm -f ${TESTS_OBJS} ${TESTS_DEPS}
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
149
18
600204c31bf0 misc: refactor
David Demelier <markand@malikania.fr>
parents: 15
diff changeset
150 tests: lib/libsci.a ${TESTS_OBJS}
5
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
151 for t in ${TESTS_OBJS}; do $$t -v; done
566bc028cdcb tests: initial tests coming
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
152
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents: 9
diff changeset
153 .PHONY: all clean install tests