diff Makefile @ 18:600204c31bf0

misc: refactor
author David Demelier <markand@malikania.fr>
date Tue, 12 Jul 2022 20:20:51 +0200
parents 2c642e18a5c0
children de4bf839b565
line wrap: on
line diff
--- a/Makefile	Wed Oct 06 16:22:23 2021 +0200
+++ b/Makefile	Tue Jul 12 20:20:51 2022 +0200
@@ -20,53 +20,43 @@
 
 include config.mk
 
-LIBSCI_SRCS=            db.c \
-                        log.c \
-                        req.c \
-                        types.c \
-                        util.c \
-                        extern/libsqlite/sqlite3.c
-LIBSCI_DATA=            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
+LIBSCI_SRCS=            lib/log.c                       \
+                        lib/types.c                     \
+                        lib/util.c
 LIBSCI_OBJS=            ${LIBSCI_SRCS:.c=.o}
 LIBSCI_DEPS=            ${LIBSCI_SRCS:.c=.d}
 
-SCID_SRCS=              scid.c
+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
+
+SCID_SRCS=              extern/libsqlite/sqlite3.c      \
+                        scid/db.c                       \
+                        scid/http.c                     \
+                        scid/main.c                     \
+                        scid/page-api-jobs.c            \
+                        scid/page-api-projects.c        \
+                        scid/page-api-workers.c         \
+                        scid/page.c
 SCID_OBJS=              ${SCID_SRCS:.c=.o}
 SCID_DEPS=              ${SCID_SRCS:.c=.d}
 
-SCIWORKERD_SRCS=        sciworkerd.c
+SCIWORKERD_SRCS=        sciworkerd/main.c sciworkerd/task.c
 SCIWORKERD_OBJS=        ${SCIWORKERD_SRCS:.c=.o}
 SCIWORKERD_DEPS=        ${SCIWORKERD_SRCS:.c=.d}
 
-SCICTL_SRCS=            scictl.c
-SCICTL_OBJS=            ${SCICTL_SRCS:.c=.o}
-SCICTL_DEPS=            ${SCICTL_SRCS:.c=.d}
-
-SCIWEBD_SRCS=           http.c \
-                        page-api-jobs.c \
-                        page-api-projects.c \
-                        page-api-workers.c \
-                        page.c \
-                        sciwebd.c
-SCIWEBD_OBJS=           ${SCIWEBD_SRCS:.c=.o}
-SCIWEBD_DEPS=           ${SCIWEBD_SRCS:.c=.d}
-
 MAN7=                   man/sci.7
-MAN8=                   man/scictl.8 \
-                        man/scid.8 \
-                        man/sciwebd.8 \
+MAN8=                   man/scid.8 \
                         man/sciworkerd.8
 
 TESTS=                  tests/test-db.c
@@ -87,6 +77,7 @@
 
 INCS=                   -Iextern/libsqlite \
                         -Iextern/libgreatest \
+                        -Ilib \
                         -I.
 DEFS=                   -DVARDIR=\"${VARDIR}\" \
                         -DTMPDIR=\"${TMPDIR}\" \
@@ -98,7 +89,7 @@
 .SUFFIXES:
 .SUFFIXES: .c .o .sql .h .in
 
-all: scid scictl sciwebd sciworkerd ${MAN7} ${MAN8}
+all: scid/scid sciworkerd/sciworkerd ${MAN7} ${MAN8}
 
 # for unit tests.
 .c:
@@ -116,7 +107,7 @@
 .sql.h:
 	./bcc -sc0 $< $< > $@
 
--include ${LIBSCI_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${SCICTL_DEPS} ${SCIWEBD_DEPS} ${TESTS_DEPS}
+-include ${LIBSCI_DEPS} ${SCID_DEPS} ${SCIWORKERD_DEPS} ${TESTS_DEPS}
 
 config.h:
 	@echo "using default configuration"
@@ -125,39 +116,25 @@
 bcc: extern/bcc/bcc.c
 	${CC} ${CFLAGS} -o $@ $< ${LDFLAGS}
 
-${LIBSCI_DATA}: bcc
-${LIBSCI_OBJS}: config.h ${LIBSCI_DATA}
+${LIBSCI_OBJS}: config.h
 
-libsci.a: ${LIBSCI_OBJS}
+lib/libsci.a: ${LIBSCI_OBJS}
 	${AR} -rc $@ ${LIBSCI_OBJS}
 
-${SCID_OBJS}: libsci.a
-
-scid: ${SCID_OBJS}
-	${CC} ${CFLAGS} -o $@ ${SCID_OBJS} libsci.a ${LIBBSD_LIBS} \
-		${JANSSON_LIBS} ${LDFLAGS}
-
-${SCIWORKERD_OBJS}: libsci.a
-
-sciworkerd: ${SCIWORKERD_OBJS}
-	${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} libsci.a ${LIBBSD_LIBS} \
-		${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS}
+${SCID_SQL}: bcc
+${SCID_OBJS}: ${SCID_SQL}
 
-${SCICTL_OBJS}: libsci.a
-
-scictl: ${SCICTL_OBJS}
-	${CC} ${CFLAGS} -o $@ ${SCICTL_OBJS} libsci.a ${LIBBSD_LIBS} \
-		${JANSSON_LIBS} ${LDFLAGS}
+scid/scid: lib/libsci.a ${SCID_OBJS}
+	${CC} ${CFLAGS} -o $@ ${SCID_OBJS} lib/libsci.a ${LIBBSD_LIBS} \
+		${JANSSON_LIBS} ${KCGI_LIBS} ${LDFLAGS}
 
-${SCIWEBD_OBJS}: libsci.a
-
-sciwebd: ${SCIWEBD_OBJS}
-	${CC} ${CFLAGS} -o $@ ${SCIWEBD_OBJS} libsci.a ${LIBBSD_LIBS} \
-		${KCGI_LIBS} ${JANSSON_LIBS} ${LDFLAGS}
+sciworkerd/sciworkerd: lib/libsci.a ${SCIWORKERD_OBJS}
+	${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} lib/libsci.a ${LIBBSD_LIBS} \
+		${LIBCURL_LIBS} ${JANSSON_LIBS} ${LDFLAGS}
 
 install:
 	mkdir -p ${DESTDIR}${BINDIR}
-	cp scid scictl sciwebd sciworkerd ${DESTDIR}${BINDIR}
+	cp scid/scid sciworkerd/sciworkerd ${DESTDIR}${BINDIR}
 	mkdir -p ${DESTDIR}${MANDIR}/man7
 	cp ${MAN7} ${DESTDIR}${MANDIR}/man7
 	mkdir -p ${DESTDIR}${MANDIR}/man8
@@ -165,16 +142,12 @@
 
 clean:
 	rm -f bcc config.h tags cscope.out ${MAN7} ${MAN8}
-	rm -f libsci.a ${LIBSCI_OBJS} ${LIBSCI_DATA} ${LIBSCI_DEPS}
-	rm -f scid ${SCID_OBJS} ${SCID_DEPS}
-	rm -f scictl ${SCICTL_OBJS} ${SCICTL_DEPS}
-	rm -f sciworkerd ${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS}
-	rm -f sciwebd ${SCIWEBD_OBJS} ${SCIWEBD_DEPS}
+	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 ${TESTS_OBJS} ${TESTS_DEPS}
 
-${TESTS_OBJS}: libsci.a
-
-tests: ${TESTS_OBJS}
+tests: lib/libsci.a ${TESTS_OBJS}
 	for t in ${TESTS_OBJS}; do $$t -v; done
 
 .PHONY: all clean install tests