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