comparison Makefile @ 0:15a06aa20298

misc: initial import
author David Demelier <markand@malikania.fr>
date Tue, 04 Feb 2020 13:35:52 +0100
parents
children 836a698946f8
comparison
equal deleted inserted replaced
-1:000000000000 0:15a06aa20298
1 #
2 # Makefile -- basic makefile for paster
3 #
4 # Copyright (c) 2020 David Demelier <markand@malikania.fr>
5 #
6 # Permission to use, copy, modify, and/or distribute this software for any
7 # purpose with or without fee is hereby granted, provided that the above
8 # copyright notice and this permission notice appear in all copies.
9 #
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 #
18
19 .POSIX:
20
21 CC= cc
22 CFLAGS= -std=c18 -Wall -Wextra -pedantic -D_XOPEN_SOURCE=700 -g
23 # Release
24 # CFLAGS= -std=c18 -Wall -Wextra -pedantic -O3 -DNDEBUG -D_XOPEN_SOURCE=700
25 LDFLAGS= -static -lkcgi -lz
26
27 SRCS= database.c log.c pasterd.c paste.c util.c
28 OBJS= ${SRCS:.c=.o}
29 DEPS= ${SRCS:.c=.d}
30
31 SQLITE_FLAGS= -DSQLITE_THREADSAFE=0 \
32 -DSQLITE_OMIT_LOAD_EXTENSION \
33 -DSQLITE_OMIT_DEPRECATED \
34 -DSQLITE_DEFAULT_FOREIGN_KEYS=1
35
36 UID= www
37
38 .SUFFIXES:
39 .SUFFIXES: .c .o
40
41 all: paster
42
43 -include ${DEPS}
44
45 .c.o:
46 ${CC} ${CFLAGS} -MMD -Iextern -c $<
47
48 extern/sqlite3.o: extern/sqlite3.c extern/sqlite3.h
49 ${CC} ${CFLAGS} ${SQLITE_FLAGS} -MMD -c $< -o $@
50
51 extern/libsqlite3.a: extern/sqlite3.o
52 ${AR} -rc $@ $<
53
54 pasterd: ${OBJS} extern/libsqlite3.a
55 ${CC} -o $@ ${OBJS} ${LDFLAGS} extern/libsqlite3.a
56
57 clean:
58 rm -f extern/sqlite3.o extern/libsqlite3.a
59 rm -f pasterd ${OBJS} ${DEPS}
60
61 run: pasterd
62 kfcgi -dv -s ./paster.sock -u ${UID} -U ${UID} -p . -- pasterd -f
63
64 .PHONY: all clean run