Mercurial > paster
annotate Makefile @ 32:a47801a1522a
doc: advertise searching function in pasterd.8
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 11 Feb 2020 13:51:18 +0100 |
parents | 5f95e28ba3bb |
children | 030efbd7340f |
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 |
26
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
32 VERSION= 0.1.0 |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
33 |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
34 CORE_SRCS= config.c database.c http.c log.c paste.c util.c |
26
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
35 CORE_HDRS= config.h database.h http.h log.h paste.h util.h |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
36 CORE_OBJS= ${CORE_SRCS:.c=.o} |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
37 CORE_DEPS= ${CORE_SRCS:.c=.d} |
0 | 38 |
39 SQLITE_FLAGS= -DSQLITE_THREADSAFE=0 \ | |
40 -DSQLITE_OMIT_LOAD_EXTENSION \ | |
41 -DSQLITE_OMIT_DEPRECATED \ | |
42 -DSQLITE_DEFAULT_FOREIGN_KEYS=1 | |
43 | |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
44 MY_CFLAGS= -std=c18 \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
45 -Iextern \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
46 -D_XOPEN_SOURCE=700 \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
47 -DSHAREDIR=\"${SHAREDIR}\" \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
48 -DVARDIR=\"${VARDIR}\" \ |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
49 ${CFLAGS} |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
50 MY_LDFLAGS= -static -lkcgi -lkcgihtml -lz ${LDFLAGS} |
0 | 51 |
52 .SUFFIXES: | |
14 | 53 .SUFFIXES: .c .o .in |
0 | 54 |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
55 all: pasterd pasterd-clean paster |
0 | 56 |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
57 -include ${CORE_DEPS} |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
58 -include pasterd.d |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
59 -include pasterd-clean.d |
0 | 60 |
61 .c.o: | |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
62 ${CC} ${MY_CFLAGS} -MMD -Iextern -c $< |
0 | 63 |
14 | 64 .in: |
65 sed -e "s|@SHAREDIR@|${SHAREDIR}|" \ | |
66 -e "s|@VARDIR@|${VARDIR}|" \ | |
67 < $< > $@ | |
68 | |
0 | 69 extern/sqlite3.o: extern/sqlite3.c extern/sqlite3.h |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
70 ${CC} ${MY_CFLAGS} ${SQLITE_FLAGS} -c $< -o $@ |
0 | 71 |
72 extern/libsqlite3.a: extern/sqlite3.o | |
23 | 73 ${AR} -rc $@ extern/sqlite3.o |
0 | 74 |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
75 pasterd: ${CORE_OBJS} extern/libsqlite3.a pasterd.o pasterd.8 |
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
76 ${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
|
77 |
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
78 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
|
79 ${CC} -o $@ ${CORE_OBJS} pasterd-clean.o ${MY_LDFLAGS} extern/libsqlite3.a |
0 | 80 |
14 | 81 paster: paster.sh paster.1 |
7 | 82 cp paster.sh paster |
83 chmod +x paster | |
84 | |
0 | 85 clean: |
86 rm -f extern/sqlite3.o extern/libsqlite3.a | |
19
3aef43b40f1c
make: improve user modifications
David Demelier <markand@malikania.fr>
parents:
18
diff
changeset
|
87 rm -f ${CORE_OBJS} ${CORE_DEPS} |
18
ba9fa4869a4b
make: fix clean target
David Demelier <markand@malikania.fr>
parents:
17
diff
changeset
|
88 rm -f pasterd pasterd.d pasterd.o pasterd.8 |
ba9fa4869a4b
make: fix clean target
David Demelier <markand@malikania.fr>
parents:
17
diff
changeset
|
89 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
|
90 rm -f paster paster.1 |
0 | 91 |
12
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
92 install-paster: |
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
93 mkdir -p ${DESTDIR}${BINDIR} |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
94 mkdir -p ${DESTDIR}${MANDIR}/man1 |
12
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
95 cp paster ${DESTDIR}${BINDIR} |
14 | 96 cp paster.1 ${DESTDIR}${MANDIR}/man1/paster.1 |
26
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
97 |
12
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
98 install-pasterd: |
1
836a698946f8
pasterd: add basic routes
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
99 mkdir -p ${DESTDIR}${BINDIR} |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
100 mkdir -p ${DESTDIR}${MANDIR}/man8 |
1
836a698946f8
pasterd: add basic routes
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
101 cp pasterd ${DESTDIR}${BINDIR} |
17
09d2f54562ec
pasterd-clean: initial import, closes #2473
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
102 cp pasterd-clean ${DESTDIR}${BINDIR} |
1
836a698946f8
pasterd: add basic routes
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
103 mkdir -p ${DESTDIR}${SHAREDIR}/paster |
836a698946f8
pasterd: add basic routes
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
104 cp -R themes ${DESTDIR}${SHAREDIR}/paster |
31
5f95e28ba3bb
pasterd-clean: forgot to install manual page
David Demelier <markand@malikania.fr>
parents:
26
diff
changeset
|
105 cp pasterd.8 ${DESTDIR}${MANDIR}/man8 |
5f95e28ba3bb
pasterd-clean: forgot to install manual page
David Demelier <markand@malikania.fr>
parents:
26
diff
changeset
|
106 cp pasterd-clean.8 ${DESTDIR}${MANDIR}/man8 |
0 | 107 |
12
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
108 install: install-pasterd install-paster |
93f0440d452e
pasterd: add siimple theme
David Demelier <markand@malikania.fr>
parents:
11
diff
changeset
|
109 |
26
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
110 dist: clean |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
111 mkdir -p paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
112 cp -R extern paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
113 cp -R themes paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
114 cp ${CORE_SRCS} ${CORE_HDRS} paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
115 cp pasterd.8.in pasterd.c paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
116 cp pasterd-clean.8.in pasterd-clean.c paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
117 cp paster.1.in paster.sh paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
118 cp Makefile CHANGES.md CONTRIBUTE.md CREDITS.md INSTALL.md LICENSE.md \ |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
119 README.md STYLE.md TODO.md paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
120 tar -cJf paster-${VERSION}.tar.xz paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
121 rm -rf paster-${VERSION} |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
122 |
6a45977c82b4
misc: update before 0.1.0
David Demelier <markand@malikania.fr>
parents:
23
diff
changeset
|
123 .PHONY: all clean dist run |