Mercurial > sci
annotate Makefile @ 28:4c16bb25e4f1
scid: implement themes in javascript
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 04 Aug 2022 06:09:54 +0200 |
parents | dae2de19ca5d |
children | 695637f1d8a7 |
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 | 19 .POSIX: |
20 | |
21 include config.mk | |
22 | |
21 | 23 LIBSCI= lib/libsci.a |
26
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
24 LIBSCI_SRCS= extern/libsqlite/sqlite3.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
25 lib/apic.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
26 lib/log.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
27 lib/strlcpy.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
28 lib/strtonum.c \ |
18 | 29 lib/util.c |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
30 LIBSCI_OBJS= ${LIBSCI_SRCS:.c=.o} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
31 LIBSCI_DEPS= ${LIBSCI_SRCS:.c=.d} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
32 |
26
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
33 SQL_SRCS= sql/init.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
34 sql/job-add.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
35 sql/job-list.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
36 sql/job-todo.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
37 sql/jobresult-add.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
38 sql/jobresult-list-by-job.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
39 sql/jobresult-list-by-job-group.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
40 sql/jobresult-list-by-worker.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
41 sql/project-find.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
42 sql/project-list.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
43 sql/project-save.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
44 sql/worker-find.sql \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
45 sql/worker-list.sql \ |
22
dd078aea5d02
misc: use project/worker name as primary key
David Demelier <markand@malikania.fr>
parents:
21
diff
changeset
|
46 sql/worker-save.sql |
21 | 47 SQL_OBJS= ${SQL_SRCS:.sql=.h} |
18 | 48 |
21 | 49 SCICTL= scictl/scictl |
50 SCICTL_SRCS= scictl/scictl.c | |
51 SCICTL_OBJS= ${SCICTL_SRCS:.c=.o} | |
52 SCICTL_DEPS= ${SCICTL_SRCS:.c=.d} | |
53 | |
54 SCID= scid/scid | |
28
4c16bb25e4f1
scid: implement themes in javascript
David Demelier <markand@malikania.fr>
parents:
27
diff
changeset
|
55 SCID_SRCS= extern/libduktape/duktape.c \ |
4c16bb25e4f1
scid: implement themes in javascript
David Demelier <markand@malikania.fr>
parents:
27
diff
changeset
|
56 extern/libmustache4c/mustache.c \ |
27
dae2de19ca5d
misc: switch to JSON everywhere
David Demelier <markand@malikania.fr>
parents:
26
diff
changeset
|
57 scid/crud.c \ |
dae2de19ca5d
misc: switch to JSON everywhere
David Demelier <markand@malikania.fr>
parents:
26
diff
changeset
|
58 scid/db.c \ |
26
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
59 scid/http.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
60 scid/main.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
61 scid/page-api-jobresults.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
62 scid/page-api-jobs.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
63 scid/page-api-projects.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
64 scid/page-api-todo.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
65 scid/page-api-workers.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
66 scid/page-index.c \ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
67 scid/page-static.c \ |
27
dae2de19ca5d
misc: switch to JSON everywhere
David Demelier <markand@malikania.fr>
parents:
26
diff
changeset
|
68 scid/page.c \ |
28
4c16bb25e4f1
scid: implement themes in javascript
David Demelier <markand@malikania.fr>
parents:
27
diff
changeset
|
69 scid/scid.c \ |
4c16bb25e4f1
scid: implement themes in javascript
David Demelier <markand@malikania.fr>
parents:
27
diff
changeset
|
70 scid/theme.c |
0 | 71 SCID_OBJS= ${SCID_SRCS:.c=.o} |
72 SCID_DEPS= ${SCID_SRCS:.c=.d} | |
73 | |
23
2cb228f23f53
misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents:
22
diff
changeset
|
74 SCIWORKERD= sciworkerd/sciworkerd |
19 | 75 SCIWORKERD_SRCS= sciworkerd/main.c \ |
76 sciworkerd/sciworkerd.c \ | |
77 sciworkerd/task.c | |
0 | 78 SCIWORKERD_OBJS= ${SCIWORKERD_SRCS:.c=.o} |
79 SCIWORKERD_DEPS= ${SCIWORKERD_SRCS:.c=.d} | |
80 | |
13 | 81 MAN7= man/sci.7 |
18 | 82 MAN8= man/scid.8 \ |
13 | 83 man/sciworkerd.8 |
84 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
85 TESTS= tests/test-db.c |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
86 TESTS_OBJS= ${TESTS:.c=} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
87 TESTS_DEPS= ${TESTS:.c=.d} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
88 |
0 | 89 LIBCURL_INCS= `pkg-config --cflags libcurl` |
90 LIBCURL_LIBS= `pkg-config --libs libcurl` | |
91 | |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
92 JANSSON_INCS= `pkg-config --cflags jansson` |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
93 JANSSON_LIBS= `pkg-config --libs jansson` |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
94 |
0 | 95 KCGI_INCS= `pkg-config --cflags kcgi` |
96 KCGI_LIBS= `pkg-config --libs kcgi` | |
97 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
98 INCS= -Iextern/libsqlite \ |
19 | 99 -Iextern/libutlist \ |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
100 -Iextern/libgreatest \ |
26
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
24
diff
changeset
|
101 -Iextern/libmustache4c \ |
28
4c16bb25e4f1
scid: implement themes in javascript
David Demelier <markand@malikania.fr>
parents:
27
diff
changeset
|
102 -Iextern/libduktape \ |
18 | 103 -Ilib \ |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
104 -I. |
0 | 105 DEFS= -DVARDIR=\"${VARDIR}\" \ |
14
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
106 -DTMPDIR=\"${TMPDIR}\" \ |
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
107 -DSQLITE_THREADSAFE=0 \ |
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
108 -DSQLITE_OMIT_LOAD_EXTENSION=0 \ |
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
109 -DSQLITE_OMIT_DEPRECATED=0 \ |
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
110 -DSQLITE_DEFAULT_FOREIGN_KEY=1 |
13 | 111 |
0 | 112 .SUFFIXES: |
21 | 113 .SUFFIXES: .c .o .sql .h |
0 | 114 |
21 | 115 all: ${SCICTL} ${SCID} ${SCIWORKERD} |
0 | 116 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
117 # for unit tests. |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
118 .c: |
19 | 119 ${CC} ${INCS} ${DEFS} ${KCGI_INCS} ${JANSSON_INCS} \ |
120 ${CFLAGS} -MMD $< -o $@ lib/libsci.a ${JANSSON_LIBS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
121 |
0 | 122 .c.o: |
19 | 123 ${CC} ${INCS} ${DEFS} ${KCGI_INCS} ${JANSSON_INCS} \ |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
124 ${CFLAGS} -MMD -c $< -o $@ |
0 | 125 |
126 .sql.h: | |
127 ./bcc -sc0 $< $< > $@ | |
128 | |
21 | 129 -include ${LIBSCI_DEPS} ${SCICTL_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${TESTS_DEPS} |
0 | 130 |
131 config.h: | |
132 @echo "using default configuration" | |
133 cp config.def.h $@ | |
134 | |
135 bcc: extern/bcc/bcc.c | |
136 ${CC} ${CFLAGS} -o $@ $< ${LDFLAGS} | |
137 | |
21 | 138 # {{{ libsci |
139 | |
140 ${SQL_OBJS}: bcc | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
141 |
21 | 142 ${LIBSCI_OBJS}: config.h ${SQL_OBJS} |
143 | |
144 ${LIBSCI}: ${LIBSCI_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
145 ${AR} -rc $@ ${LIBSCI_OBJS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
146 |
21 | 147 # }}} |
148 | |
149 # {{{ scictl | |
150 | |
151 ${SCICTL_OBJS}: ${LIBSCI} | |
0 | 152 |
21 | 153 ${SCICTL}: ${SCICTL_OBJS} |
154 ${CC} ${CFLAGS} -o $@ ${SCICTL_OBJS} ${LIBSCI} \ | |
155 ${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS} | |
156 | |
157 # }}} | |
158 | |
159 # {{{ scid | |
160 | |
161 ${SCID_OBJS}: ${LIBSCI} | |
162 | |
163 ${SCID}: ${SCID_OBJS} | |
164 ${CC} ${CFLAGS} -o $@ ${SCID_OBJS} lib/libsci.a \ | |
18 | 165 ${JANSSON_LIBS} ${KCGI_LIBS} ${LDFLAGS} |
0 | 166 |
21 | 167 # }}} |
168 | |
169 # {{{ sciworkerd | |
170 | |
171 ${SCIWORKERD_OBJS}: ${LIBSCI} | |
172 | |
173 ${SCIWORKERD}: ${SCIWORKERD_OBJS} | |
174 ${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} lib/libsci.a \ | |
18 | 175 ${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS} |
0 | 176 |
21 | 177 # }}} |
178 | |
13 | 179 install: |
180 mkdir -p ${DESTDIR}${BINDIR} | |
18 | 181 cp scid/scid sciworkerd/sciworkerd ${DESTDIR}${BINDIR} |
13 | 182 mkdir -p ${DESTDIR}${MANDIR}/man7 |
183 cp ${MAN7} ${DESTDIR}${MANDIR}/man7 | |
184 mkdir -p ${DESTDIR}${MANDIR}/man8 | |
185 cp ${MAN8} ${DESTDIR}${MANDIR}/man8 | |
186 | |
0 | 187 clean: |
21 | 188 rm -f bcc config.h tags cscope.out ${MAN7} ${MAN8} ${SQL_OBJS} |
189 rm -f ${LIBSCI} ${LIBSCI_OBJS} ${LIBSCI_DEPS} | |
190 rm -f ${SCICTL} ${SCICTL_OBJS} ${SCICTL_DEPS} | |
191 rm -f ${SCID} ${SCID_OBJS} ${SCID_DEPS} | |
192 rm -f ${SCIWORKERD}${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
193 rm -f ${TESTS_OBJS} ${TESTS_DEPS} |
0 | 194 |
19 | 195 ${TESTS_OBJS}: lib/libsci.a |
196 | |
18 | 197 tests: lib/libsci.a ${TESTS_OBJS} |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
198 for t in ${TESTS_OBJS}; do $$t -v; done |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
199 |
13 | 200 .PHONY: all clean install tests |