0
|
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 |