Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame^] | 73 | MAJOR = 7 |
| 74 | MINOR = 0aa |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 and VERSION in src/Makefile, README*.txt, |
| 83 | # runtime/doc/*.txt and nsis/gvim.nsi. For a minor/major version: |
| 84 | # src/GvimExt/GvimExt.reg, 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 and Motif installed; |
| 88 | # ignore warnings for 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". May |
| 92 | # require disabling Python to avoid trouble with threads. |
| 93 | # - Check for missing entries in runtime/makemenu.vim (with checkmenu script). |
| 94 | # - Check for missing options in runtime/optwin.vim et al. (with check.vim). |
| 95 | # - Do "make menu" to update the runtime/synmenu.vim file. |
| 96 | # - Add remarks for changes to runtime/doc/version6.txt. |
| 97 | # - In runtime/doc run "make" and "make html" to check for errors. |
| 98 | # - Check if src/Makefile and src/feature.h don't contain any personal |
| 99 | # preferences or the GTK, Perl, etc. mentioned above. |
| 100 | # - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL |
| 101 | # ADDITIONS". |
| 102 | # - Check file protections to be "644" for text and "755" for executables (run |
| 103 | # the "check" script). |
| 104 | # - Check compiling on Amiga, MS-DOS and MS-Windows. |
| 105 | # - Delete all *~, *.sw?, *.orig, *.rej files |
| 106 | # - "make unixall", "make extra", "make lang", "make html" |
| 107 | # |
| 108 | # Amiga: |
| 109 | # - "make amisrc", move the archive to the Amiga and compile: |
| 110 | # "make -f Make_manx.mak" (will use "big" features by default). |
| 111 | # - Run the tests: "make -f Make_manx.mak test" |
| 112 | # - Place the executables Vim and Xxd in this directory (set the executable |
| 113 | # flag). |
| 114 | # - "make amirt", "make amibin". |
| 115 | # |
| 116 | # PC: |
| 117 | # - "make dossrc" and "make dosrt". Unpack the archives on a PC. |
| 118 | # 16 bit DOS version: |
| 119 | # - Set environment for compiling with Borland C++ 3.1. |
| 120 | # - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that |
| 121 | # case set environment for compiling with Borland C++ 4.0 and do |
| 122 | # "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe"). |
| 123 | # - "make test" and check the output. |
| 124 | # - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and |
| 125 | # "uninstald16.exe". |
| 126 | # 32 bit DOS version: |
| 127 | # - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak". |
| 128 | # - "rm testdir/*.out", "make -f Make_djg.mak test" and check the output. |
| 129 | # - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and |
| 130 | # "uninstald32.exe". |
| 131 | # Win32 console version: |
| 132 | # - Set environment for Visual C++ 5.0: "vcvars32" |
| 133 | # - "nmake -f Make_mvc.mak" |
| 134 | # - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output. |
| 135 | # - Rename the executables to "vimw32.exe", "xxdw32.exe". |
| 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 | # - Delete vimrun.exe, install.exe and uninstall.exe. |
| 143 | # - Copy "GvimExt/gvimext.dll" to here. |
| 144 | # Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME: |
| 145 | # - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...) |
| 146 | # - Rename "gvim.exe" to "gvim_ole.exe". |
| 147 | # - Delete install.exe and uninstall.exe. |
| 148 | # - If building the Win32s version delete vimrun.exe. |
| 149 | # Win32s GUI version: |
| 150 | # - Set environment for Visual C++ 4.1 (requires a new console window) |
| 151 | # - "vcvars32" (use the path for VC 4.1 e:\msdev\bin) |
| 152 | # - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1) |
| 153 | # - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1) |
| 154 | # - Rename "gvim.exe" to "gvim_w32s.exe". |
| 155 | # - Rename "install.exe" to "installw32.exe" |
| 156 | # - Rename "uninstal.exe" to "uninstalw32.exe" |
| 157 | # - The produced uninstalw32.exe and vimrun.exe are used. |
| 158 | # Create the archives: |
| 159 | # - Copy all the "*.exe" files to where this Makefile is. |
| 160 | # - "make dosbin". |
| 161 | # - Run make on Unix to update the ".mo" files. |
| 162 | # - "make doslang". |
| 163 | # NSIS self installing exe: |
| 164 | # - Unpack the doslang archive on the PC. |
| 165 | # - Make sure gvim_ole.exe, vimd32.exe, vimw32.exe, installw32.exe, |
| 166 | # uninstalw32.exe and xxdw32.exe have been build as mentioned above. |
| 167 | # - put gvimext.dll in src/GvimExt and VisVim.dll in src/VisVim (get them |
| 168 | # from a binary archive or build them) |
| 169 | # - make sure there is a diff.exe two levels up |
| 170 | # - go to ../nsis and do "makensis gvim.nsi". |
| 171 | # - Copy gvim##.exe to the dist directory. |
| 172 | # |
| 173 | # OS/2: |
| 174 | # - Unpack the Unix "src", "extra" and "rt" archives. |
| 175 | # - "make -f Make_os2.mak". |
| 176 | # - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy |
| 177 | # them to here. |
| 178 | # - "make os2bin". |
| 179 | |
| 180 | VIMVER = vim-$(MAJOR).$(MINOR) |
| 181 | VERSION = $(MAJOR)$(MINOR) |
| 182 | VDOT = $(MAJOR).$(MINOR) |
| 183 | VIMRTDIR = vim$(VERSION) |
| 184 | |
| 185 | # Vim used for conversion from "unix" to "dos" |
| 186 | VIM = vim |
| 187 | |
| 188 | # How to include Filelist depends on the version of "make" you have. |
| 189 | # If the current choice doesn't work, try the other one. |
| 190 | |
| 191 | include Filelist |
| 192 | #.include "Filelist" |
| 193 | |
| 194 | |
| 195 | # All output is put in the "dist" directory. |
| 196 | dist: |
| 197 | mkdir dist |
| 198 | |
| 199 | # Clean up some files to avoid they are included. |
| 200 | prepare: |
| 201 | if test -f runtime/doc/uganda.nsis.txt; then \ |
| 202 | rm runtime/doc/uganda.nsis.txt; fi |
| 203 | |
| 204 | # For the zip files we need to create a file with the comment line |
| 205 | dist/comment: |
| 206 | mkdir dist/comment |
| 207 | |
| 208 | COMMENT_RT = comment/$(VERSION)-rt |
| 209 | COMMENT_RT1 = comment/$(VERSION)-rt1 |
| 210 | COMMENT_RT2 = comment/$(VERSION)-rt2 |
| 211 | COMMENT_D16 = comment/$(VERSION)-bin-d16 |
| 212 | COMMENT_D32 = comment/$(VERSION)-bin-d32 |
| 213 | COMMENT_W32 = comment/$(VERSION)-bin-w32 |
| 214 | COMMENT_GVIM = comment/$(VERSION)-bin-gvim |
| 215 | COMMENT_OLE = comment/$(VERSION)-bin-ole |
| 216 | COMMENT_W32S = comment/$(VERSION)-bin-w32s |
| 217 | COMMENT_SRC = comment/$(VERSION)-src |
| 218 | COMMENT_OS2 = comment/$(VERSION)-bin-os2 |
| 219 | COMMENT_HTML = comment/$(VERSION)-html |
| 220 | COMMENT_FARSI = comment/$(VERSION)-farsi |
| 221 | COMMENT_LANG = comment/$(VERSION)-lang |
| 222 | |
| 223 | dist/$(COMMENT_RT): dist/comment |
| 224 | echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT) |
| 225 | |
| 226 | dist/$(COMMENT_RT1): dist/comment |
| 227 | echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 1) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT1) |
| 228 | |
| 229 | dist/$(COMMENT_RT2): dist/comment |
| 230 | echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 2) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT2) |
| 231 | |
| 232 | dist/$(COMMENT_D16): dist/comment |
| 233 | echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16) |
| 234 | |
| 235 | dist/$(COMMENT_D32): dist/comment |
| 236 | echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 32 bit protected mode" > dist/$(COMMENT_D32) |
| 237 | |
| 238 | dist/$(COMMENT_W32): dist/comment |
| 239 | echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32) |
| 240 | |
| 241 | dist/$(COMMENT_GVIM): dist/comment |
| 242 | echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows NT/95" > dist/$(COMMENT_GVIM) |
| 243 | |
| 244 | dist/$(COMMENT_OLE): dist/comment |
| 245 | echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE) |
| 246 | |
| 247 | dist/$(COMMENT_W32S): dist/comment |
| 248 | echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows 3.1/3.11" > dist/$(COMMENT_W32S) |
| 249 | |
| 250 | dist/$(COMMENT_SRC): dist/comment |
| 251 | echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC) |
| 252 | |
| 253 | dist/$(COMMENT_OS2): dist/comment |
| 254 | echo "Vim - Vi IMproved - v$(VDOT) binaries + runtime files for OS/2" > dist/$(COMMENT_OS2) |
| 255 | |
| 256 | dist/$(COMMENT_HTML): dist/comment |
| 257 | echo "Vim - Vi IMproved - v$(VDOT) documentation in HTML" > dist/$(COMMENT_HTML) |
| 258 | |
| 259 | dist/$(COMMENT_FARSI): dist/comment |
| 260 | echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI) |
| 261 | |
| 262 | dist/$(COMMENT_LANG): dist/comment |
| 263 | echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG) |
| 264 | |
| 265 | unixrt: dist prepare |
| 266 | -rm -f dist/$(VIMVER)-rt1.tar.gz |
| 267 | -rm -f dist/$(VIMVER)-rt2.tar.gz |
| 268 | # first runtime file |
| 269 | -rm -rf dist/$(VIMRTDIR) |
| 270 | mkdir dist/$(VIMRTDIR) |
| 271 | tar cf - \ |
| 272 | $(RT_ALL) \ |
| 273 | $(RT_ALL_BIN) \ |
| 274 | $(RT_UNIX) \ |
| 275 | $(RT_UNIX_DOS_BIN) \ |
| 276 | | (cd dist/$(VIMRTDIR); tar xf -) |
| 277 | cd dist && tar cf $(VIMVER)-rt1.tar $(VIMRTDIR) |
| 278 | gzip -9 dist/$(VIMVER)-rt1.tar |
| 279 | # second runtime file (script and language files) |
| 280 | -rm -rf dist/$(VIMRTDIR) |
| 281 | mkdir dist/$(VIMRTDIR) |
| 282 | tar cf - \ |
| 283 | $(RT_SCRIPTS) \ |
| 284 | $(LANG_GEN) \ |
Bram Moolenaar | 5482f33 | 2005-04-17 20:18:43 +0000 | [diff] [blame] | 285 | $(LANG_GEN_BIN) \ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 286 | | (cd dist/$(VIMRTDIR); tar xf -) |
| 287 | cd dist && tar cf $(VIMVER)-rt2.tar $(VIMRTDIR) |
| 288 | gzip -9 dist/$(VIMVER)-rt2.tar |
| 289 | |
| 290 | unixsrc: dist prepare |
| 291 | -rm -f dist/$(VIMVER)-src1.tar.gz |
| 292 | -rm -f dist/$(VIMVER)-src2.tar.gz |
| 293 | # first source file |
| 294 | -rm -rf dist/$(VIMRTDIR) |
| 295 | mkdir dist/$(VIMRTDIR) |
| 296 | tar cf - \ |
| 297 | $(SRC_ALL1) \ |
| 298 | | (cd dist/$(VIMRTDIR); tar xf -) |
| 299 | cd dist && tar cf $(VIMVER)-src1.tar $(VIMRTDIR) |
| 300 | gzip -9 dist/$(VIMVER)-src1.tar |
| 301 | # second source file |
| 302 | -rm -rf dist/$(VIMRTDIR) |
| 303 | mkdir dist/$(VIMRTDIR) |
| 304 | tar cf - \ |
| 305 | $(SRC_ALL2) \ |
| 306 | $(SRC_UNIX) \ |
| 307 | $(SRC_DOS_UNIX) \ |
| 308 | | (cd dist/$(VIMRTDIR); tar xf -) |
| 309 | # Need to use a "distclean" config.mk file |
| 310 | cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk |
| 311 | # Create an empty config.h file, make dependencies require it |
| 312 | touch dist/$(VIMRTDIR)/src/auto/config.h |
| 313 | # Make sure configure is newer than config.mk to force it to be generated |
| 314 | touch dist/$(VIMRTDIR)/src/configure |
| 315 | cd dist && tar cf $(VIMVER)-src2.tar $(VIMRTDIR) |
| 316 | gzip -9 dist/$(VIMVER)-src2.tar |
| 317 | |
| 318 | unixall: dist unixsrc unixrt |
| 319 | -rm -f dist/$(VIMVER).tar.bz2 |
| 320 | -rm -rf dist/$(VIMRTDIR) |
| 321 | mkdir dist/$(VIMRTDIR) |
| 322 | cd dist && tar xfz $(VIMVER)-src1.tar.gz |
| 323 | cd dist && tar xfz $(VIMVER)-src2.tar.gz |
| 324 | cd dist && tar xfz $(VIMVER)-rt1.tar.gz |
| 325 | cd dist && tar xfz $(VIMVER)-rt2.tar.gz |
| 326 | # Create an empty config.h file, make dependencies require it |
| 327 | touch dist/$(VIMRTDIR)/src/auto/config.h |
| 328 | # Make sure configure is newer than config.mk to force it to be generated |
| 329 | touch dist/$(VIMRTDIR)/src/configure |
| 330 | cd dist && tar cf $(VIMVER).tar $(VIMRTDIR) |
| 331 | bzip2 dist/$(VIMVER).tar |
| 332 | |
| 333 | extra: dist prepare |
| 334 | -rm -f dist/$(VIMVER)-extra.tar.gz |
| 335 | -rm -rf dist/$(VIMRTDIR) |
| 336 | mkdir dist/$(VIMRTDIR) |
| 337 | tar cf - \ |
| 338 | $(EXTRA) \ |
| 339 | | (cd dist/$(VIMRTDIR); tar xf -) |
| 340 | cd dist && tar cf $(VIMVER)-extra.tar $(VIMRTDIR) |
| 341 | gzip -9 dist/$(VIMVER)-extra.tar |
| 342 | |
| 343 | lang: dist prepare |
| 344 | -rm -f dist/$(VIMVER)-lang.tar.gz |
| 345 | -rm -rf dist/$(VIMRTDIR) |
| 346 | mkdir dist/$(VIMRTDIR) |
| 347 | tar cf - \ |
| 348 | $(LANG_SRC) \ |
| 349 | | (cd dist/$(VIMRTDIR); tar xf -) |
| 350 | # Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated. |
| 351 | # Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po. |
| 352 | touch dist/$(VIMRTDIR)/src/po/ja.sjis.po |
| 353 | touch dist/$(VIMRTDIR)/src/po/cs.cp1250.po |
| 354 | touch dist/$(VIMRTDIR)/src/po/pl.cp1250.po |
| 355 | touch dist/$(VIMRTDIR)/src/po/sk.cp1250.po |
| 356 | touch dist/$(VIMRTDIR)/src/po/zh_CN.cp936.po |
| 357 | touch dist/$(VIMRTDIR)/src/po/ru.cp1251.po |
Bram Moolenaar | 15d0a8c | 2004-09-06 17:44:46 +0000 | [diff] [blame] | 358 | touch dist/$(VIMRTDIR)/src/po/uk.cp1251.po |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 359 | cd dist && tar cf $(VIMVER)-lang.tar $(VIMRTDIR) |
| 360 | gzip -9 dist/$(VIMVER)-lang.tar |
| 361 | |
| 362 | amirt: dist prepare |
| 363 | -rm -f dist/vim$(VERSION)rt.tar.gz |
| 364 | -rm -rf dist/Vim |
| 365 | mkdir dist/Vim |
| 366 | mkdir dist/Vim/$(VIMRTDIR) |
| 367 | tar cf - \ |
| 368 | $(ROOT_AMI) \ |
| 369 | $(RT_ALL) \ |
| 370 | $(RT_ALL_BIN) \ |
| 371 | $(RT_SCRIPTS) \ |
| 372 | $(RT_AMI) \ |
| 373 | $(RT_NO_UNIX) \ |
| 374 | $(RT_AMI_DOS) \ |
| 375 | | (cd dist/Vim/$(VIMRTDIR); tar xf -) |
| 376 | mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info |
| 377 | mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info |
| 378 | mv dist/Vim/$(VIMRTDIR)/runtime/* dist/Vim/$(VIMRTDIR) |
| 379 | rmdir dist/Vim/$(VIMRTDIR)/runtime |
| 380 | cd dist && tar cf vim$(VERSION)rt.tar Vim Vim.info |
| 381 | gzip -9 dist/vim$(VERSION)rt.tar |
| 382 | mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz |
| 383 | |
| 384 | amibin: dist prepare |
| 385 | -rm -f dist/vim$(VERSION)bin.tar.gz |
| 386 | -rm -rf dist/Vim |
| 387 | mkdir dist/Vim |
| 388 | mkdir dist/Vim/$(VIMRTDIR) |
| 389 | tar cf - \ |
| 390 | $(ROOT_AMI) \ |
| 391 | $(BIN_AMI) \ |
| 392 | Vim \ |
| 393 | Xxd \ |
| 394 | | (cd dist/Vim/$(VIMRTDIR); tar xf -) |
| 395 | mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info |
| 396 | mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info |
| 397 | cd dist && tar cf vim$(VERSION)bin.tar Vim Vim.info |
| 398 | gzip -9 dist/vim$(VERSION)bin.tar |
| 399 | mv dist/vim$(VERSION)bin.tar.gz dist/vim$(VERSION)bin.tgz |
| 400 | |
| 401 | amisrc: dist prepare |
| 402 | -rm -f dist/vim$(VERSION)src.tar.gz |
| 403 | -rm -rf dist/Vim |
| 404 | mkdir dist/Vim |
| 405 | mkdir dist/Vim/$(VIMRTDIR) |
| 406 | tar cf - \ |
| 407 | $(ROOT_AMI) \ |
| 408 | $(SRC_ALL1) \ |
| 409 | $(SRC_ALL2) \ |
| 410 | $(SRC_AMI) \ |
| 411 | $(SRC_AMI_DOS) \ |
| 412 | | (cd dist/Vim/$(VIMRTDIR); tar xf -) |
| 413 | mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info |
| 414 | mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info |
| 415 | cd dist && tar cf vim$(VERSION)src.tar Vim Vim.info |
| 416 | gzip -9 dist/vim$(VERSION)src.tar |
| 417 | mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz |
| 418 | |
| 419 | no_title.vim: Makefile |
| 420 | echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim |
| 421 | |
| 422 | dosrt: dist dist/$(COMMENT_RT) dosrt_unix2dos |
| 423 | -rm -rf dist/vim$(VERSION)rt.zip |
| 424 | cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT) |
| 425 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame^] | 426 | # Split in two parts to avoid a "argument list too long" error. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 427 | dosrt_unix2dos: dist prepare no_title.vim |
| 428 | -rm -rf dist/vim |
| 429 | mkdir dist/vim |
| 430 | mkdir dist/vim/$(VIMRTDIR) |
| 431 | tar cf - \ |
| 432 | $(RT_ALL) \ |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame^] | 433 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 434 | tar cf - \ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 435 | $(RT_SCRIPTS) \ |
| 436 | $(RT_DOS) \ |
| 437 | $(RT_NO_UNIX) \ |
| 438 | $(RT_AMI_DOS) \ |
| 439 | $(LANG_GEN) \ |
| 440 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 441 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 442 | tar cf - \ |
| 443 | $(RT_UNIX_DOS_BIN) \ |
| 444 | $(RT_ALL_BIN) \ |
| 445 | $(RT_DOS_BIN) \ |
Bram Moolenaar | 5482f33 | 2005-04-17 20:18:43 +0000 | [diff] [blame] | 446 | $(LANG_GEN_BIN) \ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 447 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 448 | mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR) |
| 449 | rmdir dist/vim/$(VIMRTDIR)/runtime |
| 450 | |
| 451 | |
| 452 | # Convert runtime files from Unix fileformat to dos fileformat. |
| 453 | # Used before uploading. Don't delete the AAPDIR/sign files! |
| 454 | runtime_unix2dos: dosrt_unix2dos |
| 455 | -rm -rf `find runtime/dos -type f -print | sed -e /AAPDIR/d` |
| 456 | cd dist/vim/$(VIMRTDIR); tar cf - * \ |
| 457 | | (cd ../../../runtime/dos; tar xf -) |
| 458 | |
| 459 | dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_d16 dosbin_ole $(DOSBIN_S) |
| 460 | |
| 461 | # make Win32 gvim |
| 462 | dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM) |
| 463 | -rm -rf dist/gvim$(VERSION).zip |
| 464 | -rm -rf dist/vim |
| 465 | mkdir dist/vim |
| 466 | mkdir dist/vim/$(VIMRTDIR) |
| 467 | tar cf - \ |
| 468 | $(BIN_DOS) \ |
| 469 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 470 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 471 | cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe |
| 472 | cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe |
| 473 | cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe |
| 474 | cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe |
| 475 | cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe |
| 476 | cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll |
| 477 | cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM) |
| 478 | |
| 479 | # make Win32 console |
| 480 | dosbin_w32: dist no_title.vim dist/$(COMMENT_W32) |
| 481 | -rm -rf dist/vim$(VERSION)w32.zip |
| 482 | -rm -rf dist/vim |
| 483 | mkdir dist/vim |
| 484 | mkdir dist/vim/$(VIMRTDIR) |
| 485 | tar cf - \ |
| 486 | $(BIN_DOS) \ |
| 487 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 488 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 489 | cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe |
| 490 | cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe |
| 491 | cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe |
| 492 | cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe |
| 493 | cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32) |
| 494 | |
| 495 | # make 32bit DOS |
| 496 | dosbin_d32: dist no_title.vim dist/$(COMMENT_D32) |
| 497 | -rm -rf dist/vim$(VERSION)d32.zip |
| 498 | -rm -rf dist/vim |
| 499 | mkdir dist/vim |
| 500 | mkdir dist/vim/$(VIMRTDIR) |
| 501 | tar cf - \ |
| 502 | $(BIN_DOS) \ |
| 503 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 504 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 505 | cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe |
| 506 | cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe |
| 507 | cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe |
| 508 | cp uninstald32.exe dist/vim/$(VIMRTDIR)/uninstal.exe |
| 509 | cp csdpmi4b.zip dist/vim/$(VIMRTDIR) |
| 510 | cd dist && zip -9 -rD -z vim$(VERSION)d32.zip vim <$(COMMENT_D32) |
| 511 | |
| 512 | # make 16bit DOS |
| 513 | dosbin_d16: dist no_title.vim dist/$(COMMENT_D16) |
| 514 | -rm -rf dist/vim$(VERSION)d16.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 vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe |
| 523 | cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe |
| 524 | cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe |
| 525 | cp uninstald16.exe dist/vim/$(VIMRTDIR)/uninstal.exe |
| 526 | cd dist && zip -9 -rD -z vim$(VERSION)d16.zip vim <$(COMMENT_D16) |
| 527 | |
| 528 | # make Win32 gvim with OLE |
| 529 | dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE) |
| 530 | -rm -rf dist/gvim$(VERSION)ole.zip |
| 531 | -rm -rf dist/vim |
| 532 | mkdir dist/vim |
| 533 | mkdir dist/vim/$(VIMRTDIR) |
| 534 | tar cf - \ |
| 535 | $(BIN_DOS) \ |
| 536 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 537 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 538 | cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe |
| 539 | cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe |
| 540 | cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe |
| 541 | cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe |
| 542 | cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe |
| 543 | cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll |
| 544 | cp README_ole.txt dist/vim/$(VIMRTDIR) |
| 545 | cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll |
| 546 | cp src/VisVim/README_VisVim.txt dist/vim/$(VIMRTDIR) |
| 547 | cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE) |
| 548 | |
| 549 | # make Win32s gvim |
| 550 | dosbin_s: dist no_title.vim dist/$(COMMENT_W32S) |
| 551 | -rm -rf dist/gvim$(VERSION)_s.zip |
| 552 | -rm -rf dist/vim |
| 553 | mkdir dist/vim |
| 554 | mkdir dist/vim/$(VIMRTDIR) |
| 555 | tar cf - \ |
| 556 | $(BIN_DOS) \ |
| 557 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 558 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 559 | cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe |
| 560 | cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe |
| 561 | cp README_w32s.txt dist/vim/$(VIMRTDIR) |
| 562 | cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe |
| 563 | cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe |
| 564 | cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S) |
| 565 | |
| 566 | # make Win32 lang archive |
| 567 | doslang: dist prepare no_title.vim dist/$(COMMENT_LANG) |
| 568 | -rm -rf dist/vim$(VERSION)lang.zip |
| 569 | -rm -rf dist/vim |
| 570 | mkdir dist/vim |
| 571 | mkdir dist/vim/$(VIMRTDIR) |
| 572 | mkdir dist/vim/$(VIMRTDIR)/lang |
| 573 | cd src && MAKEMO=yes $(MAKE) languages |
| 574 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 575 | # Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead. |
| 576 | # Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo, |
Bram Moolenaar | 15d0a8c | 2004-09-06 17:44:46 +0000 | [diff] [blame] | 577 | # zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 578 | for i in $(LANG_DOS); do \ |
Bram Moolenaar | 15d0a8c | 2004-09-06 17:44:46 +0000 | [diff] [blame] | 579 | 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 \ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 580 | n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \ |
| 581 | mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \ |
| 582 | mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \ |
| 583 | cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \ |
| 584 | fi \ |
| 585 | done |
| 586 | cp libintl.dll dist/vim/$(VIMRTDIR)/ |
| 587 | cd dist && zip -9 -rD -z vim$(VERSION)lang.zip vim <$(COMMENT_LANG) |
| 588 | |
| 589 | # MS-DOS sources |
| 590 | dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt |
| 591 | -rm -rf dist/vim$(VERSION)src.zip |
| 592 | -rm -rf dist/vim |
| 593 | mkdir dist/vim |
| 594 | mkdir dist/vim/$(VIMRTDIR) |
| 595 | tar cf - \ |
| 596 | $(SRC_ALL1) \ |
| 597 | $(SRC_ALL2) \ |
| 598 | $(SRC_DOS) \ |
| 599 | $(SRC_AMI_DOS) \ |
| 600 | $(SRC_DOS_UNIX) \ |
| 601 | runtime/doc/uganda.nsis.txt \ |
| 602 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 603 | mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR) |
| 604 | rmdir dist/vim/$(VIMRTDIR)/runtime |
| 605 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 606 | tar cf - \ |
| 607 | $(SRC_DOS_BIN) \ |
| 608 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 609 | cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC) |
| 610 | |
| 611 | runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt |
| 612 | cd runtime/doc && $(MAKE) uganda.nsis.txt |
| 613 | |
| 614 | os2bin: dist no_title.vim dist/$(COMMENT_OS2) |
| 615 | -rm -rf dist/vim$(VERSION)os2.zip |
| 616 | -rm -rf dist/vim |
| 617 | mkdir dist/vim |
| 618 | mkdir dist/vim/$(VIMRTDIR) |
| 619 | tar cf - \ |
| 620 | $(BIN_OS2) \ |
| 621 | | (cd dist/vim/$(VIMRTDIR); tar xf -) |
| 622 | find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \; |
| 623 | cp vimos2.exe dist/vim/$(VIMRTDIR)/vim.exe |
| 624 | cp xxdos2.exe dist/vim/$(VIMRTDIR)/xxd.exe |
| 625 | cp teeos2.exe dist/vim/$(VIMRTDIR)/tee.exe |
| 626 | cp emx.dll emxlibcs.dll dist/vim/$(VIMRTDIR) |
| 627 | cd dist && zip -9 -rD -z vim$(VERSION)os2.zip vim <$(COMMENT_OS2) |
| 628 | |
| 629 | html: dist dist/$(COMMENT_HTML) |
| 630 | -rm -rf dist/vim$(VERSION)html.zip |
| 631 | cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML) |
| 632 | |
| 633 | farsi: dist dist/$(COMMENT_FARSI) |
| 634 | -rm -f dist/farsi$(VERSION).zip |
| 635 | zip -9 -rD -z dist/farsi$(VERSION).zip farsi < dist/$(COMMENT_FARSI) |