Mercurial > sci
annotate Makefile @ 14:cb2d7f365b7c
make: disable SQLite extensions/threads
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 30 Jun 2021 14:41:53 +0200 |
parents | 67348ec46425 |
children | 2c642e18a5c0 |
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 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
23 LIBSCI_SRCS= db.c \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
24 log.c \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
25 req.c \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
26 types.c \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
27 util.c \ |
0 | 28 extern/libsqlite/sqlite3.c |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
29 LIBSCI_DATA= sql/init.h \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
30 sql/job-add.h \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
31 sql/job-todo.h \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
32 sql/jobresult-add.h \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
33 sql/project-add.h \ |
9
3ef8128e244f
sci: add project-update command
David Demelier <markand@malikania.fr>
parents:
7
diff
changeset
|
34 sql/project-find-id.h \ |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
35 sql/project-find.h \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
36 sql/project-list.h \ |
9
3ef8128e244f
sci: add project-update command
David Demelier <markand@malikania.fr>
parents:
7
diff
changeset
|
37 sql/project-update.h \ |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
38 sql/worker-add.h \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
39 sql/worker-find.h \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
40 sql/worker-find-id.h \ |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
41 sql/worker-list.h |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
42 LIBSCI_OBJS= ${LIBSCI_SRCS:.c=.o} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
43 LIBSCI_DEPS= ${LIBSCI_SRCS:.c=.d} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
44 |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
45 SCID_SRCS= scid.c |
0 | 46 SCID_OBJS= ${SCID_SRCS:.c=.o} |
47 SCID_DEPS= ${SCID_SRCS:.c=.d} | |
48 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
49 SCIWORKERD_SRCS= sciworkerd.c |
0 | 50 SCIWORKERD_OBJS= ${SCIWORKERD_SRCS:.c=.o} |
51 SCIWORKERD_DEPS= ${SCIWORKERD_SRCS:.c=.d} | |
52 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
53 SCICTL_SRCS= scictl.c |
0 | 54 SCICTL_OBJS= ${SCICTL_SRCS:.c=.o} |
55 SCICTL_DEPS= ${SCICTL_SRCS:.c=.d} | |
56 | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
57 SCIWEBD_SRCS= http.c \ |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
58 page-api-jobs.c \ |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
59 page-api-projects.c \ |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
60 page-api-workers.c \ |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
61 page.c \ |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
62 sciwebd.c |
0 | 63 SCIWEBD_OBJS= ${SCIWEBD_SRCS:.c=.o} |
64 SCIWEBD_DEPS= ${SCIWEBD_SRCS:.c=.d} | |
65 | |
13 | 66 MAN7= man/sci.7 |
67 MAN8= man/scictl.8 \ | |
68 man/scid.8 \ | |
69 man/sciwebd.8 \ | |
70 man/sciworkerd.8 | |
71 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
72 TESTS= tests/test-db.c |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
73 TESTS_OBJS= ${TESTS:.c=} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
74 TESTS_DEPS= ${TESTS:.c=.d} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
75 |
0 | 76 |
77 LIBBSD_INCS= `pkg-config --cflags libbsd-overlay` | |
78 LIBBSD_LIBS= `pkg-config --libs libbsd-overlay` | |
79 | |
80 LIBCURL_INCS= `pkg-config --cflags libcurl` | |
81 LIBCURL_LIBS= `pkg-config --libs libcurl` | |
82 | |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
83 JANSSON_INCS= `pkg-config --cflags jansson` |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
84 JANSSON_LIBS= `pkg-config --libs jansson` |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
85 |
0 | 86 KCGI_INCS= `pkg-config --cflags kcgi` |
87 KCGI_LIBS= `pkg-config --libs kcgi` | |
88 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
89 INCS= -Iextern/libsqlite \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
90 -Iextern/libgreatest \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
91 -I. |
0 | 92 DEFS= -DVARDIR=\"${VARDIR}\" \ |
14
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
93 -DTMPDIR=\"${TMPDIR}\" \ |
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
94 -DSQLITE_THREADSAFE=0 \ |
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
95 -DSQLITE_OMIT_LOAD_EXTENSION=0 \ |
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
96 -DSQLITE_OMIT_DEPRECATED=0 \ |
cb2d7f365b7c
make: disable SQLite extensions/threads
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
97 -DSQLITE_DEFAULT_FOREIGN_KEY=1 |
13 | 98 |
0 | 99 .SUFFIXES: |
13 | 100 .SUFFIXES: .c .o .sql .h .in |
0 | 101 |
13 | 102 all: scid scictl sciwebd sciworkerd ${MAN7} ${MAN8} |
0 | 103 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
104 # for unit tests. |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
105 .c: |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
106 ${CC} ${INCS} ${DEFS} ${LIBBSD_INCS} ${KCGI_INCS} ${JANSSON_INCS} \ |
7
a7e36b32e20a
make: tests need jansson
David Demelier <markand@malikania.fr>
parents:
5
diff
changeset
|
107 ${CFLAGS} -MMD $< -o $@ libsci.a ${LIBBSD_LIBS} ${JANSSON_LIBS} |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
108 |
0 | 109 .c.o: |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
110 ${CC} ${INCS} ${DEFS} ${LIBBSD_INCS} ${KCGI_INCS} ${JANSSON_INCS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
111 ${CFLAGS} -MMD -c $< -o $@ |
0 | 112 |
13 | 113 .in: |
114 sed -e "s,@VARDIR@,${VARDIR},g" \ | |
115 -e "s,@SHAREDIR@,${SHAREDIR},g" < $< > $@ | |
116 | |
0 | 117 .sql.h: |
118 ./bcc -sc0 $< $< > $@ | |
119 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
120 -include ${LIBSCI_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${SCICTL_DEPS} ${SCIWEBD_DEPS} ${TESTS_DEPS} |
0 | 121 |
122 config.h: | |
123 @echo "using default configuration" | |
124 cp config.def.h $@ | |
125 | |
126 bcc: extern/bcc/bcc.c | |
127 ${CC} ${CFLAGS} -o $@ $< ${LDFLAGS} | |
128 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
129 ${LIBSCI_DATA}: bcc |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
130 ${LIBSCI_OBJS}: config.h ${LIBSCI_DATA} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
131 |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
132 libsci.a: ${LIBSCI_OBJS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
133 ${AR} -rc $@ ${LIBSCI_OBJS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
134 |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
135 ${SCID_OBJS}: libsci.a |
0 | 136 |
137 scid: ${SCID_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
138 ${CC} ${CFLAGS} -o $@ ${SCID_OBJS} libsci.a ${LIBBSD_LIBS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
139 ${JANSSON_LIBS} ${LDFLAGS} |
0 | 140 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
141 ${SCIWORKERD_OBJS}: libsci.a |
0 | 142 |
143 sciworkerd: ${SCIWORKERD_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
144 ${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} libsci.a ${LIBBSD_LIBS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
145 ${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS} |
0 | 146 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
147 ${SCICTL_OBJS}: libsci.a |
0 | 148 |
149 scictl: ${SCICTL_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
150 ${CC} ${CFLAGS} -o $@ ${SCICTL_OBJS} libsci.a ${LIBBSD_LIBS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
151 ${JANSSON_LIBS} ${LDFLAGS} |
0 | 152 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
153 ${SCIWEBD_OBJS}: libsci.a |
0 | 154 |
155 sciwebd: ${SCIWEBD_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
156 ${CC} ${CFLAGS} -o $@ ${SCIWEBD_OBJS} libsci.a ${LIBBSD_LIBS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
157 ${KCGI_LIBS} ${JANSSON_LIBS} ${LDFLAGS} |
0 | 158 |
13 | 159 install: |
160 mkdir -p ${DESTDIR}${BINDIR} | |
161 cp scid scictl sciwebd sciworkerd ${DESTDIR}${BINDIR} | |
162 mkdir -p ${DESTDIR}${MANDIR}/man7 | |
163 cp ${MAN7} ${DESTDIR}${MANDIR}/man7 | |
164 mkdir -p ${DESTDIR}${MANDIR}/man8 | |
165 cp ${MAN8} ${DESTDIR}${MANDIR}/man8 | |
166 | |
0 | 167 clean: |
13 | 168 rm -f bcc config.h tags cscope.out ${MAN7} ${MAN8} |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
169 rm -f libsci.a ${LIBSCI_OBJS} ${LIBSCI_DATA} ${LIBSCI_DEPS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
170 rm -f scid ${SCID_OBJS} ${SCID_DEPS} |
0 | 171 rm -f scictl ${SCICTL_OBJS} ${SCICTL_DEPS} |
172 rm -f sciworkerd ${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS} | |
173 rm -f sciwebd ${SCIWEBD_OBJS} ${SCIWEBD_DEPS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
174 rm -f ${TESTS_OBJS} ${TESTS_DEPS} |
0 | 175 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
176 ${TESTS_OBJS}: libsci.a |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
177 |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
178 tests: ${TESTS_OBJS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
179 for t in ${TESTS_OBJS}; do $$t -v; done |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
180 |
13 | 181 .PHONY: all clean install tests |