Guest User

Untitled

a guest
Feb 19th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.49 KB | None | 0 0
  1. # This Makefile has two purposes:
  2. # 1. Starting the compilation of Vim for Unix.
  3. # 2. Creating the various distribution files.
  4.  
  5.  
  6. # 1. Using this Makefile without an argument will compile Vim for Unix.
  7. #
  8. # "make install" is also possible.
  9. #
  10. # NOTE: If this doesn't work properly, first change directory to "src" and use
  11. # the Makefile there:
  12. # cd src
  13. # make [arguments]
  14. # Noticed on AIX systems when using this Makefile: Trying to run "cproto" or
  15. # something else after Vim has been compiled. Don't know why...
  16. # Noticed on OS/390 Unix: Restarts configure.
  17. #
  18. # The first (default) target is "first". This will result in running
  19. # "make first", so that the target from "src/auto/config.mk" is picked
  20. # up properly when config didn't run yet. Doing "make all" before configure
  21. # has run can result in compiling with $(CC) empty.
  22.  
  23. first:
  24. @echo "Starting make in the src directory."
  25. @echo "If there are problems, cd to the src directory and run make there"
  26. cd src && $(MAKE) $@
  27.  
  28. # Some make programs use the last target for the $@ default; put the other
  29. # targets separately to always let $@ expand to "first" by default.
  30. all install uninstall tools config configure proto depend lint tags types test testclean clean distclean:
  31. @echo "Starting make in the src directory."
  32. @echo "If there are problems, cd to the src directory and run make there"
  33. cd src && $(MAKE) $@
  34.  
  35.  
  36. # 2. Create the various distributions:
  37. #
  38. # TARGET PRODUCES CONTAINS
  39. # unixall vim-#.#.tar.bz2 Runtime files and Sources for Unix
  40. #
  41. # extra vim-#.#-extra.tar.gz Extra source and runtime files
  42. # lang vim-#.#-lang.tar.gz multi-language files
  43. #
  44. # html vim##html.zip HTML docs
  45. #
  46. # amisrc vim##src.tgz sources for Amiga
  47. # amirt vim##rt.tgz runtime for Amiga
  48. # amibin vim##bin.tgz binary for Amiga
  49. #
  50. # dossrc vim##src.zip sources for MS-DOS
  51. # dosrt vim##rt.zip runtime for MS-DOS
  52. # dosbin vim##d16.zip binary for MS-DOS 16 bits
  53. # vim##d32.zip binary for MS-DOS 32 bits
  54. # vim##w32.zip binary for Win32
  55. # gvim##.zip binary for GUI Win32
  56. # gvim##ole.zip OLE exe for Win32 GUI
  57. # gvim##_s.zip exe for Win32s GUI
  58. # doslang vim##lang.zip language files for Win32
  59. #
  60. # os2bin vim##os2.zip binary for OS/2
  61. # (use RT from dosrt)
  62. #
  63. # farsi farsi##.zip Farsi fonts
  64. #
  65. # All output files are created in the "dist" directory. Existing files are
  66. # overwritten!
  67. # To do all this you need the unix, extra and lang archives, and
  68. # compiled binaries.
  69. # Before creating an archive first delete all backup files, *.orig, etc.
  70.  
  71. MAJOR = 7
  72. MINOR = 0
  73.  
  74. # Uncomment this line if the Win32s version is to be included.
  75. DOSBIN_S = dosbin_s
  76.  
  77. # CHECKLIST for creating a new version:
  78. #
  79. # - Update Vim version number. For a test version in: src/version.h, Contents,
  80. # MAJOR/MINOR above, VIMMAJOR and VIMMINOR in src/Makefile, README*.txt,
  81. # runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt. For a
  82. # minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
  83. # - Correct included_patches[] in src/version.c.
  84. # - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme, Cscope and "huge"
  85. # features. Exclude workshop and SNiFF.
  86. # - With these features: "make proto" (requires cproto and Motif installed;
  87. # ignore warnings for missing include files, fix problems for syntax errors).
  88. # - With these features: "make depend" (works best with gcc).
  89. # - "make lint" and check the output (ignore GTK warnings).
  90. # - Enable the efence library in "src/Makefile" and run "make test". May
  91. # require disabling Python to avoid trouble with threads.
  92. # - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
  93. # - Check for missing options in runtime/optwin.vim et al. (with check.vim).
  94. # - Do "make menu" to update the runtime/synmenu.vim file.
  95. # - Add remarks for changes to runtime/doc/version7.txt.
  96. # - In runtime/doc run "make" and "make html" to check for errors.
  97. # - Check if src/Makefile and src/feature.h don't contain any personal
  98. # preferences or the GTK, Perl, etc. mentioned above.
  99. # - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL
  100. # ADDITIONS".
  101. # - Check file protections to be "644" for text and "755" for executables (run
  102. # the "check" script).
  103. # - Check compiling on Amiga, MS-DOS and MS-Windows.
  104. # - Delete all *~, *.sw?, *.orig, *.rej files
  105. # - "make unixall", "make extra", "make lang", "make html"
  106. #
  107. # Amiga:
  108. # - "make amisrc", move the archive to the Amiga and compile:
  109. # "make -f Make_manx.mak" (will use "big" features by default).
  110. # - Run the tests: "make -f Make_manx.mak test"
  111. # - Place the executables Vim and Xxd in this directory (set the executable
  112. # flag).
  113. # - "make amirt", "make amibin".
  114. #
  115. # PC:
  116. # - "make dossrc" and "make dosrt". Unpack the archives on a PC.
  117. # 16 bit DOS version:
  118. # - Set environment for compiling with Borland C++ 3.1.
  119. # - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
  120. # case set environment for compiling with Borland C++ 4.0 and do
  121. # "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
  122. # - "make test" and check the output.
  123. # - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
  124. # "uninstald16.exe".
  125. # 32 bit DOS version:
  126. # - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
  127. # - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output.
  128. # - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
  129. # "uninstald32.exe".
  130. # Win32 console version:
  131. # - Set environment for Visual C++ Toolkit 2003: "msvcsetup.bat"
  132. # - "nmake -f Make_mvc.mak"
  133. # - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
  134. # - Rename the executables to "vimw32.exe", "xxdw32.exe".
  135. # - Rename ObjC/vim.pdb to vimw32.pdb.
  136. # - When building the Win32s version later, delete vimrun.exe, install.exe and
  137. # uninstal.exe. Otherwise rename executables to installw32.exe and
  138. # uninstalw32.exe.
  139. # Win32 GUI version:
  140. # - "nmake -f Make_mvc.mak GUI=yes.
  141. # - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
  142. # - Move ObjG/gvim.pdb to here.
  143. # - Delete vimrun.exe, install.exe and uninstall.exe.
  144. # - Copy "GvimExt/gvimext.dll" to here.
  145. # Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
  146. # - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
  147. # - Rename "gvim.exe" to "gvim_ole.exe".
  148. # - Rename ObjGOLYTR/gvim.pdb to "gvim_ole.pdb".
  149. # - Delete install.exe and uninstall.exe.
  150. # - If building the Win32s version delete vimrun.exe.
  151. # Win32s GUI version:
  152. # - Set environment for Visual C++ 4.1 (requires a new console window)
  153. # - "vcvars32" (use the path for VC 4.1 e:\msdev\bin)
  154. # - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
  155. # - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
  156. # - Rename "gvim.exe" to "gvim_w32s.exe".
  157. # - Rename "install.exe" to "installw32.exe"
  158. # - Rename "uninstal.exe" to "uninstalw32.exe"
  159. # - The produced uninstalw32.exe and vimrun.exe are used.
  160. # Create the archives:
  161. # - Copy all the "*.exe" files to where this Makefile is.
  162. # - Copy all the "*.pdb" files to where this Makefile is.
  163. # - "make dosbin".
  164. # - Run make on Unix to update the ".mo" files.
  165. # - "make doslang".
  166. # NSIS self installing exe:
  167. # - Unpack the doslang archive on the PC.
  168. # - Make sure gvim_ole.exe, vimd32.exe, vimw32.exe, installw32.exe,
  169. # uninstalw32.exe and xxdw32.exe have been build as mentioned above.
  170. # - put gvimext.dll in src/GvimExt and VisVim.dll in src/VisVim (get them
  171. # from a binary archive or build them)
  172. # Note: VisVim needs to be build with MSVC 5, newer versions don't work.
  173. # - make sure there is a diff.exe two levels up
  174. # - go to ../nsis and do "makensis gvim.nsi".
  175. # - Copy gvim##.exe to the dist directory.
  176. #
  177. # OS/2:
  178. # - Unpack the Unix "src", "extra" and "rt" archives.
  179. # - "make -f Make_os2.mak".
  180. # - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
  181. # them to here.
  182. # - "make os2bin".
  183.  
  184. VIMVER = vim-$(MAJOR).$(MINOR)
  185. VERSION = $(MAJOR)$(MINOR)
  186. VDOT = $(MAJOR).$(MINOR)
  187. VIMRTDIR = vim$(VERSION)
  188.  
  189. # Vim used for conversion from "unix" to "dos"
  190. VIM = vim
  191.  
  192. # How to include Filelist depends on the version of "make" you have.
  193. # If the current choice doesn't work, try the other one.
  194.  
  195. include Filelist
  196. #.include "Filelist"
  197.  
  198.  
  199. # All output is put in the "dist" directory.
  200. dist:
  201. mkdir dist
  202.  
  203. # Clean up some files to avoid they are included.
  204. prepare:
  205. if test -f runtime/doc/uganda.nsis.txt; then \
  206. rm runtime/doc/uganda.nsis.txt; fi
  207.  
  208. # For the zip files we need to create a file with the comment line
  209. dist/comment:
  210. mkdir dist/comment
  211.  
  212. COMMENT_RT = comment/$(VERSION)-rt
  213. COMMENT_RT1 = comment/$(VERSION)-rt1
  214. COMMENT_RT2 = comment/$(VERSION)-rt2
  215. COMMENT_D16 = comment/$(VERSION)-bin-d16
  216. COMMENT_D32 = comment/$(VERSION)-bin-d32
  217. COMMENT_W32 = comment/$(VERSION)-bin-w32
  218. COMMENT_GVIM = comment/$(VERSION)-bin-gvim
  219. COMMENT_OLE = comment/$(VERSION)-bin-ole
  220. COMMENT_W32S = comment/$(VERSION)-bin-w32s
  221. COMMENT_SRC = comment/$(VERSION)-src
  222. COMMENT_OS2 = comment/$(VERSION)-bin-os2
  223. COMMENT_HTML = comment/$(VERSION)-html
  224. COMMENT_FARSI = comment/$(VERSION)-farsi
  225. COMMENT_LANG = comment/$(VERSION)-lang
  226.  
  227. dist/$(COMMENT_RT): dist/comment
  228. echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
  229.  
  230. dist/$(COMMENT_RT1): dist/comment
  231. echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 1) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT1)
  232.  
  233. dist/$(COMMENT_RT2): dist/comment
  234. echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 2) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT2)
  235.  
  236. dist/$(COMMENT_D16): dist/comment
  237. echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)
  238.  
  239. dist/$(COMMENT_D32): dist/comment
  240. echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 32 bit protected mode" > dist/$(COMMENT_D32)
  241.  
  242. dist/$(COMMENT_W32): dist/comment
  243. echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)
  244.  
  245. dist/$(COMMENT_GVIM): dist/comment
  246. echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows NT/95" > dist/$(COMMENT_GVIM)
  247.  
  248. dist/$(COMMENT_OLE): dist/comment
  249. echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
  250.  
  251. dist/$(COMMENT_W32S): dist/comment
  252. echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows 3.1/3.11" > dist/$(COMMENT_W32S)
  253.  
  254. dist/$(COMMENT_SRC): dist/comment
  255. echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)
  256.  
  257. dist/$(COMMENT_OS2): dist/comment
  258. echo "Vim - Vi IMproved - v$(VDOT) binaries + runtime files for OS/2" > dist/$(COMMENT_OS2)
  259.  
  260. dist/$(COMMENT_HTML): dist/comment
  261. echo "Vim - Vi IMproved - v$(VDOT) documentation in HTML" > dist/$(COMMENT_HTML)
  262.  
  263. dist/$(COMMENT_FARSI): dist/comment
  264. echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI)
  265.  
  266. dist/$(COMMENT_LANG): dist/comment
  267. echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)
  268.  
  269. unixall: dist prepare
  270. -rm -f dist/$(VIMVER).tar.bz2
  271. -rm -rf dist/$(VIMRTDIR)
  272. mkdir dist/$(VIMRTDIR)
  273. tar cf - \
  274. $(RT_ALL) \
  275. $(RT_ALL_BIN) \
  276. $(RT_UNIX) \
  277. $(RT_UNIX_DOS_BIN) \
  278. $(RT_SCRIPTS) \
  279. $(LANG_GEN) \
  280. $(LANG_GEN_BIN) \
  281. $(SRC_ALL) \
  282. $(SRC_UNIX) \
  283. $(SRC_DOS_UNIX) \
  284. | (cd dist/$(VIMRTDIR); tar xf -)
  285. # Need to use a "distclean" config.mk file
  286. cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
  287. # Create an empty config.h file, make dependencies require it
  288. touch dist/$(VIMRTDIR)/src/auto/config.h
  289. # Make sure configure is newer than config.mk to force it to be generated
  290. touch dist/$(VIMRTDIR)/src/configure
  291. cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
  292. bzip2 dist/$(VIMVER).tar
  293.  
  294. extra: dist prepare
  295. -rm -f dist/$(VIMVER)-extra.tar.gz
  296. -rm -rf dist/$(VIMRTDIR)
  297. mkdir dist/$(VIMRTDIR)
  298. tar cf - \
  299. $(EXTRA) \
  300. | (cd dist/$(VIMRTDIR); tar xf -)
  301. cd dist && tar cf $(VIMVER)-extra.tar $(VIMRTDIR)
  302. gzip -9 dist/$(VIMVER)-extra.tar
  303.  
  304. lang: dist prepare
  305. -rm -f dist/$(VIMVER)-lang.tar.gz
  306. -rm -rf dist/$(VIMRTDIR)
  307. mkdir dist/$(VIMRTDIR)
  308. tar cf - \
  309. $(LANG_SRC) \
  310. | (cd dist/$(VIMRTDIR); tar xf -)
  311. # Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
  312. # Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
  313. touch dist/$(VIMRTDIR)/src/po/ja.sjis.po
  314. touch dist/$(VIMRTDIR)/src/po/cs.cp1250.po
  315. touch dist/$(VIMRTDIR)/src/po/pl.cp1250.po
  316. touch dist/$(VIMRTDIR)/src/po/sk.cp1250.po
  317. touch dist/$(VIMRTDIR)/src/po/zh_CN.cp936.po
  318. touch dist/$(VIMRTDIR)/src/po/ru.cp1251.po
  319. touch dist/$(VIMRTDIR)/src/po/uk.cp1251.po
  320. cd dist && tar cf $(VIMVER)-lang.tar $(VIMRTDIR)
  321. gzip -9 dist/$(VIMVER)-lang.tar
  322.  
  323. amirt: dist prepare
  324. -rm -f dist/vim$(VERSION)rt.tar.gz
  325. -rm -rf dist/Vim
  326. mkdir dist/Vim
  327. mkdir dist/Vim/$(VIMRTDIR)
  328. tar cf - \
  329. $(ROOT_AMI) \
  330. $(RT_ALL) \
  331. $(RT_ALL_BIN) \
  332. $(RT_SCRIPTS) \
  333. $(RT_AMI) \
  334. $(RT_NO_UNIX) \
  335. $(RT_AMI_DOS) \
  336. | (cd dist/Vim/$(VIMRTDIR); tar xf -)
  337. mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
  338. mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
  339. mv dist/Vim/$(VIMRTDIR)/runtime/* dist/Vim/$(VIMRTDIR)
  340. rmdir dist/Vim/$(VIMRTDIR)/runtime
  341. cd dist && tar cf vim$(VERSION)rt.tar Vim Vim.info
  342. gzip -9 dist/vim$(VERSION)rt.tar
  343. mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz
  344.  
  345. amibin: dist prepare
  346. -rm -f dist/vim$(VERSION)bin.tar.gz
  347. -rm -rf dist/Vim
  348. mkdir dist/Vim
  349. mkdir dist/Vim/$(VIMRTDIR)
  350. tar cf - \
  351. $(ROOT_AMI) \
  352. $(BIN_AMI) \
  353. Vim \
  354. Xxd \
  355. | (cd dist/Vim/$(VIMRTDIR); tar xf -)
  356. mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
  357. mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
  358. cd dist && tar cf vim$(VERSION)bin.tar Vim Vim.info
  359. gzip -9 dist/vim$(VERSION)bin.tar
  360. mv dist/vim$(VERSION)bin.tar.gz dist/vim$(VERSION)bin.tgz
  361.  
  362. amisrc: dist prepare
  363. -rm -f dist/vim$(VERSION)src.tar.gz
  364. -rm -rf dist/Vim
  365. mkdir dist/Vim
  366. mkdir dist/Vim/$(VIMRTDIR)
  367. tar cf - \
  368. $(ROOT_AMI) \
  369. $(SRC_ALL) \
  370. $(SRC_AMI) \
  371. $(SRC_AMI_DOS) \
  372. | (cd dist/Vim/$(VIMRTDIR); tar xf -)
  373. mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
  374. mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
  375. cd dist && tar cf vim$(VERSION)src.tar Vim Vim.info
  376. gzip -9 dist/vim$(VERSION)src.tar
  377. mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
  378.  
  379. no_title.vim: Makefile
  380. echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim
  381.  
  382. dosrt: dist dist/$(COMMENT_RT) dosrt_unix2dos
  383. -rm -rf dist/vim$(VERSION)rt.zip
  384. cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
  385.  
  386. # Split in two parts to avoid a "argument list too long" error.
  387. dosrt_unix2dos: dist prepare no_title.vim
  388. -rm -rf dist/vim
  389. mkdir dist/vim
  390. mkdir dist/vim/$(VIMRTDIR)
  391. tar cf - \
  392. $(RT_ALL) \
  393. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  394. tar cf - \
  395. $(RT_SCRIPTS) \
  396. $(RT_DOS) \
  397. $(RT_NO_UNIX) \
  398. $(RT_AMI_DOS) \
  399. $(LANG_GEN) \
  400. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  401. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  402. tar cf - \
  403. $(RT_UNIX_DOS_BIN) \
  404. $(RT_ALL_BIN) \
  405. $(RT_DOS_BIN) \
  406. $(LANG_GEN_BIN) \
  407. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  408. mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
  409. rmdir dist/vim/$(VIMRTDIR)/runtime
  410.  
  411.  
  412. # Convert runtime files from Unix fileformat to dos fileformat.
  413. # Used before uploading. Don't delete the AAPDIR/sign files!
  414. runtime_unix2dos: dosrt_unix2dos
  415. -rm -rf `find runtime/dos -type f -print | sed -e /AAPDIR/d`
  416. cd dist/vim/$(VIMRTDIR); tar cf - * \
  417. | (cd ../../../runtime/dos; tar xf -)
  418.  
  419. dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_d16 dosbin_ole $(DOSBIN_S)
  420.  
  421. # make Win32 gvim
  422. dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
  423. -rm -rf dist/gvim$(VERSION).zip
  424. -rm -rf dist/vim
  425. mkdir dist/vim
  426. mkdir dist/vim/$(VIMRTDIR)
  427. tar cf - \
  428. $(BIN_DOS) \
  429. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  430. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  431. cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
  432. cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  433. cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
  434. cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
  435. cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  436. cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
  437. cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
  438. cp gvim.pdb dist/gvim$(VERSION).pdb
  439.  
  440. # make Win32 console
  441. dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
  442. -rm -rf dist/vim$(VERSION)w32.zip
  443. -rm -rf dist/vim
  444. mkdir dist/vim
  445. mkdir dist/vim/$(VIMRTDIR)
  446. tar cf - \
  447. $(BIN_DOS) \
  448. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  449. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  450. cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
  451. cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  452. cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
  453. cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  454. cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
  455. cp vimw32.pdb dist/vim$(VERSION)w32.pdb
  456.  
  457. # make 32bit DOS
  458. dosbin_d32: dist no_title.vim dist/$(COMMENT_D32)
  459. -rm -rf dist/vim$(VERSION)d32.zip
  460. -rm -rf dist/vim
  461. mkdir dist/vim
  462. mkdir dist/vim/$(VIMRTDIR)
  463. tar cf - \
  464. $(BIN_DOS) \
  465. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  466. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  467. cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
  468. cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  469. cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
  470. cp uninstald32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  471. cp csdpmi4b.zip dist/vim/$(VIMRTDIR)
  472. cd dist && zip -9 -rD -z vim$(VERSION)d32.zip vim <$(COMMENT_D32)
  473.  
  474. # make 16bit DOS
  475. dosbin_d16: dist no_title.vim dist/$(COMMENT_D16)
  476. -rm -rf dist/vim$(VERSION)d16.zip
  477. -rm -rf dist/vim
  478. mkdir dist/vim
  479. mkdir dist/vim/$(VIMRTDIR)
  480. tar cf - \
  481. $(BIN_DOS) \
  482. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  483. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  484. cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
  485. cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
  486. cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
  487. cp uninstald16.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  488. cd dist && zip -9 -rD -z vim$(VERSION)d16.zip vim <$(COMMENT_D16)
  489.  
  490. # make Win32 gvim with OLE
  491. dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
  492. -rm -rf dist/gvim$(VERSION)ole.zip
  493. -rm -rf dist/vim
  494. mkdir dist/vim
  495. mkdir dist/vim/$(VIMRTDIR)
  496. tar cf - \
  497. $(BIN_DOS) \
  498. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  499. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  500. cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
  501. cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  502. cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
  503. cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
  504. cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  505. cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
  506. cp README_ole.txt dist/vim/$(VIMRTDIR)
  507. cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll
  508. cp src/VisVim/README_VisVim.txt dist/vim/$(VIMRTDIR)
  509. cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
  510. cp gvim_ole.pdb dist/gvim$(VERSION)ole.pdb
  511.  
  512. # make Win32s gvim
  513. dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
  514. -rm -rf dist/gvim$(VERSION)_s.zip
  515. -rm -rf dist/vim
  516. mkdir dist/vim
  517. mkdir dist/vim/$(VIMRTDIR)
  518. tar cf - \
  519. $(BIN_DOS) \
  520. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  521. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  522. cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
  523. cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  524. cp README_w32s.txt dist/vim/$(VIMRTDIR)
  525. cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
  526. cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  527. cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
  528.  
  529. # make Win32 lang archive
  530. doslang: dist prepare no_title.vim dist/$(COMMENT_LANG)
  531. -rm -rf dist/vim$(VERSION)lang.zip
  532. -rm -rf dist/vim
  533. mkdir dist/vim
  534. mkdir dist/vim/$(VIMRTDIR)
  535. mkdir dist/vim/$(VIMRTDIR)/lang
  536. cd src && MAKEMO=yes $(MAKE) languages
  537. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  538. # Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
  539. # Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
  540. # zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
  541. for i in $(LANG_DOS); do \
  542. if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
  543. n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
  544. mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
  545. mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
  546. cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
  547. fi \
  548. done
  549. cp libintl.dll dist/vim/$(VIMRTDIR)/
  550. cd dist && zip -9 -rD -z vim$(VERSION)lang.zip vim <$(COMMENT_LANG)
  551.  
  552. # MS-DOS sources
  553. dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
  554. -rm -rf dist/vim$(VERSION)src.zip
  555. -rm -rf dist/vim
  556. mkdir dist/vim
  557. mkdir dist/vim/$(VIMRTDIR)
  558. tar cf - \
  559. $(SRC_ALL) \
  560. $(SRC_DOS) \
  561. $(SRC_AMI_DOS) \
  562. $(SRC_DOS_UNIX) \
  563. runtime/doc/uganda.nsis.txt \
  564. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  565. mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
  566. rmdir dist/vim/$(VIMRTDIR)/runtime
  567. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  568. tar cf - \
  569. $(SRC_DOS_BIN) \
  570. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  571. cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
  572.  
  573. runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
  574. cd runtime/doc && $(MAKE) uganda.nsis.txt
  575.  
  576. os2bin: dist no_title.vim dist/$(COMMENT_OS2)
  577. -rm -rf dist/vim$(VERSION)os2.zip
  578. -rm -rf dist/vim
  579. mkdir dist/vim
  580. mkdir dist/vim/$(VIMRTDIR)
  581. tar cf - \
  582. $(BIN_OS2) \
  583. | (cd dist/vim/$(VIMRTDIR); tar xf -)
  584. find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
  585. cp vimos2.exe dist/vim/$(VIMRTDIR)/vim.exe
  586. cp xxdos2.exe dist/vim/$(VIMRTDIR)/xxd.exe
  587. cp teeos2.exe dist/vim/$(VIMRTDIR)/tee.exe
  588. cp emx.dll emxlibcs.dll dist/vim/$(VIMRTDIR)
  589. cd dist && zip -9 -rD -z vim$(VERSION)os2.zip vim <$(COMMENT_OS2)
  590.  
  591. html: dist dist/$(COMMENT_HTML)
  592. -rm -rf dist/vim$(VERSION)html.zip
  593. cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML)
  594.  
  595. farsi: dist dist/$(COMMENT_FARSI)
  596. -rm -f dist/farsi$(VERSION).zip
  597. zip -9 -rD -z dist/farsi$(VERSION).zip farsi < dist/$(COMMENT_FARSI)
Add Comment
Please, Sign In to add comment