aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/makefile_vc
blob: 58d2a7ab82ee8efc4dfb7712ba1b818bdfeff16f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Make file for Scintilla on Windows Visual C++ version
# Copyright 1998-2000 by Neil Hodgson <neilh@scintilla.org>
# The License.txt file describes the conditions under which this software may be distributed.
# This makefile is for using Visual C++ and nmake. 
# The main makefile uses mingw32 gcc and may be more current than this file.

.SUFFIXES: .cxx
CC = cl
RC = rc
LD = link

DIR_O=.
DIR_BIN=..\bin

COMPONENT=$(DIR_BIN)\Scintilla.dll
LEXCOMPONENT=$(DIR_BIN)\SciLexer.dll

LDFLAGS=KERNEL32.lib USER32.lib GDI32.lib IMM32.lib OLE32.LIB
INCLUDEDIRS=-I ../include -I ../src
CXXFLAGS = /TP /W4
NAMEFLAG=-Fo

!IFDEF DEBUG
CXXFLAGS=$(CXXFLAGS) /Zi /Od /MDd
LDFLAGS=/DEBUG $(LDFLAGS)
!ELSE
CXXFLAGS=$(CXXFLAGS) /Ox /MD
!ENDIF

#.cxx.obj:
#	$(CC) $(INCLUDEDIRS) $(CXXFLAGS) -c $< /Fo$@

.rc.res:
	$(RC) $*.rc
	
ALL:	$(COMPONENT) $(LEXCOMPONENT) $(DIR_O)\ScintillaWinS.obj $(DIR_O)\WindowAccessor.obj

clean:
	del /q $(DIR_O)\*.obj $(DIR_O)\*.pdb $(COMPONENT) $(LEXCOMPONENT) $(DIR_O)\*.res $(DIR_BIN)\*.map

SOBJS=\
	$(DIR_O)\AutoComplete.obj \
	$(DIR_O)\CallTip.obj \
	$(DIR_O)\CellBuffer.obj \
	$(DIR_O)\ContractionState.obj \
	$(DIR_O)\Document.obj \
	$(DIR_O)\Editor.obj \
	$(DIR_O)\Indicator.obj \
	$(DIR_O)\KeyMap.obj \
	$(DIR_O)\LineMarker.obj \
	$(DIR_O)\PlatWin.obj \
	$(DIR_O)\ScintillaBase.obj \
	$(DIR_O)\ScintillaWin.obj \
	$(DIR_O)\Style.obj \
	$(DIR_O)\UniConversion.obj \
	$(DIR_O)\ViewStyle.obj

LEXOBJS=\
	$(DIR_O)\LexCPP.obj \
	$(DIR_O)\LexHTML.obj \
	$(DIR_O)\LexLua.obj \
	$(DIR_O)\LexOthers.obj \
	$(DIR_O)\LexPerl.obj \
	$(DIR_O)\LexPython.obj \
	$(DIR_O)\LexSQL.obj \
	$(DIR_O)\LexVB.obj

LOBJS=\
	$(DIR_O)\AutoComplete.obj \
	$(DIR_O)\CallTip.obj \
	$(DIR_O)\CellBuffer.obj \
	$(DIR_O)\ContractionState.obj \
	$(DIR_O)\Document.obj \
	$(DIR_O)\DocumentAccessor.obj \
	$(DIR_O)\Editor.obj \
	$(DIR_O)\Indicator.obj \
	$(DIR_O)\KeyMap.obj \
	$(DIR_O)\KeyWords.obj \
	$(DIR_O)\LineMarker.obj \
	$(DIR_O)\PlatWin.obj \
	$(DIR_O)\PropSet.obj \
	$(DIR_O)\ScintillaBaseL.obj \
	$(DIR_O)\ScintillaWinL.obj \
	$(DIR_O)\Style.obj \
	$(DIR_O)\UniConversion.obj \
	$(DIR_O)\ViewStyle.obj \
	$(LEXOBJS)
	
$(COMPONENT): $(SOBJS) $(DIR_O)\ScintRes.res
	$(LD) /DLL /opt:nowin98 /OUT:$@ $(SOBJS) $(DIR_O)\ScintRes.res $(LDFLAGS)
	
$(DIR_O)\ScintRes.res : ScintRes.rc
	$(RC) /fo$@ $(*B).rc

$(LEXCOMPONENT): $(LOBJS) $(DIR_O)\ScintRes.res
	$(LD) /DLL /opt:nowin98 /OUT:$@ $(LOBJS) $(DIR_O)\ScintRes.res $(LDFLAGS)
	
!include objs.mak