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.8
            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