Makefile - jfconvert - JSON Feed (subset) to sfeed or Atom converter
 (HTM) git clone git://git.codemadness.org/jfconvert
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       Makefile (2066B)
       ---
            1 .POSIX:
            2 
            3 NAME = jfconvert
            4 VERSION = 0.1
            5 
            6 # paths
            7 PREFIX = /usr/local
            8 MANPREFIX = ${PREFIX}/man
            9 DOCPREFIX = ${PREFIX}/share/doc/${NAME}
           10 
           11 RANLIB = ranlib
           12 
           13 # use system flags.
           14 JFCONVERT_CFLAGS = ${CFLAGS}
           15 JFCONVERT_LDFLAGS = ${LDFLAGS}
           16 JFCONVERT_CPPFLAGS = -D_DEFAULT_SOURCE
           17 
           18 # uncomment for conservative locked I/O.
           19 #JFCONVERT_CPPFLAGS = -D_DEFAULT_SOURCE -DGETNEXT=getchar
           20 
           21 BIN = jf2atom jf2sfeed
           22 SRC = ${BIN:=.c}
           23 HDR = json.h
           24 MAN1 = ${BIN:=.1}
           25 DOC = \
           26         LICENSE\
           27         README
           28 
           29 LIBJSON = libjson.a
           30 LIBJSONSRC = json.c
           31 LIBJSONOBJ = ${LIBJSONSRC:.c=.o}
           32 
           33 LIB = ${LIBJSON}
           34 
           35 all: ${BIN}
           36 
           37 ${BIN}: ${LIB} ${@:=.o}
           38 
           39 OBJ = ${SRC:.c=.o} ${LIBJSONOBJ}
           40 
           41 ${OBJ}: ${HDR}
           42 
           43 .o:
           44         ${CC} ${JFCONVERT_LDFLAGS} -o $@ $< ${LIB}
           45 
           46 .c.o:
           47         ${CC} ${JFCONVERT_CFLAGS} ${JFCONVERT_CPPFLAGS} -o $@ -c $<
           48 
           49 ${LIBJSON}: ${LIBJSONOBJ}
           50         ${AR} -rc $@ $?
           51         ${RANLIB} $@
           52 
           53 dist:
           54         rm -rf "${NAME}-${VERSION}"
           55         mkdir -p "${NAME}-${VERSION}"
           56         cp -f ${MAN1} ${DOC} ${HDR} \
           57                 ${SRC} ${LIBJSONSRC} Makefile "${NAME}-${VERSION}"
           58         # make tarball
           59         tar cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
           60         rm -rf "${NAME}-${VERSION}"
           61 
           62 clean:
           63         rm -f ${BIN} ${OBJ} ${LIB}
           64 
           65 install: all
           66         # installing executable files.
           67         mkdir -p "${DESTDIR}${PREFIX}/bin"
           68         cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
           69         for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
           70         # installing example files.
           71         mkdir -p "${DESTDIR}${DOCPREFIX}"
           72         cp -f ${DOC} "${DESTDIR}${DOCPREFIX}"
           73         for d in ${DOC}; do chmod 644 "${DESTDIR}${DOCPREFIX}/$$d"; done
           74         # installing manual pages for general commands: section 1.
           75         mkdir -p "${DESTDIR}${MANPREFIX}/man1"
           76         cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
           77         for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
           78 
           79 uninstall:
           80         # removing executable files.
           81         for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
           82         # removing example files.
           83         for d in ${DOC}; do rm -f "${DESTDIR}${DOCPREFIX}/$$d"; done
           84         -rmdir "${DESTDIR}${DOCPREFIX}"
           85         # removing manual pages.
           86         for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
           87 
           88 .PHONY: all clean dist install uninstall