Makefile.bor
资源名称:vim53src.zip [点击查看]
上传用户:gddssl
上传日期:2007-01-06
资源大小:1003k
文件大小:11k
源码类别:
编辑器/阅读器
开发平台:
DOS
- #
- # Makefile for Vim.
- # Compiler: Borland C++ 5.0 and later 32-bit compiler
- # Targets: Dos16 or Win32 (Windows NT and Windows 95) (with/without GUI)
- #
- # Contributed by Ben Singer.
- # Updated 4/1997 by Ron Aaron
- # 6/1997 - added support for 16 bit DOS
- # Note: this has been tested, and works, for BC5. Your mileage may vary.
- # Has been reported NOT to work with BC 4.52. Maybe it can be fixed?
- # 10/1997 - ron - fixed bugs w/ BC 5.02
- # 8/1998 - ron - updated with new targets, fixed some stuff
- #
- # It builds on Windows 95 and NT-Intel, producing the same binary in either
- # case. To build using Microsoft Visual C++, use Makefile.w32.
- #
- # let the make utility do the hard work:
- .AUTODEPEND
- .CACHEAUTODEPEND
- #
- # VARIABLES LIST:
- #
- # BOR - path to root of Borland C install, typ: BC5
- # DEBUG - define if you wish a DEBUGging build
- # CODEGUARD - define (for BORLAND only) if you want to use CODEGUARD
- # GUI - define if you want the GUI version
- # CPU - one of 1 through 6 - select CPU to compile for
- # USEDLL - use the Runtime library DLL
- # VIMDLL - create vim32.dll, and stub (g)vim.exe
- # ALIGN - Alignment to use (1,2,4)
- # FASTCALL - Use register-based function protocol
- # OS - DOS16 or WIN32
- #
- # Change this to point to the root of *your* BC installation:
- BOR = c:bc5
- #
- # PERL STUFF
- # 'USEDLL' doesn't seem to work with perl, don't know why.
- # if the following line is uncommented, you will have perl support in vim:
- # PERL=perl.exe
- PERLLIB=c:perllib
- #
- # OS Target - can be DOS16 or WIN32
- OS = WIN32
- #
- # Uncomment to make an executable for debugging:
- #DEBUG = -v
- #
- # Comment out to make a console-mode only version:
- GUI = 1
- #
- # Uncomment to make an OLE-capable version:
- #OLE = 1
- #
- # Uncomment to use the CODEGUARD stuff (BC 5.0 or later):
- #CODEGUARD = -vG
- #
- # Uncomment to use FASTCALL calling convention (RECOMMENDED!)
- FASTCALL = 1
- #
- # Optimize for space or speed? (SPEED RECOMMENDED)
- OPTIMIZE = SPEED
- #
- # Change as appropriate for your target processor (3 to 6):
- CPU = 3
- #
- # Comment out to use precompiled headers (faster, but uses lots of disk!)
- HEADERS = -H -H=vim.csm -Hc
- #
- # Comment out to use statically linked version of run-time:
- USEDLL = 1
- #
- # Uncomment to make a DLL version of VIM (NOT RECOMMENDED):
- #VIMDLL = 1
- #
- # Change to alignment you desire: (1,2 or 4: s/b 4 for Win32, 2 for DOS)
- !if ($(OS)==DOS16)
- ALIGN = 2
- !else
- ALIGN = 4
- !endif
- #
- # Sanity checks for the above options:
- #
- !if ($(OS)==DOS16)
- !if (($(CPU)+0)>4)
- !error CPU Must be less than or equal to 4 for DOS16
- !endif
- #
- !if (($(ALIGN)+0)>2)
- !error ALIGN Must be less than or equal to 2 for DOS16
- !endif
- #
- !else # not DOS16
- !if (($(CPU)+0)<3)
- !error CPU Must be greater or equal to 3 for WIN32
- !endif
- !endif
- #
- !if ($(OS)!=WIN32) && ($(OS)!=DOS16)
- !error Check the OS variable again: $(OS) is not supported!
- !endif
- #
- # Optimizations: change as desired (RECOMMENDATION: Don't change!):
- #
- !ifdef DEBUG
- OPT = -Od -N
- !else
- !if ($(OPTIMIZE)==SPACE)
- OPT = -O1 -f- -N- -d
- !else
- OPT = -O2 -f- -d -N- -Oca -O
- !endif
- !ifdef FASTCALL
- OPT = $(OPT) -pr
- !endif
- !ifndef CODEGUARD
- OPT = $(OPT) -vi-
- !endif
- !endif
- !if ($(OS)==DOS16)
- !undef GUI
- !undef VIMDLL
- !undef USEDLL
- !endif
- # shouldn't have to change:
- LIB = $(BOR)lib
- INCLUDE = $(BOR)include;$(PERLLIB)core;.;proto
- DEFINES = -DWIN32 -DPC
- #
- !ifdef PERL
- DEFINES = $(DEFINES) -DHAVE_PERL_INTERP
- INCLUDE = $(PERLIB)core;$(INCLUDE)
- !endif
- #
- # DO NOT change below:
- #
- CPU = -$(CPU)
- ALIGN = -a$(ALIGN)
- #
- !ifdef DEBUG
- DEFINES=$(DEFINES) -DDEBUG
- !endif
- #
- !if ($(OLE)==1)
- DEFINES = $(DEFINES) -DHAVE_OLE
- !endif
- #
- !if ($(GUI)==1)
- DEFINES = $(DEFINES) -DUSE_GUI_WIN32 -DUSE_CLIPBOARD
- !ifdef DEBUG
- TARGET = gvimd.exe
- !else
- TARGET = gvim.exe
- !endif
- !ifdef VIMDLL
- EXETYPE=-WD
- DEFINES = $(DEFINES) -DVIMDLL
- !else
- EXETYPE=-WE
- !endif
- STARTUPOBJ = c0w32.obj
- LINK2 = -aa
- RESFILE = vim.res
- !else
- !ifdef DEBUG
- TARGET = vimd.exe
- !else
- # for now, anyway: VIMDLL is only for the GUI version
- !undef VIMDLL
- TARGET = vim.exe
- !endif
- !if ($(OS)==DOS16)
- DEFINES=-DMSDOS
- EXETYPE=-ml
- STARTUPOBJ = c0l.obj
- LINK2 =
- !else
- EXETYPE=-WC
- STARTUPOBJ = c0x32.obj
- LINK2 = -ap -OS -o -P
- !endif
- RESFILE =
- !endif
- !ifdef USEDLL
- DEFINES = $(DEFINES) -D_RTLDLL
- !endif
- !ifdef DEBUG
- OBJDIR = $(OS)objdbg
- !else
- !if ($(GUI)==1)
- OBJDIR = $(OS)gobj
- !else
- OBJDIR = $(OS)obj
- !endif
- !endif
- ##### BASE COMPILER/TOOLS RULES #####
- !if ($(OS)==DOS16)
- BRC =
- LINK = $(BOR)BINTLink
- CC = $(BOR)BINBcc
- LFLAGS = -Tde -c -m -L$(LIB) $(DEBUG) $(LINK2)
- LFLAGSDLL =
- CFLAGS = -w- -w-aus -w-par -I$(INCLUDE) -H- -P- $(HEADERS)
- !else
- BRC = brc32
- LINK = $(BOR)BINTLink32
- CC = $(BOR)BINBcc32
- LFLAGS = -OS -r -Tpe -c -m -L$(LIB) $(DEBUG) $(LINK2)
- LFLAGSDLL = -Tpd -c -m -L$(LIB) $(DEBUG) $(LINK2)
- CFLAGS = -w- -w-aus -w-par -I$(INCLUDE) -P- -d -x- -RT- -k- -Oi $(HEADERS) -N- -f-
- !endif
- CC1 = -c
- CC2 = -o
- CC = $(CC) +$(OBJDIR)bcc.cfg
- # implicit rules:
- .c.obj:
- $(CC) $(CC1) $(CC2)$@ $*.c
- .cpp.obj:
- $(CC) $(CC1) $(CC2)$@ $*.cpp
- !if ($(OS)==DOS16)
- !else # win32:
- vimmain =
- $(OBJDIR)os_w32exe.obj
- !ifdef VIMDLL
- vimwinmain =
- $(OBJDIR)os_w32dll.obj
- !else
- vimwinmain =
- $(OBJDIR)os_w32exe.obj
- !endif
- !endif
- vimobj = $(vimwinmain)
- $(OBJDIR)buffer.obj
- $(OBJDIR)charset.obj
- $(OBJDIR)digraph.obj
- $(OBJDIR)edit.obj
- $(OBJDIR)eval.obj
- $(OBJDIR)ex_cmds.obj
- $(OBJDIR)ex_docmd.obj
- $(OBJDIR)ex_getln.obj
- $(OBJDIR)fileio.obj
- $(OBJDIR)getchar.obj
- $(OBJDIR)main.obj
- $(OBJDIR)mark.obj
- $(OBJDIR)memfile.obj
- $(OBJDIR)memline.obj
- $(OBJDIR)message.obj
- $(OBJDIR)misc1.obj
- $(OBJDIR)misc2.obj
- $(OBJDIR)multbyte.obj
- $(OBJDIR)normal.obj
- $(OBJDIR)ops.obj
- $(OBJDIR)option.obj
- $(OBJDIR)quickfix.obj
- $(OBJDIR)regexp.obj
- $(OBJDIR)screen.obj
- $(OBJDIR)search.obj
- $(OBJDIR)syntax.obj
- $(OBJDIR)tag.obj
- $(OBJDIR)term.obj
- $(OBJDIR)ui.obj
- $(OBJDIR)undo.obj
- $(OBJDIR)version.obj
- $(OBJDIR)window.obj
- !if ($(OLE)==1)
- vimobj = $(vimobj)
- $(OBJDIR)if_ole.obj
- !endif
- !ifdef PERL
- vimobj = $(vimobj)
- $(OBJDIR)if_perl.obj
- !endif
- !ifdef VIMDLL
- vimdllobj = $(vimobj)
- !ifdef DEBUG
- DLLTARGET = vim32d.dll
- !else
- DLLTARGET = vim32.dll
- !endif
- !else
- DLLTARGET = joebob
- !endif
- !if ($(GUI)==1)
- vimobj = $(vimobj)
- $(OBJDIR)gui.obj
- $(OBJDIR)gui_w32.obj
- !endif
- !if ($(OS)==WIN32)
- vimobj = $(vimobj)
- $(OBJDIR)os_win32.obj
- !elif ($(OS)==DOS16)
- vimobj = $(vimobj)
- $(OBJDIR)os_msdos.obj
- !endif
- # Blab what we are going to do:
- MSG = Compiling $(OS) $(TARGET) $(OLETARGET), with:
- !ifdef GUI
- MSG = $(MSG) GUI
- !endif
- !ifdef USEDLL
- MSG = $(MSG) USEDLL
- !endif
- !ifdef VIMDLL
- MSG = $(MSG) VIMDLL
- !endif
- !ifdef DEBUG
- MSG = $(MSG) DEBUG
- !endif
- !ifdef CODEGUARD
- MSG = $(MSG) CODEGUARD
- !endif
- MSG = $(MSG) cpu=$(CPU)
- MSG = $(MSG) Align=$(ALIGN)
- !message $(MSG)
- !if ($(OS)==DOS16)
- TARGETS = $(TARGET)
- !else
- !ifdef VIMDLL
- TARGETS = $(DLLTARGET)
- !endif
- TARGETS = $(TARGETS) $(TARGET)
- !endif
- # Targets:
- vim: dirs $(OBJDIR)bcc.cfg $(TARGETS)
- @del $(OBJDIR)version.obj
- dirs:
- -@md $(OS)
- -@md $(OBJDIR)
- all: vim vimrun.exe install.exe xxd ctags
- ###########################################################################
- ###### Note well: Before you attempt to make 'xxd' or 'ctags', you will
- ###### have to edit their respective makefile.w32 files to work with
- ###### Borland C. It isn't hard, but I can't do it for you!
- ###########################################################################
- xxd:
- @cd xxd
- $(MAKE) -f makefile.w32
- @cd ..
- ctags:
- @cd ctags
- $(MAKE) -f makefile.w32
- @cd ..
- install.exe: dosinst.c
- $(BOR)BINbcc32 -WC -einstall dosinst.c
- clean:
- -@del /y $(OBJDIR)*.*
- -@del /y *.res
- -@del /y *.dll
- -@del /y *vim*.exe
- -@del /y *.csm
- -@del /y *.map
- $(DLLTARGET): $(OBJDIR) $(vimdllobj)
- $(LINK) @&&|
- $(LFLAGSDLL) +
- c0d32.obj +
- $(vimdllobj)
- $<,$*
- !ifdef CODEGUARD
- cg32.lib+
- !endif
- !if ($(OLE)==1)
- ole2w32.lib +
- !endif
- !if ($(OS)==WIN32)
- import32.lib+
- !ifdef PERL
- $(PERLLIB)coreperl.lib+
- !endif
- !if ($(USEDLL)==1)
- cw32i.lib
- !else
- cw32.lib
- !endif
- vim.def
- !else
- cl.lib
- !endif
- |
- !ifdef VIMDLL
- $(TARGET): $(OBJDIR) $(DLLTARGET) $(vimmain) $(RESFILE)
- !else
- $(TARGET): $(OBJDIR) $(vimobj) $(RESFILE)
- !endif
- $(LINK) @&&|
- $(LFLAGS) +
- $(STARTUPOBJ) +
- !ifdef VIMDLL
- $(vimmain)
- !else
- $(vimobj)
- !endif
- $<,$*
- !if ($(OS)==WIN32)
- !ifdef CODEGUARD
- cg32.lib+
- !endif
- !if ($(OLE)==1)
- ole2w32.lib +
- !endif
- import32.lib+
- !ifdef PERL
- $(PERLLIB)coreperl.lib+
- !endif
- !if ($(USEDLL)==1)
- cw32i.lib
- !else
- cw32.lib
- !endif
- !if ($(GUI)==1)
- $(RESFILE)
- !endif
- !else
- emu.lib + cl.lib
- !endif
- |
- $(OBJDIR)buffer.obj: buffer.c
- $(OBJDIR)charset.obj: charset.c
- $(OBJDIR)digraph.obj: digraph.c
- $(OBJDIR)edit.obj: edit.c
- $(OBJDIR)eval.obj: eval.c
- $(OBJDIR)ex_cmds.obj: ex_cmds.c ex_cmds.h
- $(OBJDIR)ex_docmd.obj: ex_docmd.c ex_cmds.h
- $(OBJDIR)ex_getln.obj: ex_getln.c
- $(OBJDIR)fileio.obj: fileio.c
- $(OBJDIR)getchar.obj: getchar.c
- $(OBJDIR)main.obj: main.c
- $(OBJDIR)mark.obj: mark.c
- $(OBJDIR)memfile.obj: memfile.c
- $(OBJDIR)memline.obj: memline.c
- $(OBJDIR)message.obj: message.c
- $(OBJDIR)misc1.obj: misc1.c
- $(OBJDIR)misc2.obj: misc2.c
- $(OBJDIR)multbyte.obj: multbyte.c
- $(OBJDIR)normal.obj: normal.c
- $(OBJDIR)ops.obj: ops.c
- $(OBJDIR)option.obj: option.c
- $(OBJDIR)quickfix.obj: quickfix.c
- $(OBJDIR)regexp.obj: regexp.c
- $(OBJDIR)screen.obj: screen.c
- $(OBJDIR)search.obj: search.c
- $(OBJDIR)syntax.obj: syntax.c
- $(OBJDIR)tag.obj: tag.c
- $(OBJDIR)term.obj: term.c
- $(OBJDIR)ui.obj: ui.c
- $(OBJDIR)undo.obj: undo.c
- $(OBJDIR)version.obj: version.c
- $(OBJDIR)os_win32.obj: os_win32.c
- $(OBJDIR)os_msdos.obj: os_msdos.c
- $(OBJDIR)window.obj: window.c
- $(OBJDIR)gui.obj: gui.c
- $(OBJDIR)gui_w32.obj: gui_w32.c
- $(OBJDIR)os_w32dll.obj: os_w32dll.c
- $(OBJDIR)if_ole.obj: if_ole.cpp
- copy if_ole.obj $(OBJDIR)
- $(OBJDIR)os_w32exe.obj: os_w32exe.c
- $(CC) $(CC1) -WE $(CC2)$@ os_w32exe.c
- $(OBJDIR):
- -@if not exist $(OBJDIR)nul mkdir $(OS)
- -@if not exist $(OBJDIR)nul mkdir $(OBJDIR)
- $(OBJDIR)if_perl.obj: if_perl.c
- $(CC) $(CC1) $(CC2)$@ -pc if_perl.c
- if_perl.c: if_perl.xs typemap
- $(PERL) $(PERLLIB)ExtUtilsxsubpp -prototypes -typemap
- $(PERLLIB)ExtUtilstypemap if_perl.xs > $@
- vim.res: vim.rc version.h tools.bmp tearoff.bmp vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
- $(BRC) $(DEFINES) -i $(BOR)include -32 -r $*.rc
- # vimrun.exe:
- vimrun.exe: vimrun.c
- !if $d(USEDLL)
- $(BOR)BINBCC32 -WC -O1 -I$(INCLUDE) -D_RTLDLL vimrun.c cw32mti.lib
- !else
- $(BOR)BINBCC32 -WC -O1 -I$(INCLUDE) vimrun.c
- !endif
- $(OBJDIR)bcc.cfg: Makefile.bor
- copy &&|
- $(CFLAGS)
- $(DEFINES)
- $(EXETYPE)
- $(DEBUG)
- $(OPT)
- $(CODEGUARD)
- $(CPU)
- $(ALIGN)
- | $@
- # vi:set sts=4 sw=4: