changeset 21:ec30e1b078a9

make: cleanup
author David Demelier <markand@malikania.fr>
date Tue, 19 Jul 2022 22:45:44 +0200
parents f98ea578b1ef
children dd078aea5d02
files Makefile
diffstat 1 files changed, 63 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Tue Jul 19 21:52:42 2022 +0200
+++ b/Makefile	Tue Jul 19 22:45:44 2022 +0200
@@ -20,29 +20,38 @@
 
 include config.mk
 
+LIBSCI=                 lib/libsci.a
 LIBSCI_SRCS=            extern/libsqlite/sqlite3.c      \
                         lib/apic.c                      \
                         lib/db.c                        \
                         lib/log.c                       \
+                        lib/strlcpy.c                   \
                         lib/types.c                     \
                         lib/util.c
 LIBSCI_OBJS=            ${LIBSCI_SRCS:.c=.o}
 LIBSCI_DEPS=            ${LIBSCI_SRCS:.c=.d}
 
-SCID_SQL=               sql/init.h                      \
-                        sql/job-add.h                   \
-                        sql/job-todo.h                  \
-                        sql/jobresult-add.h             \
-                        sql/project-add.h               \
-                        sql/project-find-id.h           \
-                        sql/project-find.h              \
-                        sql/project-list.h              \
-                        sql/project-update.h            \
-                        sql/worker-add.h                \
-                        sql/worker-find.h               \
-                        sql/worker-find-id.h            \
-                        sql/worker-list.h
+SQL_SRCS=               sql/init.sql                    \
+                        sql/job-add.sql                 \
+                        sql/job-todo.sql                \
+                        sql/jobresult-add.sql           \
+                        sql/project-add.sql             \
+                        sql/project-find-id.sql         \
+                        sql/project-find.sql            \
+                        sql/project-list.sql            \
+                        sql/project-update.sql          \
+                        sql/worker-add.sql              \
+                        sql/worker-find.sql             \
+                        sql/worker-find-id.sql          \
+                        sql/worker-list.sql
+SQL_OBJS=               ${SQL_SRCS:.sql=.h}
 
+SCICTL=                 scictl/scictl
+SCICTL_SRCS=            scictl/scictl.c
+SCICTL_OBJS=            ${SCICTL_SRCS:.c=.o}
+SCICTL_DEPS=            ${SCICTL_SRCS:.c=.d}
+
+SCID=                   scid/scid
 SCID_SRCS=              scid/http.c                     \
                         scid/main.c                     \
                         scid/page-api-projects.c        \
@@ -88,9 +97,9 @@
                         -DSQLITE_DEFAULT_FOREIGN_KEY=1
 
 .SUFFIXES:
-.SUFFIXES: .c .o .sql .h .in
+.SUFFIXES: .c .o .sql .h
 
-all: scid/scid sciworkerd/sciworkerd ${MAN7} ${MAN8}
+all: ${SCICTL} ${SCID} ${SCIWORKERD}
 
 # for unit tests.
 .c:
@@ -101,14 +110,10 @@
 	${CC} ${INCS} ${DEFS} ${KCGI_INCS} ${JANSSON_INCS} \
 		${CFLAGS} -MMD -c $< -o $@
 
-.in:
-	sed -e "s,@VARDIR@,${VARDIR},g" \
-	    -e "s,@SHAREDIR@,${SHAREDIR},g" < $< > $@
-
 .sql.h:
 	./bcc -sc0 $< $< > $@
 
--include ${LIBSCI_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${TESTS_DEPS}
+-include ${LIBSCI_DEPS} ${SCICTL_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${TESTS_DEPS}
 
 config.h:
 	@echo "using default configuration"
@@ -117,22 +122,47 @@
 bcc: extern/bcc/bcc.c
 	${CC} ${CFLAGS} -o $@ $< ${LDFLAGS}
 
-${LIBSCI_OBJS}: config.h
+# {{{ libsci
+
+${SQL_OBJS}: bcc
 
-lib/libsci.a: ${LIBSCI_OBJS}
+${LIBSCI_OBJS}: config.h ${SQL_OBJS}
+
+${LIBSCI}: ${LIBSCI_OBJS}
 	${AR} -rc $@ ${LIBSCI_OBJS}
 
-${SCID_SQL}: bcc
-${SCID_OBJS}: ${SCID_SQL}
+# }}}
+
+# {{{ scictl
+
+${SCICTL_OBJS}: ${LIBSCI}
 
-scid/scid: lib/libsci.a ${SCID_OBJS}
-	${CC} ${CFLAGS} -o $@ ${SCID_OBJS} lib/libsci.a ${LIBBSD_LIBS} \
+${SCICTL}: ${SCICTL_OBJS}
+	${CC} ${CFLAGS} -o $@ ${SCICTL_OBJS} ${LIBSCI} \
+		${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS}
+
+# }}}
+
+# {{{ scid
+
+${SCID_OBJS}: ${LIBSCI}
+
+${SCID}: ${SCID_OBJS}
+	${CC} ${CFLAGS} -o $@ ${SCID_OBJS} lib/libsci.a \
 		${JANSSON_LIBS} ${KCGI_LIBS} ${LDFLAGS}
 
-sciworkerd/sciworkerd: lib/libsci.a ${SCIWORKERD_OBJS}
-	${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} lib/libsci.a ${LIBBSD_LIBS} \
+# }}}
+
+# {{{ sciworkerd
+
+${SCIWORKERD_OBJS}: ${LIBSCI}
+
+${SCIWORKERD}: ${SCIWORKERD_OBJS}
+	${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} lib/libsci.a \
 		${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS}
 
+# }}}
+
 install:
 	mkdir -p ${DESTDIR}${BINDIR}
 	cp scid/scid sciworkerd/sciworkerd ${DESTDIR}${BINDIR}
@@ -142,10 +172,11 @@
 	cp ${MAN8} ${DESTDIR}${MANDIR}/man8
 
 clean:
-	rm -f bcc config.h tags cscope.out ${MAN7} ${MAN8}
-	rm -f libsci.a ${LIBSCI_OBJS} ${LIBSCI_DEPS}
-	rm -f scid/scid ${SCID_OBJS} ${SCID_DEPS}
-	rm -f sciworkerd/sciworkerd ${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS}
+	rm -f bcc config.h tags cscope.out ${MAN7} ${MAN8} ${SQL_OBJS}
+	rm -f ${LIBSCI} ${LIBSCI_OBJS} ${LIBSCI_DEPS}
+	rm -f ${SCICTL} ${SCICTL_OBJS} ${SCICTL_DEPS}
+	rm -f ${SCID} ${SCID_OBJS} ${SCID_DEPS}
+	rm -f ${SCIWORKERD}${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS}
 	rm -f ${TESTS_OBJS} ${TESTS_DEPS}
 
 ${TESTS_OBJS}: lib/libsci.a