1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
|
-include config.mk
include default.mk
## ###################################################################
.PHONY: lisp docs \
install install-lisp install-docs install-info \
test test-interactive magit \
clean clean-lisp clean-docs clean-archives \
stats \
dist versionlib magit-$(VERSION).tar.gz
all: lisp docs
help:
$(info )
$(info See default.mk for variables you might want to set.)
$(info )
$(info Build)
$(info =====)
$(info )
$(info make [all] - compile elisp and documentation)
$(info make lisp - compile elisp)
$(info make redo - re-compile elisp)
$(info make docs - generate all manual formats)
$(info make redo-docs - re-generate all manual formats)
$(info make texi - generate texi manuals)
$(info make info - generate info manuals)
$(info make html - generate html manual files)
$(info make html-dir - generate html manual directories)
$(info make pdf - generate pdf manuals)
$(info make epub - generate epub manuals)
$(info )
$(info Install)
$(info =======)
$(info )
$(info make install - install elisp and documentation)
$(info make install-lisp - install elisp)
$(info make install-docs - install all documentation)
$(info make install-info - install info manuals only)
$(info )
$(info Clean)
$(info ====)
$(info )
$(info make clean - clean elisp, documentation and tarball)
$(info make clean-lisp - clean elisp)
$(info make clean-docs - clean docs)
$(info make clean-archives - clean release tarball)
$(info make clean-all - clean everything except tracked texi)
$(info make clean-stats - clean stats)
$(info )
$(info Test)
$(info ====)
$(info )
$(info make test - run tests)
$(info make test-interactive - run tests interactively)
$(info make emacs-Q - run emacs -Q plus Magit)
$(info make check-declare - check function declarations)
$(info )
$(info Release Management)
$(info ==================)
$(info )
$(info make authors - regenerate AUTHORS.md)
$(info make publish - publish snapshot manuals)
$(info make release - publish release manuals)
$(info make dist - create tarballs)
$(info make stats - regenerate statistics)
$(info make stats-upload - publish statistics)
@printf "\n"
## Build #############################################################
lisp:
@$(MAKE) -C lisp lisp
@$(MAKE) -C test lisp
redo: clean-lisp lisp
docs:
@$(MAKE) -C docs docs
redo-docs:
@$(MAKE) -C docs redo-docs
texi:
@$(MAKE) -C docs texi
info:
@$(MAKE) -C docs info
html:
@$(MAKE) -C docs html
html-dir:
@$(MAKE) -C docs html-dir
pdf:
@$(MAKE) -C docs pdf
epub:
@$(MAKE) -C docs epub
## Install ###########################################################
install: install-lisp install-docs
install-lisp: lisp
@$(MAKE) -C lisp install
install-docs: docs
@$(MAKE) -C docs install-docs
install-info: info
@$(MAKE) -C docs install-info
## Test ##############################################################
test:
@$(MAKE) -C test test
test-interactive:
@$(MAKE) -C test test-interactive
emacs-Q: clean-lisp
@$(EMACS) -Q $(LOAD_PATH) --debug-init --eval "(progn\
(setq debug-on-error t)\
(require 'magit)\
(global-set-key \"\\C-xg\" 'magit-status))"
check-declare:
@$(MAKE) -C lisp check-declare
## Clean #############################################################
clean: clean-lisp clean-docs clean-archives
clean-lisp:
@$(MAKE) -C lisp clean
clean-docs:
@$(MAKE) -C docs clean
clean-archives:
@$(RM) *.tar.gz *.tar lisp/magit-version.el
@$(RMDIR) magit-$(VERSION)
clean-all: clean clean-stats
clean-stats:
@$(MAKE) -C docs clean-stats
## Release management ################################################
authors:
@$(MAKE) -C docs authors
publish:
@$(MAKE) -C docs publish
release:
@$(MAKE) -C docs release
dist: clean-docs clean-archives versionlib info magit-$(VERSION).tar.gz
@$(RMDIR) magit-$(VERSION)
@$(RM) magit-version.el
versionlib:
@$(MAKE) -C lisp versionlib
DIST_ROOT_FILES = LICENSE default.mk Makefile README.md CHANGELOG
DIST_LISP_FILES = $(addprefix lisp/,$(ELS) magit-version.el Makefile)
DIST_DOCS_FILES = $(addprefix docs/,$(TEXIPAGES) AUTHORS.md Makefile)
magit-$(VERSION).tar.gz:
@printf "Packing $@\n"
@$(MKDIR) magit-$(VERSION)
@$(CP) $(DIST_ROOT_FILES) magit-$(VERSION)
@$(MKDIR) magit-$(VERSION)/lisp
@$(CP) $(DIST_LISP_FILES) magit-$(VERSION)/lisp
@$(MKDIR) magit-$(VERSION)/docs
@$(CP) $(DIST_DOCS_FILES) magit-$(VERSION)/docs
@$(TAR) cz --mtime=./magit-$(VERSION) -f magit-$(VERSION).tar.gz magit-$(VERSION)
## Statistics ########################################################
stats:
@$(MAKE) -C docs stats
stats-upload:
@$(MAKE) -C docs stats-upload
|