Makefile - frontends - front-ends for some sites (experiment)
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
Makefile (2279B)
---
1 .POSIX:
2
3 NAME = frontends
4 VERSION = 0.9
5
6 RANLIB = ranlib
7
8 # OpenBSD
9 FRONTENDS_CFLAGS = -I../ -I. ${CFLAGS}
10 FRONTENDS_CPPFLAGS = ${CPPFLAGS}
11 FRONTENDS_LDFLAGS = ${LDFLAGS}
12 LIBTLS_LDFLAGS = -ltls
13 LIBTLS_LDFLAGS_STATIC = -ltls -lssl -lcrypto -static
14
15 # Linux
16 #FRONTENDS_CFLAGS = -I../ -I. -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 ${CFLAGS}
17 #FRONTENDS_CPPFLAGS = ${CPPFLAGS}
18 #FRONTENDS_LDFLAGS = ${LDFLAGS}
19 #LIBTLS_LDFLAGS = -ltls
20 #LIBTLS_LDFLAGS_STATIC = -pthread -ltls -lssl -lcrypto -static
21
22 BIN = \
23 youtube/cgi \
24 youtube/cli \
25 youtube/feed \
26 youtube/gopher
27
28 SRC = ${BIN:=.c} \
29 youtube/youtube.c
30
31 HDR = \
32 youtube/youtube.h \
33 json.h \
34 https.h \
35 util.h \
36 xml.h
37
38 LIBUTIL = libutil.a
39 LIBUTILSRC = util.c
40 LIBUTILOBJ = ${LIBUTILSRC:.c=.o}
41
42 LIBJSON = libjson.a
43 LIBJSONSRC = json.c
44 LIBJSONOBJ = ${LIBJSONSRC:.c=.o}
45
46 LIBHTTPS = libhttps.a
47 LIBHTTPSSRC = https.c
48 LIBHTTPSOBJ = ${LIBHTTPSSRC:.c=.o}
49
50 LIBXML = libxml.a
51 LIBXMLSRC = xml.c
52 LIBXMLOBJ = ${LIBXMLSRC:.c=.o}
53
54 COMPATSRC = strlcat.c strlcpy.c
55 COMPATOBJ = strlcat.o strlcpy.o
56
57 LIB = ${LIBHTTPS} ${LIBJSON} ${LIBUTIL} ${LIBXML} ${COMPATOBJ}
58 OBJ = ${SRC:.c=.o} ${LIBHTTPSOBJ} ${LIBJSONOBJ} ${LIBUTILOBJ} ${LIBXMLOBJ} ${COMPATOBJ}
59
60 all: ${BIN}
61
62 ${OBJ}: ${HDR}
63
64 youtube: youtube/cgi youtube/cli youtube/feed youtube/gopher
65
66 youtube/cgi: ${LIB} youtube/youtube.o youtube/cgi.o
67 ${CC} -o $@ youtube/cgi.o youtube/youtube.o ${LIB} ${LDFLAGS} ${LIBTLS_LDFLAGS_STATIC}
68
69 youtube/cli: ${LIB} youtube/youtube.o youtube/cli.o
70 ${CC} -o $@ youtube/cli.o youtube/youtube.o ${LIB} ${LDFLAGS} ${LIBTLS_LDFLAGS}
71
72 youtube/feed: ${LIB} youtube/youtube.o youtube/feed.o
73 ${CC} -o $@ youtube/feed.o youtube/youtube.o ${LIB} ${LDFLAGS} ${LIBTLS_LDFLAGS_STATIC}
74
75 youtube/gopher: ${LIB} youtube/youtube.o youtube/gopher.o
76 ${CC} -o $@ youtube/gopher.o youtube/youtube.o ${LIB} ${LDFLAGS} ${LIBTLS_LDFLAGS_STATIC}
77
78 .o:
79 ${CC} ${FRONTENDS_LDFLAGS} -o $@ $< ${LIB}
80
81 .c.o:
82 ${CC} ${FRONTENDS_CFLAGS} ${FRONTENDS_CPPFLAGS} -o $@ -c $<
83
84 ${LIBHTTPS}: ${LIBHTTPSOBJ}
85 ${AR} rc $@ $?
86 ${RANLIB} $@
87
88 ${LIBJSON}: ${LIBJSONOBJ}
89 ${AR} rc $@ $?
90 ${RANLIB} $@
91
92 ${LIBUTIL}: ${LIBUTILOBJ}
93 ${AR} rc $@ $?
94 ${RANLIB} $@
95
96 ${LIBXML}: ${LIBXMLOBJ}
97 ${AR} rc $@ $?
98 ${RANLIB} $@
99
100 clean:
101 rm -f ${BIN} ${OBJ} ${LIBUTIL} ${LIBJSON} ${LIBHTTPS} ${LIBXML}
102
103 .PHONY: clean youtube