view Makefile @ 0:f1de39079243

misc: initial import
author David Demelier <markand@malikania.fr>
date Mon, 07 Jun 2021 09:41:37 +0200
parents
children 5afdb14df924
line wrap: on
line source

.POSIX:

include config.mk

SCID_SRCS=              db.c                    \
                        job.c                   \
                        util.c                  \
                        scid.c                  \
                        log.c                   \
                        extern/libsqlite/sqlite3.c
SCID_DATA=              sql/init.h              \
                        sql/job-queue.h         \
                        sql/job-queue-list.h    \
                        sql/project-find.h      \
                        sql/project-get.h       \
                        sql/project-insert.h    \
                        sql/worker-get.h        \
                        sql/worker-insert.h
SCID_OBJS=              ${SCID_SRCS:.c=.o}
SCID_DEPS=              ${SCID_SRCS:.c=.d}

SCIWORKERD_SRCS=        sciworkerd.c util.c log.c
SCIWORKERD_OBJS=        ${SCIWORKERD_SRCS:.c=.o}
SCIWORKERD_DEPS=        ${SCIWORKERD_SRCS:.c=.d}

SCICTL_SRCS=            req.c scictl.c
SCICTL_OBJS=            ${SCICTL_SRCS:.c=.o}
SCICTL_DEPS=            ${SCICTL_SRCS:.c=.d}

SCIWEBD_SRCS=           sciwebd.c
SCIWEBD_OBJS=           ${SCIWEBD_SRCS:.c=.o}
SCIWEBD_DEPS=           ${SCIWEBD_SRCS:.c=.d}

SQLITE_DEFS=            -DSQLITE_THREADSAFE=0 \
                        -DSQLITE_OMIT_LOAD_EXTENSION=0 \
                        -DSQLITE_OMIT_DEPRECATED=0 \
                        -DSQLITE_DEFAULT_FOREIGN_KEY=1

LIBBSD_INCS=            `pkg-config --cflags libbsd-overlay`
LIBBSD_LIBS=            `pkg-config --libs libbsd-overlay`

LIBCURL_INCS=           `pkg-config --cflags libcurl`
LIBCURL_LIBS=           `pkg-config --libs libcurl`

KCGI_INCS=              `pkg-config --cflags kcgi`
KCGI_LIBS=              `pkg-config --libs kcgi`

DEFS=                   -DVARDIR=\"${VARDIR}\" \
                        -DTMPDIR=\"${TMPDIR}\"

.SUFFIXES:
.SUFFIXES: .c .o .sql .h

all: scid scictl sciworkerd sciwebd

.c.o:
	${CC} ${DEFS} ${LIBBSD_INCS} ${KCGI_INCS} ${CFLAGS} -c $< -o $@

.sql.h:
	./bcc -sc0 $< $< > $@

-include ${SCID_DEPS} ${SCIWORKERD_DEPS} ${SCICTL_DEPS} ${SCIWEBD_DEPS}

config.h:
	@echo "using default configuration"
	cp config.def.h $@

bcc: extern/bcc/bcc.c
	${CC} ${CFLAGS} -o $@ $< ${LDFLAGS}

${SCID_DATA}: bcc
${SCID_OBJS}: config.h ${SCID_DATA}

scid: ${SCID_OBJS}
	${CC} ${CFLAGS} -o $@ ${SCID_OBJS} ${LIBBSD_LIBS} ${LDFLAGS}

${SCIWORKERD_OBJS}: config.h

sciworkerd: ${SCIWORKERD_OBJS}
	${CC} ${CFLAGS} -o $@ ${SCIWORKERD_OBJS} ${LIBBSD_LIBS} ${LIBCURL_LIBS} ${LDFLAGS}

${SCICTL_OBJS}: config.h

scictl: ${SCICTL_OBJS}
	${CC} ${CFLAGS} -o $@ ${SCICTL_OBJS} ${LIBBSD_LIBS} ${LDFLAGS}

${SCIWEBD_OBJS}: config.h

sciwebd: ${SCIWEBD_OBJS}
	${CC} ${CFLAGS} -o $@ ${SCIWEBD_OBJS} ${LIBBSD_LIBS} ${KCGI_LIBS} ${LDFLAGS}

clean:
	rm -f bcc
	rm -f scid ${SCID_OBJS} ${SCID_DEPS} ${SCID_DATA}
	rm -f scictl ${SCICTL_OBJS} ${SCICTL_DEPS}
	rm -f sciworkerd ${SCIWORKERD_OBJS} ${SCIWORKERD_DEPS}
	rm -f sciwebd ${SCIWEBD_OBJS} ${SCIWEBD_DEPS}

.PHONY: all clean