Mercurial > paster
annotate Makefile @ 24:6702a87420d1
pasterd: fix some assertions
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 06 Feb 2020 21:48:32 +0100 |
parents | 814b9117b610 |
children | 6a45977c82b4 |
rev | line source |
---|---|
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 | |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
21 # User options. |
0 | 22 CC= cc |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
23 CFLAGS= -DNDEBUG -O3 |
0 | 24 |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
25 # Installation paths. |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
26 PREFIX= /usr/local |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
27 BINDIR= ${PREFIX}/bin |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
28 SHAREDIR= ${PREFIX}/share |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
29 MANDIR= ${PREFIX}/share/man |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
30 VARDIR= ${PREFIX}/var |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
31 |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
32 CORE_SRCS= config.c database.c http.c log.c paste.c util.c |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
33 CORE_OBJS= ${CORE_SRCS:.c=.o} |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
34 CORE_DEPS= ${CORE_SRCS:.c=.d} |
0 | 35 |
36 SQLITE_FLAGS= -DSQLITE_THREADSAFE=0 \ | |
37 -DSQLITE_OMIT_LOAD_EXTENSION \ | |
38 -DSQLITE_OMIT_DEPRECATED \ | |
39 -DSQLITE_DEFAULT_FOREIGN_KEYS=1 | |
40 | |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
41 MY_CFLAGS= -std=c18 \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
42 -Iextern \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
43 -D_XOPEN_SOURCE=700 \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
44 -DSHAREDIR=\"${SHAREDIR}\" \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
45 -DVARDIR=\"${VARDIR}\" \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
46 ${CFLAGS} |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
47 MY_LDFLAGS= -static -lkcgi -lkcgihtml -lz ${LDFLAGS} |
0 | 48 |
49 .SUFFIXES: | |
14 | 50 .SUFFIXES: .c .o .in |
0 | 51 |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
52 all: pasterd pasterd-clean paster |
0 | 53 |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
54 -include ${CORE_DEPS} |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
55 -include pasterd.d |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
56 -include pasterd-clean.d |
0 | 57 |
58 .c.o: | |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
59 ${CC} ${MY_CFLAGS} -MMD -Iextern -c $< |
0 | 60 |
14 | 61 .in: |
62 sed -e "s|@SHAREDIR@|${SHAREDIR}|" \ | |
63 -e "s|@VARDIR@|${VARDIR}|" \ | |
64 < $< > $@ | |
65 | |
0 | 66 extern/sqlite3.o: extern/sqlite3.c extern/sqlite3.h |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
67 ${CC} ${MY_CFLAGS} ${SQLITE_FLAGS} -c $< -o $@ |
0 | 68 |
69 extern/libsqlite3.a: extern/sqlite3.o | |
23 | 70 ${AR} -rc $@ extern/sqlite3.o |
0 | 71 |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
72 pasterd: ${CORE_OBJS} extern/libsqlite3.a pasterd.o pasterd.8 |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
73 ${CC} -o $@ ${CORE_OBJS} pasterd.o ${MY_LDFLAGS} extern/libsqlite3.a |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
74 |
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
75 pasterd-clean: ${OBJS} extern/libsqlite3.a pasterd-clean.o pasterd-clean.8 |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
76 ${CC} -o $@ ${CORE_OBJS} pasterd-clean.o ${MY_LDFLAGS} extern/libsqlite3.a |
0 | 77 |
14 | 78 paster: paster.sh paster.1 |
7 | 79 cp paster.sh paster |
80 chmod +x paster | |
81 | |
0 | 82 clean: |
83 rm -f extern/sqlite3.o extern/libsqlite3.a | |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
84 rm -f ${CORE_OBJS} ${CORE_DEPS} |
18
ba9fa4869a4b
make: fix clean target
David Demelier <markand@malikania.fr>
parents:
17
diff
changeset
|
85 rm -f pasterd pasterd.d pasterd.o pasterd.8 |
ba9fa4869a4b
make: fix clean target
David Demelier <markand@malikania.fr>
parents:
17
diff
changeset
|
86 rm -f pasterd-clean pasterd-clean.d pasterd-clean.o pasterd-clean.8 |
ba9fa4869a4b
make: fix clean target
David Demelier <markand@malikania.fr>
parents:
17
diff
changeset
|
87 rm -f paster paster.1 |
0 | 88 |
12
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
89 install-paster: |
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
90 mkdir -p ${DESTDIR}${BINDIR} |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
91 mkdir -p ${DESTDIR}${MANDIR}/man1 |
12
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
92 cp paster ${DESTDIR}${BINDIR} |
14 | 93 cp paster.1 ${DESTDIR}${MANDIR}/man1/paster.1 |
12
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
94 |
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
95 install-pasterd: |
1
836a698946f8
pasterd: add basic routes
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
96 mkdir -p ${DESTDIR}${BINDIR} |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
97 mkdir -p ${DESTDIR}${MANDIR}/man8 |
1
836a698946f8
pasterd: add basic routes
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
98 cp pasterd ${DESTDIR}${BINDIR} |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
99 cp pasterd-clean ${DESTDIR}${BINDIR} |
1
836a698946f8
pasterd: add basic routes
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
100 mkdir -p ${DESTDIR}${SHAREDIR}/paster |
836a698946f8
pasterd: add basic routes
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
101 cp -R themes ${DESTDIR}${SHAREDIR}/paster |
14 | 102 cp pasterd.8 ${DESTDIR}${MANDIR}/man8/pasterd.8 |
0 | 103 |
12
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
104 install: install-pasterd install-paster |
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
105 |
0 | 106 .PHONY: all clean run |