Mercurial > sci
view Makefile @ 17:40fe70256fb0
sciworkerd: fix fchmod declaration
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 06 Oct 2021 16:22:23 +0200 |
parents | 2c642e18a5c0 |
children | 600204c31bf0 |
line wrap: on
line source
# # Makefile -- POSIX Makefile for sci # # Copyright (c) 2021 David Demelier <markand@malikania.fr> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # .POSIX: 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_OBJS= ${LIBSCI_SRCS:.c=.o} LIBSCI_DEPS= ${LIBSCI_SRCS:.c=.d} SCID_SRCS= scid.c SCID_OBJS= ${SCID_SRCS:.c=.o} SCID_DEPS= ${SCID_SRCS:.c=.d} SCIWORKERD_SRCS= sciworkerd.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 \ man/sciworkerd.8 TESTS= tests/test-db.c TESTS_OBJS= ${TESTS:.c=} TESTS_DEPS= ${TESTS:.c=.d} LIBBSD_INCS= `pkg-config --silence-errors --cflags libbsd-overlay` LIBBSD_LIBS= `pkg-config --silence-errors --libs libbsd-overlay` LIBCURL_INCS= `pkg-config --cflags libcurl` LIBCURL_LIBS= `pkg-config --libs libcurl` JANSSON_INCS= `pkg-config --cflags jansson` JANSSON_LIBS= `pkg-config --libs jansson` KCGI_INCS= `pkg-config --cflags kcgi` KCGI_LIBS= `pkg-config --libs kcgi` INCS= -Iextern/libsqlite \ -Iextern/libgreatest \ -I. DEFS= -DVARDIR=\"${VARDIR}\" \ -DTMPDIR=\"${TMPDIR}\" \ -DSQLITE_THREADSAFE=0 \ -DSQLITE_OMIT_LOAD_EXTENSION=0 \ -DSQLITE_OMIT_DEPRECATED=0 \ -DSQLITE_DEFAULT_FOREIGN_KEY=1 .SUFFIXES: .SUFFIXES: .c .o .sql .h .in all: scid scictl sciwebd sciworkerd ${MAN7} ${MAN8} # for unit tests. .c: ${CC} ${INCS} ${DEFS} ${LIBBSD_INCS} ${KCGI_INCS} ${JANSSON_INCS} \ ${CFLAGS} -MMD $< -o $@ libsci.a ${LIBBSD_LIBS} ${JANSSON_LIBS} .c.o: ${CC} ${INCS} ${DEFS} ${LIBBSD_INCS} ${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} ${SCICTL_DEPS} ${SCIWEBD_DEPS} ${TESTS_DEPS} config.h: @echo "using default configuration" cp config.def.h $@ bcc: extern/bcc/bcc.c ${CC} ${CFLAGS} -o $@ $< ${LDFLAGS} ${LIBSCI_DATA}: bcc ${LIBSCI_OBJS}: config.h ${LIBSCI_DATA} 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} ${SCICTL_OBJS}: libsci.a scictl: ${SCICTL_OBJS} ${CC} ${CFLAGS} -o $@ ${SCICTL_OBJS} libsci.a ${LIBBSD_LIBS} \ ${JANSSON_LIBS} ${LDFLAGS} ${SCIWEBD_OBJS}: libsci.a sciwebd: ${SCIWEBD_OBJS} ${CC} ${CFLAGS} -o $@ ${SCIWEBD_OBJS} libsci.a ${LIBBSD_LIBS} \ ${KCGI_LIBS} ${JANSSON_LIBS} ${LDFLAGS} install: mkdir -p ${DESTDIR}${BINDIR} cp scid scictl sciwebd sciworkerd ${DESTDIR}${BINDIR} mkdir -p ${DESTDIR}${MANDIR}/man7 cp ${MAN7} ${DESTDIR}${MANDIR}/man7 mkdir -p ${DESTDIR}${MANDIR}/man8 cp ${MAN8} ${DESTDIR}${MANDIR}/man8 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 ${TESTS_OBJS} ${TESTS_DEPS} ${TESTS_OBJS}: libsci.a tests: ${TESTS_OBJS} for t in ${TESTS_OBJS}; do $$t -v; done .PHONY: all clean install tests