comparison Makefile @ 21:ec30e1b078a9

make: cleanup
author David Demelier <markand@malikania.fr>
date Tue, 19 Jul 2022 22:45:44 +0200
parents f98ea578b1ef
children dd078aea5d02
comparison
equal deleted inserted replaced
20:f98ea578b1ef 21:ec30e1b078a9
18 18
19 .POSIX: 19 .POSIX:
20 20
21 include config.mk 21 include config.mk
22 22
23 LIBSCI= lib/libsci.a
23 LIBSCI_SRCS= extern/libsqlite/sqlite3.c \ 24 LIBSCI_SRCS= extern/libsqlite/sqlite3.c \
24 lib/apic.c \ 25 lib/apic.c \
25 lib/db.c \ 26 lib/db.c \
26 lib/log.c \ 27 lib/log.c \
28 lib/strlcpy.c \
27 lib/types.c \ 29 lib/types.c \
28 lib/util.c 30 lib/util.c
29 LIBSCI_OBJS= ${LIBSCI_SRCS:.c=.o} 31 LIBSCI_OBJS= ${LIBSCI_SRCS:.c=.o}
30 LIBSCI_DEPS= ${LIBSCI_SRCS:.c=.d} 32 LIBSCI_DEPS= ${LIBSCI_SRCS:.c=.d}
31 33
32 SCID_SQL= sql/init.h \ 34 SQL_SRCS= sql/init.sql \
33 sql/job-add.h \ 35 sql/job-add.sql \
34 sql/job-todo.h \ 36 sql/job-todo.sql \
35 sql/jobresult-add.h \ 37 sql/jobresult-add.sql \
36 sql/project-add.h \ 38 sql/project-add.sql \
37 sql/project-find-id.h \ 39 sql/project-find-id.sql \
38 sql/project-find.h \ 40 sql/project-find.sql \
39 sql/project-list.h \ 41 sql/project-list.sql \
40 sql/project-update.h \ 42 sql/project-update.sql \
41 sql/worker-add.h \ 43 sql/worker-add.sql \
42 sql/worker-find.h \ 44 sql/worker-find.sql \
43 sql/worker-find-id.h \ 45 sql/worker-find-id.sql \
44 sql/worker-list.h 46 sql/worker-list.sql
47 SQL_OBJS= ${SQL_SRCS:.sql=.h}
45 48
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
46 SCID_SRCS= scid/http.c \ 55 SCID_SRCS= scid/http.c \
47 scid/main.c \ 56 scid/main.c \
48 scid/page-api-projects.c \ 57 scid/page-api-projects.c \
49 scid/page-api-todo.c \ 58 scid/page-api-todo.c \
50 scid/page-api-workers.c \ 59 scid/page-api-workers.c \
86 -DSQLITE_OMIT_LOAD_EXTENSION=0 \ 95 -DSQLITE_OMIT_LOAD_EXTENSION=0 \
87 -DSQLITE_OMIT_DEPRECATED=0 \ 96 -DSQLITE_OMIT_DEPRECATED=0 \
88 -DSQLITE_DEFAULT_FOREIGN_KEY=1 97 -DSQLITE_DEFAULT_FOREIGN_KEY=1
89 98
90 .SUFFIXES: 99 .SUFFIXES:
91 .SUFFIXES: .c .o .sql .h .in 100 .SUFFIXES: .c .o .sql .h
92 101
93 all: scid/scid sciworkerd/sciworkerd ${MAN7} ${MAN8} 102 all: ${SCICTL} ${SCID} ${SCIWORKERD}
94 103
95 # for unit tests. 104 # for unit tests.
96 .c: 105 .c:
97 ${CC} ${INCS} ${DEFS} ${KCGI_INCS} ${JANSSON_INCS} \ 106 ${CC} ${INCS} ${DEFS} ${KCGI_INCS} ${JANSSON_INCS} \
98 ${CFLAGS} -MMD $< -o $@ lib/libsci.a ${JANSSON_LIBS} 107 ${CFLAGS} -MMD $< -o $@ lib/libsci.a ${JANSSON_LIBS}
99 108
100 .c.o: 109 .c.o:
101 ${CC} ${INCS} ${DEFS} ${KCGI_INCS} ${JANSSON_INCS} \ 110 ${CC} ${INCS} ${DEFS} ${KCGI_INCS} ${JANSSON_INCS} \
102 ${CFLAGS} -MMD -c $< -o $@ 111 ${CFLAGS} -MMD -c $< -o $@
103 112
104 .in:
105 sed -e "s,@VARDIR@,${VARDIR},g" \
106 -e "s,@SHAREDIR@,${SHAREDIR},g" < $< > $@
107
108 .sql.h: 113 .sql.h:
109 ./bcc -sc0 $< $< > $@ 114 ./bcc -sc0 $< $< > $@
110 115
111 -include ${LIBSCI_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${TESTS_DEPS} 116 -include ${LIBSCI_DEPS} ${SCICTL_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${TESTS_DEPS}
112 117
113 config.h: 118 config.h:
114 @echo "using default configuration" 119 @echo "using default configuration"
115 cp config.def.h $@ 120 cp config.def.h $@
116 121
117 bcc: extern/bcc/bcc.c 122 bcc: extern/bcc/bcc.c
118 ${CC} ${CFLAGS} -o $@ $< ${LDFLAGS} 123 ${CC} ${CFLAGS} -o $@ $< ${LDFLAGS}
119 124
120 ${LIBSCI_OBJS}: config.h 125 # {{{ libsci
121 126
122 lib/libsci.a: ${LIBSCI_OBJS} 127 ${SQL_OBJS}: bcc
128
129 ${LIBSCI_OBJS}: config.h ${SQL_OBJS}
130
131 ${LIBSCI}: ${LIBSCI_OBJS}
123 ${AR} -rc $@ ${LIBSCI_OBJS} 132 ${AR} -rc $@ ${LIBSCI_OBJS}
124 133
125 ${SCID_SQL}: bcc 134 # }}}
126 ${SCID_OBJS}: ${SCID_SQL}
127 135
128 scid/scid: lib/libsci.a ${SCID_OBJS} 136 # {{{ scictl
129 ${CC} ${CFLAGS} -o $@ ${SCID_OBJS} lib/libsci.a ${LIBBSD_LIBS} \ 137
138 ${SCICTL_OBJS}: ${LIBSCI}
139
140 ${SCICTL}: ${SCICTL_OBJS}
141 ${CC} ${CFLAGS} -o $@ ${SCICTL_OBJS} ${LIBSCI} \
142 ${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS}
143
144 # }}}
145
146 # {{{ scid
147
148 ${SCID_OBJS}: ${LIBSCI}
149
150 ${SCID}: ${SCID_OBJS}
151 ${CC} ${CFLAGS} -o $@ ${SCID_OBJS} lib/libsci.a \
130 ${JANSSON_LIBS} ${KCGI_LIBS} ${LDFLAGS} 152 ${JANSSON_LIBS} ${KCGI_LIBS} ${LDFLAGS}
131 153
132 sciworkerd/sciworkerd: lib/libsci.a ${SCIWORKERD_OBJS} 154 # }}}
133 ${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} lib/libsci.a ${LIBBSD_LIBS} \ 155
156 # {{{ sciworkerd
157
158 ${SCIWORKERD_OBJS}: ${LIBSCI}
159
160 ${SCIWORKERD}: ${SCIWORKERD_OBJS}
161 ${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} lib/libsci.a \
134 ${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS} 162 ${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS}
163
164 # }}}
135 165
136 install: 166 install:
137 mkdir -p ${DESTDIR}${BINDIR} 167 mkdir -p ${DESTDIR}${BINDIR}
138 cp scid/scid sciworkerd/sciworkerd ${DESTDIR}${BINDIR} 168 cp scid/scid sciworkerd/sciworkerd ${DESTDIR}${BINDIR}
139 mkdir -p ${DESTDIR}${MANDIR}/man7 169 mkdir -p ${DESTDIR}${MANDIR}/man7
140 cp ${MAN7} ${DESTDIR}${MANDIR}/man7 170 cp ${MAN7} ${DESTDIR}${MANDIR}/man7
141 mkdir -p ${DESTDIR}${MANDIR}/man8 171 mkdir -p ${DESTDIR}${MANDIR}/man8
142 cp ${MAN8} ${DESTDIR}${MANDIR}/man8 172 cp ${MAN8} ${DESTDIR}${MANDIR}/man8
143 173
144 clean: 174 clean:
145 rm -f bcc config.h tags cscope.out ${MAN7} ${MAN8} 175 rm -f bcc config.h tags cscope.out ${MAN7} ${MAN8} ${SQL_OBJS}
146 rm -f libsci.a ${LIBSCI_OBJS} ${LIBSCI_DEPS} 176 rm -f ${LIBSCI} ${LIBSCI_OBJS} ${LIBSCI_DEPS}
147 rm -f scid/scid ${SCID_OBJS} ${SCID_DEPS} 177 rm -f ${SCICTL} ${SCICTL_OBJS} ${SCICTL_DEPS}
148 rm -f sciworkerd/sciworkerd ${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS} 178 rm -f ${SCID} ${SCID_OBJS} ${SCID_DEPS}
179 rm -f ${SCIWORKERD}${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS}
149 rm -f ${TESTS_OBJS} ${TESTS_DEPS} 180 rm -f ${TESTS_OBJS} ${TESTS_DEPS}
150 181
151 ${TESTS_OBJS}: lib/libsci.a 182 ${TESTS_OBJS}: lib/libsci.a
152 183
153 tests: lib/libsci.a ${TESTS_OBJS} 184 tests: lib/libsci.a ${TESTS_OBJS}