blob: bc2f531983a0803732d594d5334bf419609067e9 (
plain)
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
|
-include ../config.mk
include ../default.mk
## ###################################################################
.PHONY: magit-version.el check-declare install
all: lisp
## Build order #######################################################
magit-section.elc:
magit-base.elc: magit-section.elc
magit-git.elc: magit-base.elc
magit-mode.elc: magit-base.elc magit-git.elc
magit-margin.elc: magit-base.elc magit-mode.elc
magit-process.elc: magit-base.elc magit-git.elc magit-mode.elc
git-commit.elc: magit-git.elc magit-mode.elc magit-process.elc
magit-transient.elc: magit-git.elc magit-mode.elc magit-process.elc
magit-autorevert.elc: magit-git.elc magit-process.elc
magit-core.elc: magit-base.elc magit-git.elc magit-mode.elc \
magit-margin.elc magit-process.elc \
magit-transient.elc magit-autorevert.elc
magit-diff.elc: git-commit.elc magit-core.elc
magit-log.elc: magit-core.elc magit-diff.elc
magit-wip.elc: magit-core.elc magit-log.elc
magit-reflog.elc: magit-core.elc magit-log.elc
magit-apply.elc: magit-core.elc magit-diff.elc magit-wip.elc
magit-repos.elc: magit-core.elc
magit.elc: git-commit.elc magit-core.elc magit-diff.elc \
magit-log.elc magit-apply.elc magit-repos.elc
magit-status.elc: magit.elc
magit-refs.elc: magit.elc
magit-files.elc: magit.elc
magit-reset.elc: magit.elc
magit-branch.elc: magit.elc magit-reset.elc
magit-merge.elc: magit.elc magit-diff.elc
magit-tag.elc: magit.elc
magit-worktree.elc: magit.elc
magit-notes.elc: magit.elc
magit-sequence.elc: magit.elc
magit-commit.elc: magit.elc magit-sequence.elc
magit-remote.elc: magit.elc
magit-clone.elc: magit.elc
magit-fetch.elc: magit.elc
magit-pull.elc: magit.elc magit-remote.elc
magit-push.elc: magit.elc
magit-bisect.elc: magit.elc
magit-stash.elc: magit.elc magit-sequence.elc magit-reflog.elc
magit-blame.elc: magit.elc
magit-submodule.elc: magit.elc
magit-patch.elc: magit.elc
magit-subtree.elc: magit.elc
magit-ediff.elc: magit.elc
magit-gitignore.elc: magit.elc
magit-sparse-checkout.elc: magit.elc
magit-bundle.elc: magit.elc
magit-extras.elc: magit.elc magit-merge.elc
magit-dired.elc: magit.elc
git-rebase.elc: magit.elc
magit-bookmark.elc: magit.elc
## Build #############################################################
lisp: $(ELCS) loaddefs $(LISP_EXTRA_TARGETS)
loaddefs: $(PKG)-autoloads.el
versionlib: $(PKG)-version.el
%.elc: %.el
@printf "Compiling $<\n"
@$(BATCH) --eval "(progn\
(when (file-exists-p \"$@\")\
(delete-file \"$@\"))\
(setq with-editor-emacsclient-executable nil)\
$$suppress_warnings)" \
-f batch-byte-compile $<
$(PKG)-autoloads.el: $(ELS)
@printf " Creating $@\n"
@$(EMACS) -Q --batch -l autoload -l cl-lib --eval "\
(let ((file (expand-file-name \"$@\"))\
(autoload-timestamps nil) \
(backup-inhibited t)\
(version-control 'never)\
(coding-system-for-write 'utf-8-emacs-unix))\
(write-region (autoload-rubric file \"package\" nil) nil file nil 'silent)\
(cl-letf (((symbol-function 'progress-reporter-do-update) (lambda (&rest _)))\
((symbol-function 'progress-reporter-done) (lambda (_))))\
(let ((generated-autoload-file file))\
(update-directory-autoloads default-directory))))" \
2>&1 | sed "/^Package autoload is deprecated$$/d"
$(PKG)-version.el:
@printf " Creating $@\n"
@printf "%s" "$$VERSIONLIB_TMPL" > $@
check-declare:
@printf "Checking function declarations\n"
@$(BATCH) -L $(TOP)../borg -L $(TOP)../forge/lisp \
--eval "(check-declare-directory default-directory)"
## Install ###########################################################
install: lisp versionlib
@$(MKDIR) $(DESTDIR)$(lispdir)
$(CP) $(ELS) magit-autoloads.el magit-version.el $(ELCS) $(DESTDIR)$(lispdir)
## Clean #############################################################
clean:
@printf " Cleaning lisp/*...\n"
@$(RM) *.elc $(ELGS)
@$(RM) ../test/magit-tests.elc
## Templates #########################################################
define VERSIONLIB_TMPL
;;; $(PKG)-version.el --- The Magit version you are using -*- lexical-binding:t -*-
(setq $(PKG)-version "$(VERSION)")
(provide '$(PKG)-version)
;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; coding: utf-8
;; End:
;;; $(PKG)-version.el ends here
endef
export VERSIONLIB_TMPL
#'
define suppress_warnings
(remhash (indirect-function 'derived-mode-p) advertised-signature-table)
(fset 'original-message (symbol-function 'message))
(fset 'message
(lambda (f &rest a)
(unless (or (equal f "Wrote %s")
(equal f "pcase-memoize: equal first branch, yet different")
(and (equal f "Warning: Unknown defun property `%S' in %S")
(memq (car a) '(pure side-effect-free interactive-only))))
(apply 'original-message f a))))
endef
export suppress_warnings
|