2 # Borland C++ 5.0[12] makefile for vim, 16-bit windows gui version
4 # *************************************************************
6 # * This was originally produced by the IDE, but has since been
7 # * modifed to make it work properly. Adjust with care!
8 # * In particular, leave LinkerLocalOptsAtW16_gvim16dexe alone
9 # * unless you are a guru.
10 # *************************************************************
12 # Look for BOR below and either pass a different value or
13 # adjust the path as required. For example
14 # make -fMake_w16.mak -DBOR=C:\PF\Borland\BC5.01 -B BccW16.cfg
16 # Note: $(BOR) is effectively ignored unless BccW16.cfg is rebuilt.
18 # Does not compile with Borland C++ 4.51 Walter Briscoe 2003-02-24
19 # "out of memory" from compiler if gvim16 wildly wrong. WFB 2003-03-04
21 # vim16.def must be a DOS-formatted file. (\r\n line endings.)
22 # It is a UNIX-formatted file (\n line endings) in vim-*-extra.tar.gz
46 # !ifndef INTDIR is lethal considering CLEAN below. WFB 2003-03-13
49 # /Twe Make the target a Windows .EXE with explicit functions exportable +
51 # /l Include source line numbers in object map files`
52 # /c case sensitive link
53 # /C Case-sensitive exports and imports (16-bit only)
54 # /k Produce "No Stack" warning.
55 # /Oa Minimise segment alignment
56 # /Oc Minimise Chain fixes
57 # /Oi Minimise Iterated data
58 # /Or Minimise resource alignment
59 # /P -P=x Code pack size
60 # /V Windows version for application
61 # /L Folder to search for library files
62 LinkerLocalOptsAtW16_gvim16dexe
=/Twe
/x
/l
/c
/C
/k
/Or
/Oc
/Oa
/Oi
/P
=65535/V3.10
64 CompInheritOptsAt_gvim16dexe
= \
65 -I
$(BOR
)\INCLUDE
;PROTO
;. \
66 -DFEAT_GUI
;FEAT_GUI_MSWIN
;FEAT_GUI_W16
;MSWIN
;WIN16
;MSWIN16_FASTTEXT \
67 -DFEAT_TOOLBAR
;WIN16_3DLOOK
77 $(INTDIR
)\charset.obj\
79 $(INTDIR
)\digraph.obj\
82 $(INTDIR
)\ex_cmds.obj\
83 $(INTDIR
)\ex_cmds2.obj\
84 $(INTDIR
)\ex_docmd.obj\
85 $(INTDIR
)\ex_eval.obj\
86 $(INTDIR
)\ex_getln.obj\
89 $(INTDIR
)\getchar.obj\
90 $(INTDIR
)\hardcopy.obj\
91 $(INTDIR
)\hashtab.obj\
93 $(INTDIR
)\gui_w16.obj\
97 $(INTDIR
)\memfile.obj\
98 $(INTDIR
)\memline.obj\
100 $(INTDIR
)\message.obj\
104 $(INTDIR
)\normal.obj\
106 $(INTDIR
)\option.obj\
107 $(INTDIR
)\os_win16.obj\
108 $(INTDIR
)\os_msdos.obj\
109 $(INTDIR
)\os_mswin.obj\
110 $(INTDIR
)\popupmnu.obj\
111 $(INTDIR
)\quickfix.obj\
112 $(INTDIR
)\regexp.obj\
113 $(INTDIR
)\screen.obj\
114 $(INTDIR
)\search.obj\
116 $(INTDIR
)\syntax.obj\
121 $(INTDIR
)\version.obj\
130 # Without the following, the implicit rule in BUILTINS.MAK is picked up
131 # for a rule for .c.obj rather than the local implicit rule
136 # -P- Force C++ compilation off
137 # -c Compilation only
138 # -n Place .OBJ files
139 {.
}.c
{$(INTDIR
)}.obj
:
140 $(BCC
) -P-
-c
-n
$(INTDIR
)\
{$< }
142 Gvim16
: BccW16.cfg
$(Dep_Gvim16
)
145 gvim16.exe
: $(Dep_gvim16dexe
)
146 $(TLINK
) $(LinkerLocalOptsAtW16_gvim16dexe
) @
&&|
148 |
,$*,,vimtbar ctl3dv2 import cwl
, vim16.def
,$(INTDIR
)\vim
16.res
150 # Force objects to be built if $(BOR) changes
151 $(ObjFiles
) : Make_w16.mak BccW16.cfg
153 $(INTDIR
)\vim
16.res
: vim16.rc
155 $(CompInheritOptsAt_gvim16dexe
) -fo
$*.res
$?
159 # Compiler configuration file
160 # There is no rule for $(INTDIR) as make always says it does not exist
162 -@if not exist
$(INTDIR
)\
$(NULL
) mkdir
$(INTDIR
)
164 -3 ; Generate
80386 protected-mode compatible instructions
166 -dc
; Move string literals from data segment to code segment
167 -ff
; Fast floating point
168 -H
; Generate and use precompiled headers
169 -H
=$(INTDIR
)\gvim16.csm
; gvim16.csm is the precompiled header filename
170 -k-
; No standard stack frame
171 -ml
; Large memory model
172 -OW
; Suppress the inc bp
/dec bp on windows far functions
173 -O1
; Generate smallest possible code
174 -O2
; Generate fastest possible code
(overrides prior
-O1 control
)
175 -pr
; Fastcall calling convention passing parameters in registers
176 -R-
; Exclude browser information in generated .OBJ files
177 -v-
; Turn off source debugging
178 -vi
; Turn inline function expansion on
179 -WE
; Only __far _export functions are exported
180 -w
; Display warnings
181 -w-par
; Suppress
: Parameter
'parameter' is never used
182 -w-pch
; Cannot create pre-compiled header
: initialized data in header
183 -w-sig
; identifier
' declared but never used
184 -w-ucp ; Mixing pointers to different 'char
' types
185 -wuse ; 'identifier
' declared but never used
186 $(CompInheritOptsAt_gvim16dexe)
189 !IF "$(OS)" == "Windows_NT"
191 DEL_TREE = rmdir /s /q
194 DEL_TREE = deltree /y
198 -@if exist $(INTDIR)\$(NULL) $(DEL_TREE) $(INTDIR)
199 -@if exist BccW16.cfg erase BccW16.cfg
200 -@if exist gvim16.exe erase gvim16.exe