PageRenderTime 55ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 1ms

/override/tramp/Makefile.in

https://github.com/jwiegley/dot-emacs
Autoconf | 223 lines | 140 code | 39 blank | 44 comment | 9 complexity | 0efb369490f488084ac7c9cddd76a72c MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-3.0, GPL-2.0
  1. # -*- coding: utf-8; -*-
  2. # Emacs Makefile for TRAMP
  3. # @configure_input@
  4. # Copyright (C) 1998-2015 Free Software Foundation, Inc.
  5. # Author: Kai Großjohann <kai.grossjohann@gmx.net>
  6. # Michael Albinus <michael.albinus@gmx.de>
  7. # Keywords: comm, processes
  8. # This file is free software: you can redistribute it and/or modify it
  9. # under the terms of the GNU General Public License as published by
  10. # the Free Software Foundation, either version 3 of the License, or
  11. # (at your option) any later version.
  12. # This file is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. # You should have received a copy of the GNU General Public License
  17. # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
  18. # This Makefile requires GNU make and GNU tar.
  19. # N.B. Configuration of utilities for XEmacs packages is done in
  20. # ../../Local.rules. These have no effect on XEmacs's package build
  21. # process (and thus live inside the conditional).
  22. @SET_MAKE@
  23. EMACS = @EMACS@
  24. EMACS_INFO = @EMACS_INFO@
  25. RM = -rm -f
  26. AUTOCONF = autoconf
  27. DESTDIR =
  28. DIRS = lisp texi
  29. CONFIG_FILES = @TRAMP_CONFIG_FILES@
  30. CLEAN_FILES = @TRAMP_CLEAN_FILES@
  31. # To be used by maintainer only.
  32. VERSION = $(subst .,-,@PACKAGE_VERSION@)
  33. TARNAME = @PACKAGE_TARNAME@-@PACKAGE_VERSION@
  34. EMACS_TARGET = ../emacs
  35. XEMACS_TARGET = ../xemacs/packages/xemacs-packages/tramp
  36. # Can't use wildcard tramp-*.el since that would catch tramp-efs.el,
  37. # too, which isn't included in Emacs.
  38. # lisp/trampver.el is not listed here since it is a generated file,
  39. # but the files listed here are subjected to "git diff". We just copy
  40. # lisp/trampver.el.
  41. EMACS_EL_FILES = lisp/tramp.el lisp/tramp-adb.el lisp/tramp-cache.el \
  42. lisp/tramp-cmds.el lisp/tramp-compat.el \
  43. lisp/tramp-ftp.el lisp/tramp-gvfs.el lisp/tramp-gw.el \
  44. lisp/tramp-smb.el lisp/tramp-uu.el
  45. # texi/trampver.texi is not listed here since it is a generated file,
  46. # but the files listed here are subjected to "git diff". We just copy
  47. # texi/trampver.texi.
  48. EMACS_TEXI_FILES = texi/tramp.texi
  49. # XEmacs Tramp package has the same filesystem structure as Tramp
  50. # itself. Furthermore, it doesn't take *.el and *.texi only. So one
  51. # target is sufficient. ChangeLog is copied to ChangeLog.upstream,
  52. # lisp/trampver.el and texi/trampver.texi are copied, too.
  53. XEMACS_FILES = lisp/ChangeLog lisp/tramp-adb.el lisp/tramp-cache.el \
  54. lisp/tramp-cmds.el lisp/tramp-compat.el \
  55. lisp/tramp-efs.el lisp/tramp-smb.el lisp/tramp-uu.el \
  56. lisp/tramp.el texi/ChangeLog texi/tramp.texi \
  57. texi/doclicense.texi
  58. TRAMP_EMACS_MERGE_VERSION = @TRAMP_EMACS_MERGE_VERSION@
  59. TRAMP_EMACS_MERGE_TAG = $(subst .,-,V-@TRAMP_EMACS_MERGE_VERSION@)
  60. # ftp upload program to be used.
  61. ifeq (@FTP_UPLOAD@, yes)
  62. # Michaels flavor.
  63. FTP_UPLOAD = ftp-upload --host ftp-upload.gnu.org \
  64. --dir /incoming/ftp
  65. else
  66. # Kais flavor.
  67. FTP_UPLOAD = ftp -u ftp://ftp-upload.gnu.org/incoming/ftp
  68. endif
  69. # Decrease noise.
  70. .SILENT: all lisp info install clean
  71. .PHONY: all install lisp info check clean distclean \
  72. tags test maintainer-clean gittag MANIFEST tar \
  73. emacs xemacs savannah
  74. all install: $(CONFIG_FILES)
  75. for a in ${DIRS}; do \
  76. $(MAKE) -C $$a \
  77. "EMACS=$(EMACS)" "EMACS_INFO=$(EMACS_INFO)" \
  78. "DESTDIR=$(DESTDIR)" $(MAKECMDGOALS); \
  79. done
  80. lisp: $(CONFIG_FILES)
  81. $(MAKE) -C lisp \
  82. "EMACS=$(EMACS)" "EMACS_INFO=$(EMACS_INFO)" \
  83. "DESTDIR=$(DESTDIR)" all
  84. info: $(CONFIG_FILES)
  85. $(MAKE) -C texi \
  86. "EMACS=$(EMACS)" "EMACS_INFO=$(EMACS_INFO)" \
  87. "DESTDIR=$(DESTDIR)" all
  88. check test: $(CONFIG_FILES) lisp
  89. $(MAKE) -C test \
  90. "EMACS=$(EMACS)" "EMACS_INFO=$(EMACS_INFO)" \
  91. "DESTDIR=$(DESTDIR)" all
  92. clean:
  93. $(RM) $(CLEAN_FILES)
  94. for a in ${DIRS} contrib test; do \
  95. $(MAKE) -C $$a clean; \
  96. done
  97. distclean: clean
  98. for a in ${DIRS} contrib test; do \
  99. $(MAKE) -C $$a distclean; \
  100. done
  101. $(RM) $(CONFIG_FILES) MANIFEST *.tar.gz*
  102. $(RM) -r autom4te.cache info
  103. tags:
  104. etags lisp/*.el test/*.el texi/*.texi
  105. # Maintainer targets.
  106. maintainer-clean: distclean
  107. $(RM) configure config.status
  108. gittag:
  109. git tag -f V-$(VERSION)
  110. git push --tags
  111. # Depends on configure in order to run autoconf. All files
  112. # which shall be produced on customer host should be removed.
  113. MANIFEST: configure distclean
  114. find . \( -name .git -prune \) \
  115. -o \( -name info -prune \) \
  116. -o \( -name obsolete -prune \) \
  117. -o \( -name tmp -prune \) \
  118. -o \( -type f \! -name .gitignore \) \
  119. -print > MANIFEST
  120. ./config.status
  121. tar: MANIFEST
  122. rm -rf $(TARNAME)
  123. mkdir $(TARNAME)
  124. tar cpfT - MANIFEST | ( cd $(TARNAME) ; tar xpf - )
  125. chmod -R a+r $(TARNAME)
  126. tar cvpfz $(TARNAME).tar.gz $(TARNAME)
  127. $(RM) -r $(TARNAME)
  128. gpg --detach-sign $(TARNAME).tar.gz
  129. echo "version: 1.1\ndirectory: tramp\nfilename: $(TARNAME).tar.gz" \
  130. >$(TARNAME).tar.gz.directive
  131. gpg --clearsign $(TARNAME).tar.gz.directive
  132. $(RM) $(TARNAME).tar.gz.directive
  133. chmod a+r $(TARNAME).tar.gz*
  134. emacs:
  135. ./configure --with-contrib --with-packaging --with-emacs; \
  136. git -f diff -u -r$(TRAMP_EMACS_MERGE_TAG) -rV-$(VERSION) \
  137. $(EMACS_EL_FILES) > tramp-emacs-merge.diff || true; \
  138. ( cd $(EMACS_TARGET)/lisp/net; patch -p1 ) < tramp-emacs-merge.diff; \
  139. cp lisp/trampver.el $(EMACS_TARGET)/lisp/net; \
  140. git -f diff -u -r$(TRAMP_EMACS_MERGE_TAG) -rV-$(VERSION) \
  141. $(EMACS_TEXI_FILES) > tramp-emacs-merge2.diff || true; \
  142. ( cd $(EMACS_TARGET)/man; patch -p1 ) < tramp-emacs-merge2.diff; \
  143. cp texi/trampver.texi $(EMACS_TARGET)/man; \
  144. ls $(EMACS_TARGET)/lisp/net/*.rej >/dev/null 2>/dev/null && \
  145. echo "WARNING! Patch in lisp/net didn't apply cleanly."; \
  146. ls $(EMACS_TARGET)/man/*.rej >/dev/null 2>/dev/null && \
  147. echo "WARNING! Patch in man didn't apply cleanly."; \
  148. echo "Don't forget to update the ChangeLog for Emacs."; \
  149. echo "Also remember to update Emacs merge revision in configure.ac."
  150. xemacs:
  151. ./configure --with-contrib --with-packaging --with-xemacs; \
  152. git -f diff -u -r$(TRAMP_EMACS_MERGE_TAG) -rV-$(VERSION) \
  153. $(XEMACS_FILES) > tramp-xemacs-merge.diff || true; \
  154. patch -p0 -d $(XEMACS_TARGET) < tramp-xemacs-merge.diff; \
  155. find $(XEMACS_TARGET) -name "*.rej" >/dev/null 2>/dev/null && \
  156. echo "WARNING! Patch didn't apply cleanly."; \
  157. cp lisp/trampver.el $(XEMACS_TARGET)/lisp; \
  158. cp texi/trampver.texi $(XEMACS_TARGET)/texi; \
  159. cp ChangeLog $(XEMACS_TARGET)/ChangeLog.upstream; \
  160. echo "Don't forget to update AUTHOR_VERSION in Makefile."; \
  161. echo "Don't forget to update the ChangeLog for XEmacs."; \
  162. echo "Announce patch in xemacs-patches mailing list."; \
  163. echo "Also remember to update Emacs merge revision in configure.ac."
  164. savannah: tar gittag
  165. $(FTP_UPLOAD) $(TARNAME).tar.gz*
  166. ./configure
  167. $(MAKE) -C texi savannah
  168. # Targets updating files generated by autoconf and configure.
  169. $(CONFIG_FILES): $(CONFIG_FILES:=.in) config.status
  170. ./config.status
  171. config.status: configure
  172. ./config.status --recheck
  173. configure: aclocal.m4 configure.ac
  174. $(AUTOCONF)
  175. # Experimental stuff.
  176. # Make "Version foo released." ChangeLog entries.
  177. cl-release:
  178. for cl in ChangeLog */ChangeLog; do \
  179. emacs -nw $$cl --eval \
  180. "(progn (add-change-log-entry nil nil nil t) \
  181. (backward-delete-char 2) \
  182. (insert \"Version @PACKAGE_VERSION@ released.\") \
  183. (save-buffer) (kill-emacs))" ; \
  184. done