home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / Makefile < prev    next >
Encoding:
Makefile  |  2003-06-01  |  35.2 KB  |  1,247 lines

  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. #    unixrt    vim-#.#-rt[12].tar.gz    Runtime files for Unix
  41. #    unixsrc    vim-#.#-src[12].tar.gz    Sources for Unix
  42. #
  43. # extra        vim-#.#-extra.tar.gz    Extra source and runtime files
  44. # lang        vim-#.#-lang.tar.gz    multi-language files
  45. #
  46. # html        vim##html.zip        HTML docs
  47. #
  48. # amisrc    vim##src.tgz        sources for Amiga
  49. # amirt        vim##rt.tgz        runtime for Amiga
  50. # amibin    vim##bin.tgz        binary for Amiga
  51. #
  52. # dossrc    vim##src.zip        sources for MS-DOS
  53. # dosrt        vim##rt.zip        runtime for MS-DOS
  54. # dosbin    vim##d16.zip        binary for MS-DOS 16 bits
  55. #        vim##d32.zip        binary for MS-DOS 32 bits
  56. #        vim##w32.zip        binary for Win32
  57. #        gvim##.zip        binary for GUI Win32
  58. #        gvim##ole.zip        OLE exe for Win32 GUI
  59. #        gvim##_s.zip        exe for Win32s GUI
  60. # doslang    vim##lang.zip        language files for Win32
  61. #
  62. # os2bin    vim##os2.zip        binary for OS/2
  63. #                    (use RT from dosrt)
  64. #
  65. # farsi        farsi##.zip        Farsi fonts
  66. #
  67. #    All output files are created in the "dist" directory.  Existing files are
  68. #    overwritten!
  69. #    To do all this you need the unixrt, unixsrc, extra and lang archives, and
  70. #    compiled binaries.
  71. #    Before creating an archive first delete all backup files, *.orig, etc.
  72.  
  73. MAJOR = 6
  74. MINOR = 2
  75.  
  76. # Uncomment this line if the Win32s version is to be included.
  77. #DOSBIN_S =  dosbin_s
  78.  
  79. # CHECKLIST for creating a new version:
  80. #
  81. # - Update Vim version number.  For a test version in: src/version.h, Contents,
  82. #   MAJOR/MINOR above, VIMRTDIR in src/Makefile, README*.txt, runtime/doc/*.txt
  83. #   and nsis/gvim.nsi.  For a minor/major version: src/GvimExt/GvimExt.reg,
  84. #   src/vim16.def.
  85. # - Correct included_patches[] in src/version.c.
  86. # - Compile Vim with GTK, Perl, Python, TCL, Ruby, Cscope and "huge" features.
  87. # - With these features: "make proto" (requires cproto; ignore warnings for
  88. #   missing include files, fix problems for syntax errors).
  89. # - With these features: "make depend" (works best with gcc).
  90. # - "make lint" and check the output (ignore GTK warnings).
  91. # - Enable the efence library in "src/Makefile" and run "make test".
  92. # - Do "make menu" to update the runtime/synmenu.vim file.
  93. # - Add remarks for changes to runtime/doc/version6.txt.
  94. # - In runtime/doc run "make" and "make html" to check for errors.
  95. # - Check if src/Makefile and src/feature.h don't contain any personal
  96. #   preferences or the GTK, Perl, etc. mentioned above.
  97. # - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL
  98. #   ADDITIONS".
  99. # - Check file protections to be "644" for text and "755" for executables.
  100. # - Check compiling on Amiga, MS-DOS and MS-Windows.
  101. # - Delete all *~, *.sw?, *.orig, *.rej files
  102. # - "make unixall", "make extra", "make lang", "make html"
  103. #
  104. # Amiga:
  105. # - "make amisrc", move the archive to the Amiga and compile (will use "big"
  106. #   features by default).  Place the executables Vim and Xxd in this directory
  107. #   (set the executable flag).
  108. # - "make amirt", "make amibin".
  109. #
  110. # PC:
  111. # - "make dossrc" and "make dosrt".  Unpack the archives on a PC.
  112. # 16 bit DOS version:
  113. # - Set environment for compiling with Borland C++ 3.1.
  114. # - "make -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
  115. #   case set environment for compiling with Borland C++ 4.0 and do
  116. #   "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
  117. # - "make test" and check the output.
  118. # - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
  119. #   "uninstald16.exe".
  120. # 32 bit DOS version:
  121. # - Set environment for compiling with DJGPP; "make -f Make_djg.mak".
  122. # - "rm testdir/*.out", "make -f Make_djg.mak test" and check the output.
  123. # - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
  124. #   "uninstald32.exe".
  125. # Win32 console version:
  126. # - Set environment for Visual C++ 5.0: "vcvars32"
  127. # - "nmake -f Make_mvc.mak"
  128. # - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
  129. # - Rename the executables to "vimw32.exe", "xxdw32.exe".
  130. # - When building the Win32s version later, delete vimrun.exe, install.exe and
  131. #   uninstal.exe.  Otherwise rename executables to installw32.exe and
  132. #   uninstalw32.exe.
  133. # Win32 GUI version:
  134. # - "nmake -f Make_mvc.mak GUI=yes.
  135. # - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
  136. # - Delete vimrun.exe, install.exe and uninstall.exe.
  137. # - Copy "GvimExt/gvimext.dll" to here.
  138. # Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
  139. # - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
  140. # - Rename "gvim.exe" to "gvim_ole.exe".
  141. # - Delete install.exe and uninstall.exe.
  142. # - If building the Win32s version delete vimrun.exe.
  143. # Win32s GUI version:
  144. # - Set environment for Visual C++ 4.1 (requires a new console window)
  145. # - "vcvars32" (use the path for VC 4.1)
  146. # - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
  147. # - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
  148. # - Rename "gvim.exe" to "gvim_w32s.exe".
  149. # - Rename "install.exe" to "installw32.exe"
  150. # - Rename "uninstal.exe" to "uninstalw32.exe"
  151. # - The produced uninstalw32.exe and vimrun.exe are used.
  152. # Create the archives:
  153. # - Copy all the "*.exe" files to where this Makefile is.
  154. # - "make dosbin".
  155. # - Run make on Unix to update the ".mo" files.
  156. # - "make doslang".
  157. # NSIS self installing exe:
  158. # - Unpack the doslang archive on the PC.
  159. # - rename gvim_ole.exe to gvim.exe
  160. # - rename installw32.exe to install.exe
  161. # - rename uninstalw32.exe to uninstal.exe
  162. # - rename xxdw32.exe to xxd/xxd.exe
  163. # - put gvimext.dll in src/GvimExt and VisVim.dll in src/VisVim (get them
  164. #   from a binary archive or build them)
  165. # - make sure there is a diff.exe two levels up
  166. # - go to ../nsis and do "makensis gvim.nsi".
  167. # - Copy gvim##.exe to the dist directory.
  168. #
  169. # OS/2:
  170. # - Unpack the Unix "src", "extra" and "rt" archives.
  171. # - "make -f Make_os2.mak".
  172. # - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
  173. #   them to here.
  174. # - "make os2bin".
  175.  
  176. VIMVER    = vim-$(MAJOR).$(MINOR)
  177. VERSION = $(MAJOR)$(MINOR)
  178. VDOT    = $(MAJOR).$(MINOR)
  179. VIMRTDIR = vim$(VERSION)
  180.  
  181. # Vim used for conversion from "unix" to "dos"
  182. VIM    = vim
  183.  
  184. # source files for all source archives
  185. SRC_ALL =    \
  186.         main.aap \
  187.         src/README.txt \
  188.         src/ascii.h \
  189.         src/buffer.c \
  190.         src/charset.c \
  191.         src/digraph.c \
  192.         src/edit.c \
  193.         src/eval.c \
  194.         src/ex_cmds.c \
  195.         src/ex_cmds.h \
  196.         src/ex_cmds2.c \
  197.         src/ex_docmd.c \
  198.         src/ex_eval.c \
  199.         src/ex_getln.c \
  200.         src/feature.h \
  201.         src/fileio.c \
  202.         src/getchar.c \
  203.         src/globals.h \
  204.         src/keymap.h \
  205.         src/macros.h \
  206.         src/main.aap \
  207.         src/main.c \
  208.         src/mark.c \
  209.         src/memfile.c \
  210.         src/memline.c \
  211.         src/menu.c \
  212.         src/message.c \
  213.         src/misc1.c \
  214.         src/misc2.c \
  215.         src/move.c \
  216.         src/mysign \
  217.         src/nbdebug.c \
  218.         src/nbdebug.h \
  219.         src/netbeans.c \
  220.         src/normal.c \
  221.         src/ops.c \
  222.         src/option.c \
  223.         src/option.h \
  224.         src/proto.h \
  225.         src/proto/buffer.pro \
  226.         src/proto/charset.pro \
  227.         src/proto/diff.pro \
  228.         src/proto/digraph.pro \
  229.         src/proto/edit.pro \
  230.         src/proto/eval.pro \
  231.         src/proto/ex_cmds.pro \
  232.         src/proto/ex_cmds2.pro \
  233.         src/proto/ex_docmd.pro \
  234.         src/proto/ex_eval.pro \
  235.         src/proto/ex_getln.pro \
  236.         src/proto/fileio.pro \
  237.         src/proto/fold.pro \
  238.         src/proto/getchar.pro \
  239.         src/proto/gui.pro \
  240.         src/proto/main.pro \
  241.         src/proto/mark.pro \
  242.         src/proto/memfile.pro \
  243.         src/proto/memline.pro \
  244.         src/proto/menu.pro \
  245.         src/proto/message.pro \
  246.         src/proto/misc1.pro \
  247.         src/proto/misc2.pro \
  248.         src/proto/move.pro \
  249.         src/proto/mbyte.pro \
  250.         src/proto/netbeans.pro \
  251.         src/proto/normal.pro \
  252.         src/proto/ops.pro \
  253.         src/proto/option.pro \
  254.         src/proto/quickfix.pro \
  255.         src/proto/regexp.pro \
  256.         src/proto/screen.pro \
  257.         src/proto/search.pro \
  258.         src/proto/syntax.pro \
  259.         src/proto/tag.pro \
  260.         src/proto/term.pro \
  261.         src/proto/termlib.pro \
  262.         src/proto/ui.pro \
  263.         src/proto/undo.pro \
  264.         src/proto/version.pro \
  265.         src/proto/window.pro \
  266.         src/quickfix.c \
  267.         src/regexp.c \
  268.         src/regexp.h \
  269.         src/screen.c \
  270.         src/search.c \
  271.         src/structs.h \
  272.         src/syntax.c \
  273.         src/tag.c \
  274.         src/term.c \
  275.         src/term.h \
  276.         src/termlib.c \
  277.         src/testdir/*.in \
  278.         src/testdir/main.aap \
  279.         src/testdir/*.ok \
  280.         src/testdir/test49.vim \
  281.         src/ui.c \
  282.         src/undo.c \
  283.         src/version.c \
  284.         src/version.h \
  285.         src/vim.h \
  286.         src/window.c \
  287.         src/xxd/xxd.c \
  288.  
  289. # more source files
  290. SRC_MORE =    \
  291.         src/diff.c \
  292.         src/arabic.c \
  293.         src/arabic.h \
  294.         src/farsi.c \
  295.         src/farsi.h \
  296.         src/fold.c \
  297.         src/gui.c \
  298.         src/gui.h \
  299.         src/mbyte.c \
  300.  
  301. # source files for Unix only
  302. SRC_UNIX =    \
  303.         Makefile \
  304.         README_src.txt \
  305.         configure \
  306.         pixmaps/*.xpm \
  307.         pixmaps/gen-inline-pixbufs.sh \
  308.         pixmaps/stock_icons.h \
  309.         src/INSTALL \
  310.         src/Makefile \
  311.         src/auto/configure \
  312.         src/config.aap.in \
  313.         src/config.h.in \
  314.         src/config.mk.dist \
  315.         src/config.mk.in \
  316.         src/configure \
  317.         src/configure.in \
  318.         src/gui_at_fs.c \
  319.         src/gui_at_sb.c \
  320.         src/gui_at_sb.h \
  321.         src/gui_athena.c \
  322.         src/gui_beval.c \
  323.         src/gui_beval.h \
  324.         src/gui_gtk.c \
  325.         src/gui_gtk_f.c \
  326.         src/gui_gtk_f.h \
  327.         src/gui_gtk_x11.c \
  328.         src/gui_motif.c \
  329.         src/gui_x11.c \
  330.         src/hangulin.c \
  331.         src/if_xcmdsrv.c \
  332.         src/integration.c \
  333.         src/integration.h \
  334.         src/link.sh \
  335.         src/mkinstalldirs \
  336.         src/os_unix.c \
  337.         src/os_unix.h \
  338.         src/os_unixx.h \
  339.         src/osdef.sh \
  340.         src/osdef1.h.in \
  341.         src/osdef2.h.in \
  342.         src/pathdef.sh \
  343.         src/proto/gui_athena.pro \
  344.         src/proto/gui_beval.pro \
  345.         src/proto/gui_gtk.pro \
  346.         src/proto/gui_gtk_x11.pro \
  347.         src/proto/gui_motif.pro \
  348.         src/proto/gui_x11.pro \
  349.         src/proto/hangulin.pro \
  350.         src/proto/if_xcmdsrv.pro \
  351.         src/proto/os_unix.pro \
  352.         src/proto/pty.pro \
  353.         src/proto/workshop.pro \
  354.         src/pty.c \
  355.         src/testdir/Makefile \
  356.         src/testdir/unix.vim \
  357.         src/toolcheck \
  358.         src/vim_icon.xbm \
  359.         src/vim_mask.xbm \
  360.         src/vimtutor \
  361.         src/which.sh \
  362.         src/workshop.c \
  363.         src/workshop.h \
  364.         src/wsdebug.c \
  365.         src/wsdebug.h \
  366.         src/xxd/Makefile \
  367.  
  368. # source files for both DOS and Unix
  369. SRC_DOS_UNIX =    \
  370.         src/if_cscope.c \
  371.         src/if_cscope.h \
  372.         src/if_perl.xs \
  373.         src/if_perlsfio.c \
  374.         src/if_python.c \
  375.         src/if_ruby.c \
  376.         src/if_tcl.c \
  377.         src/proto/if_cscope.pro \
  378.         src/proto/if_perl.pro \
  379.         src/proto/if_perlsfio.pro \
  380.         src/proto/if_python.pro \
  381.         src/proto/if_ruby.pro \
  382.         src/proto/if_tcl.pro \
  383.         src/typemap \
  384.  
  385. # source files for DOS (also in the extra archive)
  386. SRC_DOS =    \
  387.         src/GvimExt \
  388.         README_srcdos.txt \
  389.         src/INSTALLpc.txt \
  390.         src/Make_bc3.mak \
  391.         src/Make_bc5.mak \
  392.         src/Make_cyg.mak \
  393.         src/Make_djg.mak \
  394.         src/Make_ivc.mak \
  395.         src/Make_dvc.mak \
  396.         src/Make_ming.mak \
  397.         src/Make_mvc.mak \
  398.         src/Make_w16.mak \
  399.         src/bigvim.bat \
  400.         src/dimm.idl \
  401.         src/dlldata.c \
  402.         src/dosinst.c \
  403.         src/dosinst.h \
  404.         src/glbl_ime.cpp \
  405.         src/glbl_ime.h \
  406.         src/gui_w16.c \
  407.         src/gui_w32.c \
  408.         src/gui_w48.c \
  409.         src/guiw16rc.h \
  410.         src/gui_w32_rc.h \
  411.         src/if_ole.cpp \
  412.         src/if_ole.h \
  413.         src/if_ole.idl \
  414.         src/iid_ole.c \
  415.         src/os_dos.h \
  416.         src/os_msdos.c \
  417.         src/os_msdos.h \
  418.         src/os_w32dll.c \
  419.         src/os_w32exe.c \
  420.         src/os_win16.c \
  421.         src/os_win32.c \
  422.         src/os_mswin.c \
  423.         src/os_win16.h \
  424.         src/os_win32.h \
  425.         src/proto/gui_w16.pro \
  426.         src/proto/gui_w32.pro \
  427.         src/proto/if_ole.pro \
  428.         src/proto/os_msdos.pro \
  429.         src/proto/os_win16.pro \
  430.         src/proto/os_win32.pro \
  431.         src/proto/os_mswin.pro \
  432.         src/testdir/Make_dos.mak \
  433.         src/testdir/dos.vim \
  434.         src/uninstal.c \
  435.         src/vim.def \
  436.         src/vim.rc \
  437.         src/vim16.def \
  438.         src/vim16.rc \
  439.         src/vimrun.c \
  440.         src/vimtbar.h \
  441.         src/xxd/Make_bc3.mak \
  442.         src/xxd/Make_bc5.mak \
  443.         src/xxd/Make_cyg.mak \
  444.         src/xxd/Make_djg.mak \
  445.         src/xxd/Make_mvc.mak \
  446.         nsis/gvim.nsi \
  447.         nsis/README.txt \
  448.         uninstal.txt \
  449.         src/VisVim/Commands.cpp \
  450.         src/VisVim/Commands.h \
  451.         src/VisVim/DSAddIn.cpp \
  452.         src/VisVim/DSAddIn.h \
  453.         src/VisVim/OleAut.cpp \
  454.         src/VisVim/OleAut.h \
  455.         src/VisVim/README_VisVim.txt \
  456.         src/VisVim/Reg.cpp \
  457.         src/VisVim/Register.bat \
  458.         src/VisVim/Resource.h \
  459.         src/VisVim/StdAfx.cpp \
  460.         src/VisVim/StdAfx.h \
  461.         src/VisVim/UnRegist.bat \
  462.         src/VisVim/VisVim.cpp \
  463.         src/VisVim/VisVim.def \
  464.         src/VisVim/VisVim.mak \
  465.         src/VisVim/VisVim.h \
  466.         src/VisVim/VisVim.odl \
  467.         src/VisVim/VisVim.rc \
  468.         src/VisVim/VsReadMe.txt \
  469.  
  470. # source files for DOS without CR/LF translation (also in the extra archive)
  471. SRC_DOS_BIN =    \
  472.         src/VisVim/Res \
  473.         src/tearoff.bmp \
  474.         src/tools.bmp \
  475.         src/tools16.bmp \
  476.         src/vim*.ico \
  477.         src/vim.tlb \
  478.         src/vimtbar.lib \
  479.         src/vimtbar.dll \
  480.         nsis/icons \
  481.  
  482. # source files for Amiga, DOS, etc. (also in the extra archive)
  483. SRC_AMI_DOS =    \
  484.  
  485. # source files for Amiga (also in the extra archive)
  486. SRC_AMI =    \
  487.         README_amisrc.txt \
  488.         README_amisrc.txt.info \
  489.         src.info \
  490.         src/INSTALLami.txt \
  491.         src/Make_agui.mak \
  492.         src/Make_dice.mak \
  493.         src/Make_manx.mak \
  494.         src/Make_sas.mak \
  495.         src/gui_amiga.c \
  496.         src/gui_amiga.h \
  497.         src/os_amiga.c \
  498.         src/os_amiga.h \
  499.         src/proto/gui_amiga.pro \
  500.         src/proto/os_amiga.pro \
  501.         src/testdir/Make_amiga.mak \
  502.         src/testdir/amiga.vim \
  503.         src/xxd/Make_amiga.mak \
  504.  
  505. # source files for the Mac (also in the extra archive)
  506. SRC_MAC =    \
  507.         src/INSTALLmac.txt \
  508.         src/Make_mpw.mak \
  509.         src/gui_mac.c \
  510.         src/gui_mac.icns \
  511.         src/gui_mac.r \
  512.         src/os_mac* \
  513.         src/proto/gui_mac.pro \
  514.         src/proto/os_mac.pro \
  515.  
  516. # source files for VMS (in the extra archive)
  517. SRC_VMS =    \
  518.         src/INSTALLvms.txt \
  519.         src/Make_vms.mms \
  520.         src/gui_gtk_vms.h \
  521.         src/os_vms.c \
  522.         src/os_vms_conf.h \
  523.         src/os_vms_mms.c \
  524.         src/proto/os_vms.pro \
  525.         src/testdir/Make_vms.mms \
  526.         src/testdir/vms.vim \
  527.         src/xxd/Make_vms.mms \
  528.         vimtutor.com \
  529.  
  530. # source files for OS/2 (in the extra archive)
  531. SRC_OS2 =    \
  532.         src/Make_os2.mak \
  533.         src/os_os2_cfg.h \
  534.         src/testdir/Make_os2.mak \
  535.         src/testdir/todos.vim \
  536.         src/testdir/os2.vim \
  537.         src/xxd/Make_os2.mak \
  538.  
  539. # source files for QNX (in the extra archive)
  540. SRC_QNX =    \
  541.         src/os_qnx.c \
  542.         src/os_qnx.h \
  543.         src/gui_photon.c \
  544.         src/proto/gui_photon.pro \
  545.         src/proto/os_qnx.pro \
  546.  
  547.  
  548. # source files for the extra archive (all sources that are not for Unix)
  549. SRC_EXTRA =    \
  550.         $(SRC_AMI) \
  551.         $(SRC_AMI_DOS) \
  552.         $(SRC_DOS) \
  553.         $(SRC_DOS_BIN) \
  554.         $(SRC_MAC) \
  555.         $(SRC_OS2) \
  556.         $(SRC_QNX) \
  557.         $(SRC_VMS) \
  558.         README_os390.txt \
  559.         src/Make_mint.mak \
  560.         src/Make_ro.mak \
  561.         src/gui_beos.cc \
  562.         src/gui_beos.h \
  563.         src/gui_riscos.c \
  564.         src/gui_riscos.h \
  565.         src/if_sniff.c \
  566.         src/if_sniff.h \
  567.         src/link.390 \
  568.         src/os_beos.c \
  569.         src/os_beos.h \
  570.         src/os_beos.rsrc \
  571.         src/os_mint.h \
  572.         src/os_riscos.c \
  573.         src/os_riscos.h \
  574.         src/proto/gui_beos.pro \
  575.         src/proto/gui_riscos.pro \
  576.         src/proto/os_beos.pro \
  577.         src/proto/os_riscos.pro \
  578.         src/os_vms_fix.com \
  579.         src/toolbar.phi \
  580.  
  581. # runtime files for all distributions
  582. RT_ALL =    \
  583.         README.txt \
  584.         runtime/bugreport.vim \
  585.         runtime/doc/*.awk \
  586.         runtime/doc/*.pl \
  587.         runtime/doc/*.txt \
  588.         runtime/doc/Makefile \
  589.         runtime/doc/doctags.c \
  590.         runtime/doc/tags \
  591.         runtime/doc/vim.1 \
  592.         runtime/doc/evim.1 \
  593.         runtime/doc/vimdiff.1 \
  594.         runtime/doc/vimtutor.1 \
  595.         runtime/doc/xxd.1 \
  596.         runtime/ftoff.vim \
  597.         runtime/gvimrc_example.vim \
  598.         runtime/macros/README.txt \
  599.         runtime/macros/dvorak \
  600.         runtime/macros/hanoi/click.me \
  601.         runtime/macros/hanoi/hanoi.vim \
  602.         runtime/macros/hanoi/poster \
  603.         runtime/macros/justify.vim \
  604.         runtime/macros/less.sh \
  605.         runtime/macros/less.vim \
  606.         runtime/macros/life/click.me \
  607.         runtime/macros/life/life.vim \
  608.         runtime/macros/matchit.vim \
  609.         runtime/macros/matchit.txt \
  610.         runtime/macros/maze/README.txt \
  611.         runtime/macros/maze/[mM]akefile \
  612.         runtime/macros/maze/maze.c \
  613.         runtime/macros/maze/maze_5.78 \
  614.         runtime/macros/maze/maze_mac \
  615.         runtime/macros/maze/mazeansi.c \
  616.         runtime/macros/maze/poster \
  617.         runtime/macros/shellmenu.vim \
  618.         runtime/macros/swapmous.vim \
  619.         runtime/macros/urm/README.txt \
  620.         runtime/macros/urm/examples \
  621.         runtime/macros/urm/urm \
  622.         runtime/macros/urm/urm.vim \
  623.         runtime/mswin.vim \
  624.         runtime/evim.vim \
  625.         runtime/optwin.vim \
  626.         runtime/ftplugin.vim \
  627.         runtime/ftplugof.vim \
  628.         runtime/indent.vim \
  629.         runtime/indoff.vim \
  630.         runtime/termcap \
  631.         runtime/tools/README.txt \
  632.         runtime/tools/[a-z]* \
  633.         runtime/tutor/README.txt \
  634.         runtime/tutor/tutor \
  635.         runtime/tutor/tutor.vim \
  636.         runtime/vimrc_example.vim \
  637.  
  638. # runtime files for all distributions without CR-NL translation
  639. RT_ALL_BIN =    \
  640.         runtime/print/*.ps \
  641.  
  642. # runtime script files
  643. RT_SCRIPTS =    \
  644.         runtime/filetype.vim \
  645.         runtime/scripts.vim \
  646.         runtime/menu.vim \
  647.         runtime/delmenu.vim \
  648.         runtime/synmenu.vim \
  649.         runtime/makemenu.vim \
  650.         runtime/colors/*.vim \
  651.         runtime/colors/README.txt \
  652.         runtime/compiler/*.vim \
  653.         runtime/compiler/README.txt \
  654.         runtime/indent/*.vim \
  655.         runtime/indent/README.txt \
  656.         runtime/ftplugin/*.vim \
  657.         runtime/ftplugin/README.txt \
  658.         runtime/plugin/*.vim \
  659.         runtime/plugin/README.txt \
  660.         runtime/syntax/*.vim \
  661.         runtime/syntax/README.txt \
  662.  
  663. # Unix runtime
  664. RT_UNIX =    \
  665.         README_unix.txt \
  666.         runtime/vim16x16.png \
  667.         runtime/vim16x16.xpm \
  668.         runtime/vim32x32.png \
  669.         runtime/vim32x32.xpm \
  670.         runtime/vim48x48.png \
  671.         runtime/vim48x48.xpm \
  672.  
  673. # Unix and DOS runtime without CR-LF translation
  674. RT_UNIX_DOS_BIN =    \
  675.         runtime/vim16x16.gif \
  676.         runtime/vim32x32.gif \
  677.         runtime/vim48x48.gif \
  678.  
  679. # runtime not for unix or extra
  680. RT_NO_UNIX =    \
  681.  
  682. # runtime for Amiga (also in the extra archive)
  683. RT_AMI_DOS =    \
  684.         runtime/doc/vim.man \
  685.         runtime/doc/vimdiff.man \
  686.         runtime/doc/vimtutor.man \
  687.         runtime/doc/xxd.man \
  688.  
  689. # DOS runtime (also in the extra archive)
  690. RT_DOS =    \
  691.         README_dos.txt \
  692.         runtime/rgb.txt \
  693.         vimtutor.bat \
  694.  
  695. # DOS runtime without CR-LF translation (also in the extra archive)
  696. RT_DOS_BIN =    \
  697.  
  698. # Amiga runtime (also in the extra archive)
  699. RT_AMI =    \
  700.         README.txt.info \
  701.         README_ami.txt \
  702.         README_ami.txt.info \
  703.         libs/arp.library \
  704.         runtime/doc.info \
  705.         runtime/doc/*.info \
  706.         runtime/icons \
  707.         runtime/icons.info \
  708.         runtime/macros.info \
  709.         runtime/macros/*.info \
  710.         runtime/macros/hanoi/*.info \
  711.         runtime/macros/life/*.info \
  712.         runtime/macros/maze/*.info \
  713.         runtime/macros/urm/*.info \
  714.         runtime/tools.info \
  715.         runtime/tutor.info \
  716.         runtime/tutor/*.info \
  717.  
  718. # runtime files in extra archive
  719. RT_EXTRA =    \
  720.         $(RT_AMI) \
  721.         $(RT_AMI_DOS) \
  722.         $(RT_DOS) \
  723.         $(RT_DOS_BIN) \
  724.         README_mac.txt \
  725.         runtime/macros/file_select.vim \
  726.  
  727. # included in all Amiga archives
  728. ROOT_AMI =    \
  729.         Contents \
  730.         Contents.info \
  731.         runtime.info \
  732.         vimdir.info \
  733.  
  734. # root files for the extra archive
  735. ROOT_EXTRA =    \
  736.         $(ROOT_AMI) \
  737.  
  738. # files for Amiga small binary (also in extra archive)
  739. BIN_AMI =    \
  740.         README_amibin.txt \
  741.         README_amibin.txt.info \
  742.         Vim.info \
  743.         Xxd.info \
  744.  
  745. # files for DOS binary (also in extra archive)
  746. BIN_DOS =    \
  747.         README_bindos.txt \
  748.         uninstal.txt \
  749.  
  750. # files for Win32 OLE binary (also in extra archive)
  751. BIN_OLE =    \
  752.         README_ole.txt \
  753.  
  754. # files for Win32s binary (also in extra archive)
  755. BIN_W32S =    \
  756.         README_w32s.txt \
  757.  
  758. # files for VMS binary (also in extra archive)
  759. BIN_VMS =    \
  760.         README_vms.txt \
  761.  
  762. # files for OS/2 binary (also in extra archive)
  763. BIN_OS2 =    \
  764.         README_os2.txt \
  765.  
  766. # binary files for extra archive
  767. BIN_EXTRA =    \
  768.         $(BIN_AMI) \
  769.         $(BIN_DOS) \
  770.         $(BIN_OLE) \
  771.         $(BIN_W32S) \
  772.         $(BIN_VMS) \
  773.         $(BIN_OS2) \
  774.  
  775. # all files for extra archive
  776. EXTRA =        \
  777.         $(BIN_EXTRA) \
  778.         $(ROOT_EXTRA) \
  779.         $(RT_EXTRA) \
  780.         $(SRC_EXTRA) \
  781.         README_extra.txt \
  782.         src/VisVim/VisVim.dll \
  783.         farsi \
  784.         runtime/vimlogo.cdr \
  785.         runtime/vimlogo.gif \
  786.         runtime/vimlogo.xpm \
  787.         src/swis.s \
  788.         src/tee/Makefile* \
  789.         src/tee/tee.c \
  790.         csdpmi4b.zip \
  791.         emx.dll \
  792.         emxlibcs.dll \
  793.  
  794. # generic language files
  795. LANG_GEN = \
  796.         README_lang.txt \
  797.         runtime/lang/README.txt \
  798.         runtime/lang/menu_*.vim \
  799.         runtime/keymap/README.txt \
  800.         runtime/keymap/*.vim \
  801.         runtime/tutor/README.*.txt \
  802.         runtime/tutor/tutor.?? \
  803.         runtime/tutor/tutor.gr.* \
  804.         runtime/tutor/tutor.ja.* \
  805.         runtime/tutor/tutor.pl.* \
  806.         runtime/tutor/tutor.zh.* \
  807.  
  808. # all files for lang archive
  809. LANG_SRC = \
  810.         src/po/README.txt \
  811.         src/po/README_mingw.txt \
  812.         src/po/README_mvc.txt \
  813.         src/po/cleanup.vim \
  814.         src/po/Makefile \
  815.         src/po/Make_ming.mak \
  816.         src/po/Make_mvc.mak \
  817.         src/po/sjiscorr.c \
  818.         src/po/*.po \
  819.  
  820. # the language files for the Win32 lang archive
  821. LANG_DOS = \
  822.         src/po/*.mo \
  823.  
  824. # All output is put in the "dist" directory.
  825. dist:
  826.     mkdir dist
  827.  
  828. # Clean up some files to avoid they are included.
  829. prepare:
  830.     if test -f runtime/doc/uganda.nsis.txt; then \
  831.         rm runtime/doc/uganda.nsis.txt; fi
  832.  
  833. # For the zip files we need to create a file with the comment line
  834. dist/comment:
  835.     mkdir dist/comment
  836.  
  837. COMMENT_RT = comment/$(VERSION)-rt
  838. COMMENT_RT1 = comment/$(VERSION)-rt1
  839. COMMENT_RT2 = comment/$(VERSION)-rt2
  840. COMMENT_D16 = comment/$(VERSION)-bin-d16
  841. COMMENT_D32 = comment/$(VERSION)-bin-d32
  842. COMMENT_W32 = comment/$(VERSION)-bin-w32
  843. COMMENT_GVIM = comment/$(VERSION)-bin-gvim
  844. COMMENT_OLE = comment/$(VERSION)-bin-ole
  845. COMMENT_W32S = comment/$(VERSION)-bin-w32s
  846. COMMENT_SRC = comment/$(VERSION)-src
  847. COMMENT_OS2 = comment/$(VERSION)-bin-os2
  848. COMMENT_HTML = comment/$(VERSION)-html
  849. COMMENT_FARSI = comment/$(VERSION)-farsi
  850. COMMENT_LANG = comment/$(VERSION)-lang
  851.  
  852. dist/$(COMMENT_RT): dist/comment
  853.     echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
  854.  
  855. dist/$(COMMENT_RT1): dist/comment
  856.     echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 1) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT1)
  857.  
  858. dist/$(COMMENT_RT2): dist/comment
  859.     echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 2) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT2)
  860.  
  861. dist/$(COMMENT_D16): dist/comment
  862.     echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)
  863.  
  864. dist/$(COMMENT_D32): dist/comment
  865.     echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 32 bit protected mode" > dist/$(COMMENT_D32)
  866.  
  867. dist/$(COMMENT_W32): dist/comment
  868.     echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)
  869.  
  870. dist/$(COMMENT_GVIM): dist/comment
  871.     echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows NT/95" > dist/$(COMMENT_GVIM)
  872.  
  873. dist/$(COMMENT_OLE): dist/comment
  874.     echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
  875.  
  876. dist/$(COMMENT_W32S): dist/comment
  877.     echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows 3.1/3.11" > dist/$(COMMENT_W32S)
  878.  
  879. dist/$(COMMENT_SRC): dist/comment
  880.     echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)
  881.  
  882. dist/$(COMMENT_OS2): dist/comment
  883.     echo "Vim - Vi IMproved - v$(VDOT) binaries + runtime files for OS/2" > dist/$(COMMENT_OS2)
  884.  
  885. dist/$(COMMENT_HTML): dist/comment
  886.     echo "Vim - Vi IMproved - v$(VDOT) documentation in HTML" > dist/$(COMMENT_HTML)
  887.  
  888. dist/$(COMMENT_FARSI): dist/comment
  889.     echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI)
  890.  
  891. dist/$(COMMENT_LANG): dist/comment
  892.     echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)
  893.  
  894. unixrt: dist prepare
  895.     -rm -f dist/$(VIMVER)-rt1.tar.gz
  896.     -rm -f dist/$(VIMVER)-rt2.tar.gz
  897. # first runtime file
  898.     -rm -rf dist/$(VIMRTDIR)
  899.     mkdir dist/$(VIMRTDIR)
  900.     tar cf - \
  901.         $(RT_ALL) \
  902.         $(RT_ALL_BIN) \
  903.         $(RT_UNIX) \
  904.         $(RT_UNIX_DOS_BIN) \
  905.         | (cd dist/$(VIMRTDIR); tar xf -)
  906.     cd dist && tar cf $(VIMVER)-rt1.tar $(VIMRTDIR)
  907.     gzip -9 dist/$(VIMVER)-rt1.tar
  908. # second runtime file (script files)
  909.     -rm -rf dist/$(VIMRTDIR)
  910.     mkdir dist/$(VIMRTDIR)
  911.     tar cf - \
  912.         $(RT_SCRIPTS) \
  913.         | (cd dist/$(VIMRTDIR); tar xf -)
  914.     cd dist && tar cf $(VIMVER)-rt2.tar $(VIMRTDIR)
  915.     gzip -9 dist/$(VIMVER)-rt2.tar
  916.  
  917. unixsrc: dist prepare
  918.     -rm -f dist/$(VIMVER)-src1.tar.gz
  919.     -rm -f dist/$(VIMVER)-src2.tar.gz
  920. # first source file
  921.     -rm -rf dist/$(VIMRTDIR)
  922.     mkdir dist/$(VIMRTDIR)
  923.     tar cf - \
  924.         $(SRC_ALL) \
  925.         $(SRC_MORE) \
  926.         | (cd dist/$(VIMRTDIR); tar xf -)
  927.     cd dist && tar cf $(VIMVER)-src1.tar $(VIMRTDIR)
  928.     gzip -9 dist/$(VIMVER)-src1.tar
  929. # second source file
  930.     -rm -rf dist/$(VIMRTDIR)
  931.     mkdir dist/$(VIMRTDIR)
  932.     tar cf - \
  933.         $(SRC_UNIX) \
  934.         $(SRC_DOS_UNIX) \
  935.         | (cd dist/$(VIMRTDIR); tar xf -)
  936. # Need to use a "distclean" config.mk file
  937.     cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
  938. # Create an empty config.h file, make dependencies require it
  939.     touch dist/$(VIMRTDIR)/src/auto/config.h
  940. # Make sure configure is newer than config.mk to force it to be generated
  941.     touch dist/$(VIMRTDIR)/src/configure
  942.     cd dist && tar cf $(VIMVER)-src2.tar $(VIMRTDIR)
  943.     gzip -9 dist/$(VIMVER)-src2.tar
  944.  
  945. unixall: dist unixsrc unixrt
  946.     -rm -f dist/$(VIMVER).tar.bz2
  947.     -rm -rf dist/$(VIMRTDIR)
  948.     mkdir dist/$(VIMRTDIR)
  949.     cd dist && tar xfz $(VIMVER)-src1.tar.gz
  950.     cd dist && tar xfz $(VIMVER)-src2.tar.gz
  951.     cd dist && tar xfz $(VIMVER)-rt1.tar.gz
  952.     cd dist && tar xfz $(VIMVER)-rt2.tar.gz
  953. # Create an empty config.h file, make dependencies require it
  954.     touch dist/$(VIMRTDIR)/src/auto/config.h
  955. # Make sure configure is newer than config.mk to force it to be generated
  956.     touch dist/$(VIMRTDIR)/src/configure
  957.     cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
  958.     bzip2 dist/$(VIMVER).tar
  959.  
  960. extra: dist prepare
  961.     -rm -f dist/$(VIMVER)-extra.tar.gz
  962.     -rm -rf dist/$(VIMRTDIR)
  963.     mkdir dist/$(VIMRTDIR)
  964.     tar cf - \
  965.         $(EXTRA) \
  966.         | (cd dist/$(VIMRTDIR); tar xf -)
  967.     cd dist && tar cf $(VIMVER)-extra.tar $(VIMRTDIR)
  968.     gzip -9 dist/$(VIMVER)-extra.tar
  969.  
  970. lang: dist prepare
  971.     -rm -f dist/$(VIMVER)-lang.tar.gz
  972.     -rm -rf dist/$(VIMRTDIR)
  973.     mkdir dist/$(VIMRTDIR)
  974.     tar cf - \
  975.         $(LANG_GEN) \
  976.         $(LANG_SRC) \
  977.         | (cd dist/$(VIMRTDIR); tar xf -)
  978. # Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
  979. # Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
  980.     touch dist/$(VIMRTDIR)/src/po/ja.sjis.po
  981.     touch dist/$(VIMRTDIR)/src/po/cs.cp1250.po
  982.     touch dist/$(VIMRTDIR)/src/po/pl.cp1250.po
  983.     touch dist/$(VIMRTDIR)/src/po/sk.cp1250.po
  984.     cd dist && tar cf $(VIMVER)-lang.tar $(VIMRTDIR)
  985.     gzip -9 dist/$(VIMVER)-lang.tar
  986.  
  987. amirt: dist prepare
  988.     -rm -f dist/vim$(VERSION)rt.tar.gz
  989.     -rm -rf dist/Vim
  990.     mkdir dist/Vim
  991.     mkdir dist/Vim/$(VIMRTDIR)
  992.     tar cf - \
  993.         $(ROOT_AMI) \
  994.         $(RT_ALL) \
  995.         $(RT_ALL_BIN) \
  996.         $(RT_SCRIPTS) \
  997.         $(RT_AMI) \
  998.         $(RT_NO_UNIX) \
  999.         $(RT_AMI_DOS) \
  1000.         | (cd dist/Vim/$(VIMRTDIR); tar xf -)
  1001.     mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
  1002.     mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
  1003.     mv dist/Vim/$(VIMRTDIR)/runtime/* dist/Vim/$(VIMRTDIR)
  1004.     rmdir dist/Vim/$(VIMRTDIR)/runtime
  1005.     cd dist && tar cf vim$(VERSION)rt.tar Vim Vim.info
  1006.     gzip -9 dist/vim$(VERSION)rt.tar
  1007.     mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz
  1008.  
  1009. amibin: dist prepare
  1010.     -rm -f dist/vim$(VERSION)bin.tar.gz
  1011.     -rm -rf dist/Vim
  1012.     mkdir dist/Vim
  1013.     mkdir dist/Vim/$(VIMRTDIR)
  1014.     tar cf - \
  1015.         $(ROOT_AMI) \
  1016.         $(BIN_AMI) \
  1017.         Vim \
  1018.         Xxd \
  1019.         | (cd dist/Vim/$(VIMRTDIR); tar xf -)
  1020.     mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
  1021.     mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
  1022.     cd dist && tar cf vim$(VERSION)bin.tar Vim Vim.info
  1023.     gzip -9 dist/vim$(VERSION)bin.tar
  1024.     mv dist/vim$(VERSION)bin.tar.gz dist/vim$(VERSION)bin.tgz
  1025.  
  1026. amisrc: dist prepare
  1027.     -rm -f dist/vim$(VERSION)src.tar.gz
  1028.     -rm -rf dist/Vim
  1029.     mkdir dist/Vim
  1030.     mkdir dist/Vim/$(VIMRTDIR)
  1031.     tar cf - \
  1032.         $(ROOT_AMI) \
  1033.         $(SRC_ALL) \
  1034.         $(SRC_MORE) \
  1035.         $(SRC_AMI) \
  1036.         $(SRC_AMI_DOS) \
  1037.         | (cd dist/Vim/$(VIMRTDIR); tar xf -)
  1038.     mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
  1039.     mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
  1040.     cd dist && tar cf vim$(VERSION)src.tar Vim Vim.info
  1041.     gzip -9 dist/vim$(VERSION)src.tar
  1042.     mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
  1043.  
  1044. no_title.vim: Makefile
  1045.     echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim
  1046.  
  1047. dosrt: dist prepare no_title.vim dist/$(COMMENT_RT)
  1048.     -rm -rf dist/vim$(VERSION)rt.zip
  1049.     -rm -rf dist/vim
  1050.     mkdir dist/vim
  1051.     mkdir dist/vim/$(VIMRTDIR)
  1052.     tar cf - \
  1053.         $(RT_ALL) \
  1054.         $(RT_SCRIPTS) \
  1055.         $(RT_DOS) \
  1056.         $(RT_NO_UNIX) \
  1057.         $(RT_AMI_DOS) \
  1058.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1059.     mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
  1060.     rmdir dist/vim/$(VIMRTDIR)/runtime
  1061.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1062.     cp $(RT_UNIX_DOS_BIN) dist/vim/$(VIMRTDIR)
  1063.     cp $(RT_ALL_BIN) dist/vim/$(VIMRTDIR)
  1064. #    cp $(RT_DOS_BIN) dist/vim/$(VIMRTDIR)
  1065.     cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
  1066.  
  1067. dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_d16 dosbin_ole $(DOSBIN_S)
  1068.  
  1069. # make Win32 gvim
  1070. dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
  1071.     -rm -rf dist/gvim$(VERSION).zip
  1072.     -rm -rf dist/vim
  1073.     mkdir dist/vim
  1074.     mkdir dist/vim/$(VIMRTDIR)
  1075.     tar cf - \
  1076.         $(BIN_DOS) \
  1077.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1078.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1079.     cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
  1080.     cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  1081.     cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
  1082.     cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
  1083.     cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  1084.     cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
  1085.     cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
  1086.  
  1087. # make Win32 console
  1088. dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
  1089.     -rm -rf dist/vim$(VERSION)w32.zip
  1090.     -rm -rf dist/vim
  1091.     mkdir dist/vim
  1092.     mkdir dist/vim/$(VIMRTDIR)
  1093.     tar cf - \
  1094.         $(BIN_DOS) \
  1095.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1096.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1097.     cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
  1098.     cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  1099.     cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
  1100.     cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  1101.     cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
  1102.  
  1103. # make 32bit DOS
  1104. dosbin_d32: dist no_title.vim dist/$(COMMENT_D32)
  1105.     -rm -rf dist/vim$(VERSION)d32.zip
  1106.     -rm -rf dist/vim
  1107.     mkdir dist/vim
  1108.     mkdir dist/vim/$(VIMRTDIR)
  1109.     tar cf - \
  1110.         $(BIN_DOS) \
  1111.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1112.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1113.     cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
  1114.     cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  1115.     cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
  1116.     cp uninstald32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  1117.     cp csdpmi4b.zip dist/vim/$(VIMRTDIR)
  1118.     cd dist && zip -9 -rD -z vim$(VERSION)d32.zip vim <$(COMMENT_D32)
  1119.  
  1120. # make 16bit DOS
  1121. dosbin_d16: dist no_title.vim dist/$(COMMENT_D16)
  1122.     -rm -rf dist/vim$(VERSION)d16.zip
  1123.     -rm -rf dist/vim
  1124.     mkdir dist/vim
  1125.     mkdir dist/vim/$(VIMRTDIR)
  1126.     tar cf - \
  1127.         $(BIN_DOS) \
  1128.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1129.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1130.     cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
  1131.     cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
  1132.     cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
  1133.     cp uninstald16.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  1134.     cd dist && zip -9 -rD -z vim$(VERSION)d16.zip vim <$(COMMENT_D16)
  1135.  
  1136. # make Win32 gvim with OLE
  1137. dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
  1138.     -rm -rf dist/gvim$(VERSION)ole.zip
  1139.     -rm -rf dist/vim
  1140.     mkdir dist/vim
  1141.     mkdir dist/vim/$(VIMRTDIR)
  1142.     tar cf - \
  1143.         $(BIN_DOS) \
  1144.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1145.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1146.     cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
  1147.     cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  1148.     cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
  1149.     cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
  1150.     cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  1151.     cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
  1152.     cp README_ole.txt dist/vim/$(VIMRTDIR)
  1153.     cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll
  1154.     cp src/VisVim/README_VisVim.txt dist/vim/$(VIMRTDIR)
  1155.     cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
  1156.  
  1157. # make Win32s gvim
  1158. dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
  1159.     -rm -rf dist/gvim$(VERSION)_s.zip
  1160.     -rm -rf dist/vim
  1161.     mkdir dist/vim
  1162.     mkdir dist/vim/$(VIMRTDIR)
  1163.     tar cf - \
  1164.         $(BIN_DOS) \
  1165.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1166.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1167.     cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
  1168.     cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
  1169.     cp README_w32s.txt dist/vim/$(VIMRTDIR)
  1170.     cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
  1171.     cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
  1172.     cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
  1173.  
  1174. # make Win32 lang archive
  1175. doslang: dist prepare no_title.vim dist/$(COMMENT_LANG)
  1176.     -rm -rf dist/vim$(VERSION)lang.zip
  1177.     -rm -rf dist/vim
  1178.     mkdir dist/vim
  1179.     mkdir dist/vim/$(VIMRTDIR)
  1180.     cd src && MAKEMO=yes $(MAKE) languages
  1181.     tar cf - \
  1182.         $(LANG_GEN) \
  1183.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1184.     mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
  1185.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1186. # Add the message translations.  Trick: skip ja.mo and use ja.sjis.mo instead.
  1187. # Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo and
  1188. # zh_CN.mo / zh_CN.cp936.mo.
  1189.     for i in $(LANG_DOS); do \
  1190.           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"; then \
  1191.         n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp936\)*.mo+\1+"`; \
  1192.         mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
  1193.         mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
  1194.         cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
  1195.           fi \
  1196.         done
  1197.     cp libintl.dll dist/vim/$(VIMRTDIR)/
  1198.     cd dist && zip -9 -rD -z vim$(VERSION)lang.zip vim <$(COMMENT_LANG)
  1199.  
  1200. # MS-DOS sources
  1201. dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
  1202.     -rm -rf dist/vim$(VERSION)src.zip
  1203.     -rm -rf dist/vim
  1204.     mkdir dist/vim
  1205.     mkdir dist/vim/$(VIMRTDIR)
  1206.     tar cf - \
  1207.         $(SRC_ALL) \
  1208.         $(SRC_MORE) \
  1209.         $(SRC_DOS) \
  1210.         $(SRC_AMI_DOS) \
  1211.         $(SRC_DOS_UNIX) \
  1212.         runtime/doc/uganda.nsis.txt \
  1213.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1214.     mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
  1215.     rmdir dist/vim/$(VIMRTDIR)/runtime
  1216.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1217.     tar cf - \
  1218.         $(SRC_DOS_BIN) \
  1219.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1220.     cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
  1221.  
  1222. runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
  1223.     cd runtime/doc && $(MAKE) uganda.nsis.txt
  1224.  
  1225. os2bin: dist no_title.vim dist/$(COMMENT_OS2)
  1226.     -rm -rf dist/vim$(VERSION)os2.zip
  1227.     -rm -rf dist/vim
  1228.     mkdir dist/vim
  1229.     mkdir dist/vim/$(VIMRTDIR)
  1230.     tar cf - \
  1231.         $(BIN_OS2) \
  1232.         | (cd dist/vim/$(VIMRTDIR); tar xf -)
  1233.     find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -u no_title.vim -c ":set tx|wq" {} \;
  1234.     cp vimos2.exe dist/vim/$(VIMRTDIR)/vim.exe
  1235.     cp xxdos2.exe dist/vim/$(VIMRTDIR)/xxd.exe
  1236.     cp teeos2.exe dist/vim/$(VIMRTDIR)/tee.exe
  1237.     cp emx.dll emxlibcs.dll dist/vim/$(VIMRTDIR)
  1238.     cd dist && zip -9 -rD -z vim$(VERSION)os2.zip vim <$(COMMENT_OS2)
  1239.  
  1240. html: dist dist/$(COMMENT_HTML)
  1241.     -rm -rf dist/vim$(VERSION)html.zip
  1242.     cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML)
  1243.  
  1244. farsi: dist dist/$(COMMENT_FARSI)
  1245.     -rm -f dist/farsi$(VERSION).zip
  1246.     zip -9 -rD -z dist/farsi$(VERSION).zip farsi < dist/$(COMMENT_FARSI)
  1247.