Mercurial > sci
annotate Makefile @ 9:3ef8128e244f
sci: add project-update command
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 23 Jun 2021 14:05:36 +0200 |
parents | a7e36b32e20a |
children | 67348ec46425 |
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 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
66 TESTS= tests/test-db.c |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
67 TESTS_OBJS= ${TESTS:.c=} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
68 TESTS_DEPS= ${TESTS:.c=.d} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
69 |
0 | 70 SQLITE_DEFS= -DSQLITE_THREADSAFE=0 \ |
71 -DSQLITE_OMIT_LOAD_EXTENSION=0 \ | |
72 -DSQLITE_OMIT_DEPRECATED=0 \ | |
73 -DSQLITE_DEFAULT_FOREIGN_KEY=1 | |
74 | |
75 LIBBSD_INCS= `pkg-config --cflags libbsd-overlay` | |
76 LIBBSD_LIBS= `pkg-config --libs libbsd-overlay` | |
77 | |
78 LIBCURL_INCS= `pkg-config --cflags libcurl` | |
79 LIBCURL_LIBS= `pkg-config --libs libcurl` | |
80 | |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
81 JANSSON_INCS= `pkg-config --cflags jansson` |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
82 JANSSON_LIBS= `pkg-config --libs jansson` |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
83 |
0 | 84 KCGI_INCS= `pkg-config --cflags kcgi` |
85 KCGI_LIBS= `pkg-config --libs kcgi` | |
86 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
87 INCS= -Iextern/libsqlite \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
88 -Iextern/libgreatest \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
89 -I. |
0 | 90 DEFS= -DVARDIR=\"${VARDIR}\" \ |
91 -DTMPDIR=\"${TMPDIR}\" | |
92 | |
93 .SUFFIXES: | |
94 .SUFFIXES: .c .o .sql .h | |
95 | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
96 all: scid scictl sciwebd sciworkerd |
0 | 97 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
98 # for unit tests. |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
99 .c: |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
100 ${CC} ${INCS} ${DEFS} ${LIBBSD_INCS} ${KCGI_INCS} ${JANSSON_INCS} \ |
7
a7e36b32e20a
make: tests need jansson
David Demelier <markand@malikania.fr>
parents:
5
diff
changeset
|
101 ${CFLAGS} -MMD $< -o $@ libsci.a ${LIBBSD_LIBS} ${JANSSON_LIBS} |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
102 |
0 | 103 .c.o: |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
104 ${CC} ${INCS} ${DEFS} ${LIBBSD_INCS} ${KCGI_INCS} ${JANSSON_INCS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
105 ${CFLAGS} -MMD -c $< -o $@ |
0 | 106 |
107 .sql.h: | |
108 ./bcc -sc0 $< $< > $@ | |
109 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
110 -include ${LIBSCI_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${SCICTL_DEPS} ${SCIWEBD_DEPS} ${TESTS_DEPS} |
0 | 111 |
112 config.h: | |
113 @echo "using default configuration" | |
114 cp config.def.h $@ | |
115 | |
116 bcc: extern/bcc/bcc.c | |
117 ${CC} ${CFLAGS} -o $@ $< ${LDFLAGS} | |
118 | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
119 ${LIBSCI_DATA}: bcc |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
120 ${LIBSCI_OBJS}: config.h ${LIBSCI_DATA} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
121 |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
122 libsci.a: ${LIBSCI_OBJS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
123 ${AR} -rc $@ ${LIBSCI_OBJS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
124 |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
125 ${SCID_OBJS}: libsci.a |
0 | 126 |
127 scid: ${SCID_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
128 ${CC} ${CFLAGS} -o $@ ${SCID_OBJS} libsci.a ${LIBBSD_LIBS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
129 ${JANSSON_LIBS} ${LDFLAGS} |
0 | 130 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
131 ${SCIWORKERD_OBJS}: libsci.a |
0 | 132 |
133 sciworkerd: ${SCIWORKERD_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
134 ${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} libsci.a ${LIBBSD_LIBS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
135 ${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS} |
0 | 136 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
137 ${SCICTL_OBJS}: libsci.a |
0 | 138 |
139 scictl: ${SCICTL_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
140 ${CC} ${CFLAGS} -o $@ ${SCICTL_OBJS} libsci.a ${LIBBSD_LIBS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
141 ${JANSSON_LIBS} ${LDFLAGS} |
0 | 142 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
143 ${SCIWEBD_OBJS}: libsci.a |
0 | 144 |
145 sciwebd: ${SCIWEBD_OBJS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
146 ${CC} ${CFLAGS} -o $@ ${SCIWEBD_OBJS} libsci.a ${LIBBSD_LIBS} \ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
147 ${KCGI_LIBS} ${JANSSON_LIBS} ${LDFLAGS} |
0 | 148 |
149 clean: | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
150 rm -f bcc config.h tags cscope.out |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
151 rm -f libsci.a ${LIBSCI_OBJS} ${LIBSCI_DATA} ${LIBSCI_DEPS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
152 rm -f scid ${SCID_OBJS} ${SCID_DEPS} |
0 | 153 rm -f scictl ${SCICTL_OBJS} ${SCICTL_DEPS} |
154 rm -f sciworkerd ${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS} | |
155 rm -f sciwebd ${SCIWEBD_OBJS} ${SCIWEBD_DEPS} | |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
156 rm -f ${TESTS_OBJS} ${TESTS_DEPS} |
0 | 157 |
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
158 ${TESTS_OBJS}: libsci.a |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
159 |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
160 tests: ${TESTS_OBJS} |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
161 for t in ${TESTS_OBJS}; do $$t -v; done |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
162 |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
163 .PHONY: all clean tests |