Code

IO API: add small library for reading files and running programs
[tig.git] / Makefile
index 6cc4e424e6ef84a3e4c716a25be18cb6db6d86a8..1107f95e6ffc990a74c2cf83722dfec3dfebe537 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,7 @@ all:
 prefix ?= $(HOME)
 bindir ?= $(prefix)/bin
 datarootdir ?= $(prefix)/share
+sysconfdir ?= $(prefix)/etc
 docdir ?= $(datarootdir)/doc
 mandir ?= $(datarootdir)/man
 # DESTDIR=
@@ -36,7 +37,7 @@ CFLAGS ?= -Wall -O2
 DFLAGS = -g -DDEBUG -Werror
 PROGS  = tig
 MANDOC = tig.1 tigrc.5
-HTMLDOC = tig.1.html tigrc.5.html manual.html README.html
+HTMLDOC = tig.1.html tigrc.5.html manual.html README.html NEWS.html
 ALLDOC = $(MANDOC) $(HTMLDOC) manual.html-chunked manual.pdf
 
 # Never include the release number in the tarname for tagged
@@ -47,11 +48,12 @@ else
 TARNAME        = tig-$(RPM_VERSION)
 endif
 
-override CFLAGS += '-DTIG_VERSION="$(VERSION)"'
+override CPPFLAGS += '-DTIG_VERSION="$(VERSION)"'
+override CPPFLAGS += '-DSYSCONFDIR="$(sysconfdir)"'
 
 AUTORECONF ?= autoreconf
 ASCIIDOC ?= asciidoc
-ASCIIDOC_FLAGS = -aversion=$(VERSION)
+ASCIIDOC_FLAGS = -aversion=$(VERSION) -asysconfdir=$(sysconfdir)
 XMLTO ?= xmlto
 DOCBOOK2PDF ?= docbook2pdf
 
@@ -65,25 +67,29 @@ doc-html: $(HTMLDOC)
 install: all
        mkdir -p $(DESTDIR)$(bindir) && \
        for prog in $(PROGS); do \
-               install -p -m 0755 $$prog $(DESTDIR)$(bindir); \
+               install -p -m 0755 "$$prog" "$(DESTDIR)$(bindir)"; \
        done
 
 install-doc-man: doc-man
        mkdir -p $(DESTDIR)$(mandir)/man1 \
                 $(DESTDIR)$(mandir)/man5
        for doc in $(MANDOC); do \
+               sed 's#++SYSCONFDIR++#$(sysconfdir)#' < "$$doc" > "$$doc+"; \
                case "$$doc" in \
-               *.1) install -p -m 0644 $$doc $(DESTDIR)$(mandir)/man1 ;; \
-               *.5) install -p -m 0644 $$doc $(DESTDIR)$(mandir)/man5 ;; \
-               esac \
+               *.1) install -p -m 0644 "$$doc+" "$(DESTDIR)$(mandir)/man1/$$doc" ;; \
+               *.5) install -p -m 0644 "$$doc+" "$(DESTDIR)$(mandir)/man5/$$doc" ;; \
+               esac; \
+               $(RM) "$$doc+"; \
        done
 
 install-doc-html: doc-html
        mkdir -p $(DESTDIR)$(docdir)/tig
        for doc in $(HTMLDOC); do \
+               sed 's#++SYSCONFDIR++#$(sysconfdir)#' < "$$doc" > "$$doc+"; \
                case "$$doc" in \
-               *.html) install -p -m 0644 $$doc $(DESTDIR)$(docdir)/tig ;; \
-               esac \
+               *.html) install -p -m 0644 "$$doc+" "$(DESTDIR)$(docdir)/tig/$$doc" ;; \
+               esac; \
+               $(RM) "$$doc+"; \
        done
 
 install-doc: install-doc-man install-doc-html
@@ -93,8 +99,9 @@ clean:
        $(RM) $(PROGS) core *.o *.xml
 
 distclean: clean
-       $(RM) -r manual.html-chunked *.toc $(ALLDOC)
-       $(RM) -r autom4te.cache aclocal.m4 config.{h,log,make,status} config.h.in configure
+       $(RM) -r manual.html-chunked autom4te.cache
+       $(RM) *.toc $(ALLDOC) aclocal.m4 configure
+       $(RM) config.h config.log config.make config.status config.h.in
 
 spell-check:
        aspell --lang=en --check tig.1.txt tigrc.5.txt manual.txt
@@ -111,7 +118,7 @@ dist: configure tig.spec
        tar rf $(TARNAME).tar `find $(TARNAME)/*` && \
        gzip -f -9 $(TARNAME).tar && \
        md5sum $(TARNAME).tar.gz > $(TARNAME).tar.gz.md5
-       @rm -rf $(TARNAME)
+       @$(RM) -r $(TARNAME)
 
 rpm: dist
        rpmbuild -ta $(TARNAME).tar.gz
@@ -123,7 +130,7 @@ configure: configure.ac acinclude.m4
 release-doc:
        git checkout release && \
        git merge master && \
-       $(MAKE) distclean doc-man doc-html && \
+       $(MAKE) distclean doc-man doc-html sysconfdir=++SYSCONFDIR++ && \
        git add -f $(MANDOC) $(HTMLDOC) && \
        git commit -m "Sync docs" && \
        git checkout master
@@ -156,6 +163,9 @@ manual.toc: manual.txt
 README.html: README asciidoc.conf
        $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b xhtml11 -d article -a readme $<
 
+NEWS.html: NEWS asciidoc.conf
+       $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b xhtml11 -d article $<
+
 %.1.html : %.1.txt asciidoc.conf
        $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b xhtml11 -d manpage $<