Makefile - webdump - HTML to plain-text converter for webpages (HTM) git clone git://git.codemadness.org/webdump (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- Makefile (2131B) --- 1 .POSIX: 2 3 NAME = webdump 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 WEBDUMP_CFLAGS = ${CFLAGS} 15 WEBDUMP_LDFLAGS = ${LDFLAGS} 16 WEBDUMP_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE 17 18 BIN = ${NAME} 19 SCRIPTS = 20 21 SRC = ${BIN:=.c} 22 HDR = arg.h namedentities.h tree.h xml.h 23 24 LIBXML = libxml.a 25 LIBXMLSRC = \ 26 xml.c 27 LIBXMLOBJ = ${LIBXMLSRC:.c=.o} 28 29 COMPATSRC = \ 30 strlcat.c\ 31 strlcpy.c 32 COMPATOBJ =\ 33 strlcat.o\ 34 strlcpy.o 35 36 LIB = ${LIBXML} ${COMPATOBJ} 37 38 MAN1 = ${BIN:=.1}\ 39 ${SCRIPTS:=.1} 40 41 DOC = \ 42 LICENSE\ 43 README 44 45 all: ${BIN} 46 47 ${BIN}: ${LIB} ${@:=.o} 48 49 OBJ = ${SRC:.c=.o} ${LIBXMLOBJ} ${COMPATOBJ} 50 51 ${OBJ}: ${HDR} 52 53 .o: 54 ${CC} ${WEBDUMP_LDFLAGS} -o $@ $< ${LIB} 55 56 .c.o: 57 ${CC} ${WEBDUMP_CFLAGS} ${WEBDUMP_CPPFLAGS} -o $@ -c $< 58 59 ${LIBXML}: ${LIBXMLOBJ} 60 ${AR} rc $@ $? 61 ${RANLIB} $@ 62 63 dist: 64 rm -rf "${NAME}-${VERSION}" 65 mkdir -p "${NAME}-${VERSION}" 66 cp -f ${MAN1} ${DOC} ${HDR} \ 67 ${SRC} ${LIBXMLSRC} ${COMPATSRC} ${SCRIPTS} \ 68 Makefile \ 69 "${NAME}-${VERSION}" 70 # make tarball 71 tar -cf - "${NAME}-${VERSION}" | \ 72 gzip -c > "${NAME}-${VERSION}.tar.gz" 73 rm -rf "${NAME}-${VERSION}" 74 75 clean: 76 rm -f ${BIN} ${OBJ} ${LIB} 77 78 install: all 79 # installing executable files and scripts. 80 mkdir -p "${DESTDIR}${PREFIX}/bin" 81 cp -f ${BIN} ${SCRIPTS} "${DESTDIR}${PREFIX}/bin" 82 for f in ${BIN} ${SCRIPTS}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done 83 # installing example files. 84 mkdir -p "${DESTDIR}${DOCPREFIX}" 85 cp -f README "${DESTDIR}${DOCPREFIX}" 86 # installing manual pages for general commands: section 1. 87 mkdir -p "${DESTDIR}${MANPREFIX}/man1" 88 cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1" 89 for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done 90 91 uninstall: 92 # removing executable files and scripts. 93 for f in ${BIN} ${SCRIPTS}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done 94 # removing example files. 95 rm -f "${DESTDIR}${DOCPREFIX}/README" 96 -rmdir "${DESTDIR}${DOCPREFIX}" 97 # removing manual pages. 98 for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done 99 100 .PHONY: all clean dist install uninstall