1
- VERSION = $(shell git describe --tags --match 'v[0-9]* ' --abbrev=0 | sed 's/^v//;s/\.0* /./g')
2
- GIT_VERSION = $(shell git describe --tags --match 'v[0-9]* ' --long --dirty | sed 's/^v//')
1
+
2
+ #
3
+ # Note: Due to MELPA distributing directly from github source version
4
+ # needs to be embedded in files as is without proprocessing.
5
+ #
6
+ # Version string is present in:
7
+ # - Makefile
8
+ # - haskell-mode.el
9
+ # - haskell-mode.texi
10
+ # - haskell-mode-pkg.el (used for marmelade)
11
+ #
12
+ # We should have a script that changes it everywhere it is needed and
13
+ # syncs it with current git tag.
14
+ #
15
+ VERSION = 13.12
3
16
4
17
INSTALL_INFO = install-info
5
18
EMACS = emacs
@@ -9,7 +22,6 @@ EFLAGS = --eval "(add-to-list 'load-path (expand-file-name \"tests/compat\") 'ap
9
22
--eval '(setq byte-compile-error-on-warn t)'
10
23
11
24
BATCH = $(EMACS ) $(EFLAGS ) --batch -Q -L .
12
- SUBST_ATAT = sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION ) /g;s/@GIT_VERSION@/$(GIT_VERSION ) /g;s/@@VERSION@@/$(VERSION ) /g;s/@VERSION@/$(VERSION ) /g'
13
25
14
26
ELFILES = \
15
27
ghc-core.el \
@@ -82,14 +94,15 @@ check: $(ELCHECKS)
82
94
@echo " checks passed!"
83
95
84
96
clean :
85
- $(RM ) $(ELCFILES ) $(AUTOLOADS ) $(AUTOLOADS:.el=.elc ) $(PKG_TAR ) haskell-mode.tmp.texi haskell-mode. info dir
97
+ $(RM ) $(ELCFILES ) $(AUTOLOADS ) $(AUTOLOADS:.el=.elc ) $(PKG_TAR ) haskell-mode.info dir
86
98
87
99
info : haskell-mode.info dir
88
100
89
101
dir : haskell-mode.info
90
102
$(INSTALL_INFO ) --dir=$@ $<
91
103
92
- haskell-mode.tmp.texi : haskell-mode.texi
104
+ haskell-mode.info : haskell-mode.texi
105
+ # Check if chapter order is same as node order
93
106
@sed -n -e ' /@chapter/ s/@code{\(.*\)}/\1/' \
94
107
-e 's/@chapter \(.*\)$$/* \1 ::/p' \
95
108
-e 's/@unnumbered \(.*\)$$/* \1 ::/p' \
@@ -100,39 +113,28 @@ haskell-mode.tmp.texi: haskell-mode.texi
100
113
diff -C 1 haskell-mode-menu-order.txt haskell-mode-content-order.txt
101
114
@rm haskell-mode-menu-order.txt haskell-mode-content-order.txt
102
115
103
- $(SUBST_ATAT) < haskell-mode.texi > haskell-mode.tmp.texi
104
-
105
- haskell-mode.info : haskell-mode.tmp.texi
116
+ # Processing proper
106
117
$(MAKEINFO) $(MAKEINFO_FLAGS) -o $@ $<
107
118
108
- haskell-mode.html : haskell-mode.tmp. texi
119
+ haskell-mode.html : haskell-mode.texi
109
120
$(MAKEINFO ) $(MAKEINFO_FLAGS ) --html --no-split -o $@ $<
110
121
111
122
# Generate ELPA-compatible package
112
123
package : $(PKG_TAR )
113
124
elpa : $(PKG_TAR )
114
125
115
- $(PKG_TAR ) : $(PKG_DIST_FILES ) haskell-mode-pkg.el.in
126
+ $(PKG_TAR ) : $(PKG_DIST_FILES ) haskell-mode-pkg.el
116
127
rm -rf haskell-mode-$(VERSION )
117
128
mkdir haskell-mode-$(VERSION )
118
129
cp $(PKG_DIST_FILES ) haskell-mode-$(VERSION ) /
119
- $(SUBST_ATAT ) < haskell-mode-pkg.el.in > haskell-mode-$(VERSION ) /haskell-mode-pkg.el
120
- $(SUBST_ATAT ) < haskell-mode.el > haskell-mode-$(VERSION ) /haskell-mode.el
121
- (sed -n -e ' /^;;; Commentary/,/^;;;/p' | egrep ' ^;;( |$$)' | cut -c4-) < haskell-mode.el > haskell-mode-$(VERSION ) /README
130
+
122
131
tar cvf $@ haskell-mode-$(VERSION)
123
132
rm -rf haskell-mode-$(VERSION)
124
133
@echo
125
- @echo " Created ELPA compatible distribution package '$@ ' from $( GIT_VERSION ) "
134
+ @echo "Created ELPA compatible distribution package '$@' from $(VERSION )"
126
135
127
136
$(AUTOLOADS ) : $(ELFILES ) haskell-mode.elc
128
137
$(BATCH ) \
129
138
--eval ' (setq make-backup-files nil)' \
130
139
--eval ' (setq generated-autoload-file "$(CURDIR)/$@")' \
131
140
-f batch-update-autoloads " ."
132
-
133
- # HACK: embed version number into .elc file
134
- haskell-mode.elc : haskell-mode.el
135
- $(SUBST_ATAT ) < haskell-mode.el > haskell-mode.tmp.el
136
- @$(BATCH ) -f batch-byte-compile haskell-mode.tmp.el
137
- mv haskell-mode.tmp.elc haskell-mode.elc
138
- $(RM ) haskell-mode.tmp.el
0 commit comments