Mercurial > imgup
annotate Makefile @ 36:575c90cafc7e default tip @
imgupd: use id as filename
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 16 Mar 2023 12:56:46 +0100 |
parents | 3e01d0147294 |
children |
rev | line source |
---|---|
0 | 1 # |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
2 # Makefile -- basic makefile for imgup |
0 | 3 # |
35
3e01d0147294
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
25
diff
changeset
|
4 # Copyright (c) 2020-2023 David Demelier <markand@malikania.fr> |
0 | 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 # User options. | |
22 CC= cc | |
23 CFLAGS= -DNDEBUG -O3 | |
24 | |
25 # Installation paths. | |
26 PREFIX= /usr/local | |
27 BINDIR= ${PREFIX}/bin | |
28 SHAREDIR= ${PREFIX}/share | |
29 MANDIR= ${PREFIX}/share/man | |
30 VARDIR= ${PREFIX}/var | |
31 | |
8
51b272eab08a
misc: update before 0.2.0
David Demelier <markand@malikania.fr>
parents:
7
diff
changeset
|
32 VERSION= 0.2.0 |
0 | 33 |
22
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
34 CORE_SRCS= config.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
35 database.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
36 fragment-duration.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
37 fragment-image.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
38 fragment.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
39 http.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
40 image.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
41 log.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
42 page-download.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
43 page-image.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
44 page-index.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
45 page-new.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
46 page-search.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
47 page-static.c \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
48 page.c \ |
0 | 49 util.c |
22
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
50 CORE_HDRS= config.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
51 database.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
52 fragment-duration.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
53 fragment-image.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
54 fragment.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
55 http.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
56 image.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
57 log.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
58 page-download.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
59 page-image.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
60 page-index.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
61 page-new.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
62 page-search.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
63 page-static.h \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
64 page.h \ |
0 | 65 util.h |
66 CORE_OBJS= ${CORE_SRCS:.c=.o} | |
67 CORE_DEPS= ${CORE_SRCS:.c=.d} | |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
68 CORE_LIB= libimgup.a |
0 | 69 |
70 TESTS_SRCS= tests/test-database.c | |
71 TESTS_OBJS= ${TESTS_SRCS:.c=} | |
72 | |
22
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
73 SQLITE_FLAGS= -DSQLITE_THREADSAFE=0 \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
74 -DSQLITE_OMIT_LOAD_EXTENSION \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
75 -DSQLITE_OMIT_DEPRECATED \ |
0 | 76 -DSQLITE_DEFAULT_FOREIGN_KEYS=1 |
77 SQLITE_LIB= libsqlite3.a | |
78 | |
22
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
79 MY_CFLAGS= -std=c11 \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
80 -MMD \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
81 -I . \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
82 -I extern \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
83 -D_XOPEN_SOURCE=700 \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
84 -DSHAREDIR=\"${SHAREDIR}\" \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
85 -DVARDIR=\"${VARDIR}\" \ |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
86 `pkg-config --cflags libmagic kcgi-html` |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
87 |
4e151288471e
make use pkg-config to find libmagic and kcgi
David Demelier <markand@malikania.fr>
parents:
16
diff
changeset
|
88 MY_LDFLAGS= `pkg-config --libs libmagic kcgi-html` |
0 | 89 |
90 .SUFFIXES: | |
91 .SUFFIXES: .o .c .in | |
92 | |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
93 all: imgupd imgupd-clean imgup |
0 | 94 |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
95 -include ${CORE_DEPS} imgup.d imgupd-clean.d |
0 | 96 |
97 .c.o: | |
98 ${CC} ${MY_CFLAGS} ${CFLAGS} -c $< | |
99 | |
100 .c: | |
101 ${CC} ${MY_CFLAGS} $< -o $@ ${CORE_LIB} ${SQLITE_LIB} ${MY_LDFLAGS} ${LDFLAGS} | |
102 | |
103 .o: | |
104 ${CC} -o $@ $< ${CORE_LIB} ${SQLITE_LIB} ${MY_LDFLAGS} ${LDFLAGS} | |
105 | |
106 .in: | |
107 sed -e "s|@SHAREDIR@|${SHAREDIR}|" \ | |
108 -e "s|@VARDIR@|${VARDIR}|" \ | |
109 < $< > $@ | |
110 | |
111 ${SQLITE_LIB}: extern/sqlite3.c extern/sqlite3.h | |
112 ${CC} ${CFLAGS} ${SQLITE_FLAGS} -c extern/sqlite3.c -o extern/sqlite3.o | |
113 ${AR} -rc $@ extern/sqlite3.o | |
114 | |
115 ${CORE_LIB}: ${CORE_OBJS} | |
116 ${AR} -rc $@ ${CORE_OBJS} | |
117 | |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
118 imgupd-clean.o: imgupd-clean.8 ${CORE_LIB} ${SQLITE_LIB} |
0 | 119 |
16
070793dd21b2
imgupd: add new imgupd-themes(5) manual page
David Demelier <markand@malikania.fr>
parents:
8
diff
changeset
|
120 imgupd.o: imgupd-themes.5 imgupd.8 ${CORE_LIB} ${SQLITE_LIB} |
0 | 121 |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
122 imgup: imgup.sh imgup.1 |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
123 cp imgup.sh imgup |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
124 chmod +x imgup |
0 | 125 |
126 clean: | |
127 rm -f ${SQLITE_LIB} extern/sqlite3.o | |
128 rm -f ${CORE_LIB} ${CORE_OBJS} ${CORE_DEPS} | |
16
070793dd21b2
imgupd: add new imgupd-themes(5) manual page
David Demelier <markand@malikania.fr>
parents:
8
diff
changeset
|
129 rm -f imgupd imgupd.d imgupd.o imgupd-themes.5 imgupd.8 |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
130 rm -f imgupd-clean imgupd-clean.d imgupd-clean.o imgupd-clean.8 |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
131 rm -f imgup imgup.1 |
0 | 132 rm -f test.db ${TESTS_OBJS} |
133 | |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
134 install-imgup: |
0 | 135 mkdir -p ${DESTDIR}${BINDIR} |
136 mkdir -p ${DESTDIR}${MANDIR}/man1 | |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
137 cp imgup ${DESTDIR}${BINDIR} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
138 cp imgup.1 ${DESTDIR}${MANDIR}/man1/imgup.1 |
0 | 139 |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
140 install-imgupd: |
0 | 141 mkdir -p ${DESTDIR}${BINDIR} |
16
070793dd21b2
imgupd: add new imgupd-themes(5) manual page
David Demelier <markand@malikania.fr>
parents:
8
diff
changeset
|
142 mkdir -p ${DESTDIR}${MANDIR}/man5 |
0 | 143 mkdir -p ${DESTDIR}${MANDIR}/man8 |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
144 cp imgupd ${DESTDIR}${BINDIR} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
145 cp imgupd-clean ${DESTDIR}${BINDIR} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
146 mkdir -p ${DESTDIR}${SHAREDIR}/imgup |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
147 cp -R themes ${DESTDIR}${SHAREDIR}/imgup |
16
070793dd21b2
imgupd: add new imgupd-themes(5) manual page
David Demelier <markand@malikania.fr>
parents:
8
diff
changeset
|
148 cp imgupd-themes.5 ${DESTDIR}${MANDIR}/man5 |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
149 cp imgupd.8 ${DESTDIR}${MANDIR}/man8 |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
150 cp imgupd-clean.8 ${DESTDIR}${MANDIR}/man8 |
0 | 151 |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
152 install: install-imgupd install-imgup |
0 | 153 |
16
070793dd21b2
imgupd: add new imgupd-themes(5) manual page
David Demelier <markand@malikania.fr>
parents:
8
diff
changeset
|
154 dist: |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
155 mkdir -p imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
156 cp -R extern imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
157 cp -R themes imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
158 cp -R tests imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
159 cp ${CORE_SRCS} ${CORE_HDRS} imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
160 cp imgupd.8.in imgupd.c imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
161 cp imgupd-clean.8.in imgupd-clean.c imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
162 cp imgup.1.in imgup.sh imgup-${VERSION} |
0 | 163 cp Makefile CHANGES.md CONTRIBUTE.md CREDITS.md INSTALL.md LICENSE.md \ |
7
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
164 README.md STYLE.md TODO.md imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
165 tar -cJf imgup-${VERSION}.tar.xz imgup-${VERSION} |
1cf90affaa33
misc: rename the project to imgup
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
166 rm -rf imgup-${VERSION} |
0 | 167 |
168 ${TESTS_OBJS}: ${CORE_LIB} ${SQLITE_LIB} | |
169 | |
170 tests: ${TESTS_OBJS} | |
171 for t in ${TESTS_OBJS}; do $$t; done | |
172 | |
173 .PHONY: all clean dist run tests |