X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=Makefile;h=c0acb10b336b514285236603f3f6e618b1fc68fe;hb=3c00e328b546283294871232e65e39b9d2b80041;hp=481cf05edc47626e1b04a4c28e372b97b84beb80;hpb=41c90a9173d074a9b262e8e6f4059c63bd558a7a;p=stagit.git diff --git a/Makefile b/Makefile index 481cf05..c0acb10 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,22 @@ -include config.mk +.POSIX: NAME = stagit -VERSION = 0.4 +VERSION = 0.9.3 + +# paths +PREFIX = /usr/local +MANPREFIX = ${PREFIX}/man +DOCPREFIX = ${PREFIX}/share/doc/${NAME} +SHAREPREFIX = ${PREFIX}/share/${NAME} + +LIBGIT_INC = -I/usr/local/include +LIBGIT_LIB = -L/usr/local/lib -lgit2 + +# use system flags. +STAGIT_CFLAGS = ${LIBGIT_INC} ${CFLAGS} +STAGIT_LDFLAGS = ${LIBGIT_LIB} ${LDFLAGS} +STAGIT_CPPFLAGS = -D_XOPEN_SOURCE=700 -D_DEFAULT_SOURCE -D_BSD_SOURCE + SRC = \ stagit.c\ stagit-index.c @@ -17,8 +32,7 @@ MAN1 = \ stagit-index.1 DOC = \ LICENSE\ - README\ - TODO + README HDR = compat.h COMPATOBJ = \ @@ -28,69 +42,76 @@ COMPATOBJ = \ OBJ = ${SRC:.c=.o} ${COMPATOBJ} -all: $(BIN) +all: ${BIN} + +.o: + ${CC} -o $@ ${LDFLAGS} .c.o: - ${CC} -c ${CFLAGS} $< - -dist: $(BIN) - rm -rf release/${VERSION} - mkdir -p release/${VERSION} - cp -f ${MAN1} ${HDR} ${SCRIPTS} ${SRC} ${COMPATSRC} ${DOC} \ - Makefile config.def.h config.mk \ - favicon.png logo.png style.css \ - example.sh \ - release/${VERSION}/ - # make tarball - rm -f stagit-${VERSION}.tar.gz - (cd release/${VERSION}; \ - tar -czf ../../stagit-${VERSION}.tar.gz .) + ${CC} -o $@ -c $< ${STAGIT_CFLAGS} ${STAGIT_CPPFLAGS} -${OBJ}: config.h config.mk ${HDR} +dist: + rm -rf ${NAME}-${VERSION} + mkdir -p ${NAME}-${VERSION} + cp -f ${MAN1} ${HDR} ${SRC} ${COMPATSRC} ${DOC} \ + Makefile favicon.png logo.png style.min.css syntax.css highlight.py \ + example_create.sh example_post-receive.sh \ + ${NAME}-${VERSION} + # make tarball + tar -cf - ${NAME}-${VERSION} | \ + gzip -c > ${NAME}-${VERSION}.tar.gz + rm -rf ${NAME}-${VERSION} -config.h: - @echo creating $@ from config.def.h - @cp config.def.h $@ +${OBJ}: ${HDR} -stagit: stagit.o ${COMPATOBJ} - ${CC} -o $@ stagit.o ${COMPATOBJ} ${LDFLAGS} +stagit: stagit.o ${COMPATOBJ} requirements.txt + pip3 install -r requirements.txt + ${CC} -o $@ stagit.o ${COMPATOBJ} ${STAGIT_LDFLAGS} stagit-index: stagit-index.o ${COMPATOBJ} - ${CC} -o $@ stagit-index.o ${COMPATOBJ} ${LDFLAGS} + ${CC} -o $@ stagit-index.o ${COMPATOBJ} ${STAGIT_LDFLAGS} clean: - rm -f ${BIN} ${OBJ} + rm -f ${BIN} ${OBJ} ${NAME}-${VERSION}.tar.gz install: all # installing executable files. mkdir -p ${DESTDIR}${PREFIX}/bin - cp -f ${BIN} ${SCRIPTS} ${DESTDIR}${PREFIX}/bin - for f in $(BIN) $(SCRIPTS); do chmod 755 ${DESTDIR}${PREFIX}/bin/$$f; done + cp -f ${BIN} ${DESTDIR}${PREFIX}/bin + for f in ${BIN}; do chmod 755 ${DESTDIR}${PREFIX}/bin/$$f; done # installing example files. - mkdir -p ${DESTDIR}${PREFIX}/share/${NAME} - cp -f style.css\ - favicon.png\ + mkdir -p ${DESTDIR}${DOCPREFIX} + cp -f favicon.png\ logo.png\ - example.sh\ + example_create.sh\ + example_post-receive.sh\ README\ - ${DESTDIR}${PREFIX}/share/${NAME} + ${DESTDIR}${DOCPREFIX} + mkdir -p ${DESTDIR}${SHAREPREFIX} + cp -f style.min.css\ + syntax.css\ + highlight.py\ + ${DESTDIR}${SHAREPREFIX} # installing manual pages. mkdir -p ${DESTDIR}${MANPREFIX}/man1 cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1 - for m in $(MAN1); do chmod 644 ${DESTDIR}${MANPREFIX}/man1/$$m; done + for m in ${MAN1}; do chmod 644 ${DESTDIR}${MANPREFIX}/man1/$$m; done uninstall: - # removing executable files and scripts. - for f in $(BIN) $(SCRIPTS); do rm -f ${DESTDIR}${PREFIX}/bin/$$f; done + # removing executable files. + for f in ${BIN}; do rm -f ${DESTDIR}${PREFIX}/bin/$$f; done # removing example files. rm -f \ - ${DESTDIR}${PREFIX}/share/${NAME}/style.css\ - ${DESTDIR}${PREFIX}/share/${NAME}/favicon.png\ - ${DESTDIR}${PREFIX}/share/${NAME}/logo.png\ - ${DESTDIR}${PREFIX}/share/${NAME}/example.sh\ - ${DESTDIR}${PREFIX}/share/${NAME}/README - -rmdir ${DESTDIR}${PREFIX}/share/${NAME} + ${DESTDIR}${SHAREPREFIX}/style.min.css\ + ${DESTDIR}${SHAREPREFIX}/syntax.css\ + ${DESTDIR}${SHAREPREFIX}/highlight.py\ + ${DESTDIR}${DOCPREFIX}/favicon.png\ + ${DESTDIR}${DOCPREFIX}/logo.png\ + ${DESTDIR}${DOCPREFIX}/example_create.sh\ + ${DESTDIR}${DOCPREFIX}/example_post-receive.sh\ + ${DESTDIR}${DOCPREFIX}/README + -rmdir ${DESTDIR}${DOCPREFIX} # removing manual pages. - for m in $(MAN1); do rm -f ${DESTDIR}${MANPREFIX}/man1/$$m; done + for m in ${MAN1}; do rm -f ${DESTDIR}${MANPREFIX}/man1/$$m; done .PHONY: all clean dist install uninstall