view src/Make_w16.mak @ 2378:85b7dc8da5eb vim73

Add the 'concealcursor' option to decide when the cursor line is to be concealed or not. Rename 'conc' to 'cole' as the short name for 'conceallevel'.
author Bram Moolenaar <bram@vim.org>
date Fri, 23 Jul 2010 22:10:27 +0200
parents d8f905020502
children ff193256398a
line wrap: on
line source

#
# Borland C++ 5.0[12] makefile for vim, 16-bit windows gui version
# By Vince Negri
# *************************************************************
# * WARNING!
# * This was originally produced by the IDE, but has since been
# * modifed to make it work properly. Adjust with care!
# * In particular, leave LinkerLocalOptsAtW16_gvim16dexe alone
# * unless you are a guru.
# *************************************************************
#
# Look for BOR below and either pass a different value or
# adjust the path as required. For example
#   make -fMake_w16.mak -DBOR=C:\PF\Borland\BC5.01 -B BccW16.cfg
#   make -fMake_w16.mak
# Note: $(BOR) is effectively ignored unless BccW16.cfg is rebuilt.
#
# Does not compile with Borland C++ 4.51 Walter Briscoe 2003-02-24
# "out of memory" from compiler if gvim16 wildly wrong. WFB 2003-03-04
#
# vim16.def must be a DOS-formatted file. (\r\n line endings.)
# It is a UNIX-formatted file (\n line endings) in vim-*-extra.tar.gz

.AUTODEPEND

#
# Borland C++ tools
#
IMPLIB  = Implib
BCC     = Bcc +BccW16.cfg
TLINK   = TLink
TLIB    = TLib
BRC     = Brc
TASM    = Tasm
#
# IDE macros
#

#
# Options
#
!ifndef BOR
BOR = D:\BC5
!endif

# !ifndef INTDIR is lethal considering CLEAN below. WFB 2003-03-13
INTDIR=w16

#  /Twe Make the target a Windows .EXE with explicit functions exportable +
#  /x   Map file off
#  /l   Include source line numbers in object map files`
#  /c   case sensitive link
#  /C   Case-sensitive exports and imports (16-bit only)
#  /k   Produce "No Stack" warning.
#  /Oa  Minimise segment alignment
#  /Oc  Minimise Chain fixes
#  /Oi  Minimise Iterated data
#  /Or  Minimise resource alignment
#  /P   -P=x  Code pack size
#  /V   Windows version for application
#  /L   Folder to search for library files
LinkerLocalOptsAtW16_gvim16dexe =/Twe/x/l/c/C/k/Or/Oc/Oa/Oi/P=65535/V3.10

CompInheritOptsAt_gvim16dexe = \
   -I$(BOR)\INCLUDE;PROTO;. \
   -DFEAT_GUI;FEAT_GUI_MSWIN;FEAT_GUI_W16;MSWIN;WIN16;MSWIN16_FASTTEXT \
   -DFEAT_TOOLBAR;WIN16_3DLOOK

#
# Dependency List
#
Dep_Gvim16 = \
   gvim16.exe

ObjFiles = \
   $(INTDIR)\buffer.obj\
   $(INTDIR)\charset.obj\
   $(INTDIR)\diff.obj\
   $(INTDIR)\digraph.obj\
   $(INTDIR)\edit.obj\
   $(INTDIR)\eval.obj\
   $(INTDIR)\ex_cmds.obj\
   $(INTDIR)\ex_cmds2.obj\
   $(INTDIR)\ex_docmd.obj\
   $(INTDIR)\ex_eval.obj\
   $(INTDIR)\ex_getln.obj\
   $(INTDIR)\fileio.obj\
   $(INTDIR)\fold.obj\
   $(INTDIR)\getchar.obj\
   $(INTDIR)\hardcopy.obj\
   $(INTDIR)\hashtab.obj\
   $(INTDIR)\gui.obj\
   $(INTDIR)\gui_w16.obj\
   $(INTDIR)\main.obj\
   $(INTDIR)\mark.obj\
   $(INTDIR)\mbyte.obj\
   $(INTDIR)\memfile.obj\
   $(INTDIR)\memline.obj\
   $(INTDIR)\menu.obj\
   $(INTDIR)\message.obj\
   $(INTDIR)\misc1.obj\
   $(INTDIR)\misc2.obj\
   $(INTDIR)\move.obj\
   $(INTDIR)\normal.obj\
   $(INTDIR)\ops.obj\
   $(INTDIR)\option.obj\
   $(INTDIR)\os_win16.obj\
   $(INTDIR)\os_msdos.obj\
   $(INTDIR)\os_mswin.obj\
   $(INTDIR)\popupmnu.obj\
   $(INTDIR)\quickfix.obj\
   $(INTDIR)\regexp.obj\
   $(INTDIR)\screen.obj\
   $(INTDIR)\search.obj\
   $(INTDIR)\spell.obj\
   $(INTDIR)\syntax.obj\
   $(INTDIR)\tag.obj\
   $(INTDIR)\term.obj\
   $(INTDIR)\ui.obj\
   $(INTDIR)\undo.obj\
   $(INTDIR)\version.obj\
   $(INTDIR)\window.obj

Dep_gvim16dexe = \
   vimtbar.lib\
   vim16.def\
   $(INTDIR)\vim16.res\
   $(ObjFiles)

# Without the following, the implicit rule in BUILTINS.MAK is picked up
# for a rule for .c.obj rather than the local implicit rule
.SUFFIXES
.SUFFIXES .c .obj
.path.c = .

# -P-	Force C++ compilation off
# -c	Compilation only
# -n    Place .OBJ files
{.}.c{$(INTDIR)}.obj:
  $(BCC) -P- -c -n$(INTDIR)\ {$< }

Gvim16 : BccW16.cfg $(Dep_Gvim16)
  echo MakeNode

gvim16.exe : $(Dep_gvim16dexe)
  $(TLINK)   $(LinkerLocalOptsAtW16_gvim16dexe) @&&|
c0wl.obj $(ObjFiles)
|,$*,,vimtbar ctl3dv2 import cwl, vim16.def,$(INTDIR)\vim16.res

# Force objects to be built if $(BOR) changes
$(ObjFiles) : Make_w16.mak BccW16.cfg

$(INTDIR)\vim16.res : vim16.rc
  $(BRC) -R @&&|
  $(CompInheritOptsAt_gvim16dexe) -fo$*.res $?
|


# Compiler configuration file
# There is no rule for $(INTDIR) as make always says it does not exist
BccW16.cfg :
	-@if not exist $(INTDIR)\$(NULL) mkdir $(INTDIR)
	Copy &&|
-3		; Generate 80386 protected-mode compatible instructions
-a		; Byte alignment
-dc		; Move string literals from data segment to code segment
-ff		; Fast floating point
-H		; Generate and use precompiled headers
-H=$(INTDIR)\gvim16.csm	; gvim16.csm is the precompiled header filename
-k-		; No standard stack frame
-ml		; Large memory model
-OW		; Suppress the inc bp/dec bp on windows far functions
-O1		; Generate smallest possible code
-O2		; Generate fastest possible code (overrides prior -O1 control)
-pr		; Fastcall calling convention passing parameters in registers
-R-		; Exclude browser information in generated .OBJ files
-v-		; Turn off source debugging
-vi		; Turn inline function expansion on
-WE		; Only __far _export functions are exported
-w		; Display warnings
-w-par		; Suppress: Parameter 'parameter' is never used
-w-pch		; Cannot create pre-compiled header: initialized data in header
-w-sig		; identifier' declared but never used
-w-ucp		; Mixing pointers to different 'char' types
-wuse		; 'identifier' declared but never used
 $(CompInheritOptsAt_gvim16dexe)
| $@

!IF "$(OS)" == "Windows_NT"
NULL=
DEL_TREE = rmdir /s /q
!ELSE
NULL=nul
DEL_TREE = deltree /y
!ENDIF

CLEAN:
	-@if exist $(INTDIR)\$(NULL) $(DEL_TREE) $(INTDIR)
	-@if exist BccW16.cfg erase BccW16.cfg
	-@if exist gvim16.exe erase gvim16.exe