1 #*******************************************************************************
2 # Copyright (c) 2000, 2018 IBM Corporation and others.
4 # This program and the accompanying materials
5 # are made available under the terms of the Eclipse Public License 2.0
6 # which accompanies this distribution, and is available at
7 # https://www.eclipse.org/legal/epl-2.0/
9 # SPDX-License-Identifier: EPL-2.0
12 # IBM Corporation - initial API and implementation
13 #*******************************************************************************
15 # Makefile for SWT libraries on Windows
17 # assumes these variables are set in the environment from which nmake is run
21 !include <make_common.mak>
25 SWT_VERSION = $(maj_ver)$(min_ver)r$(rev)
26 SWT_LIB = $(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
27 SWT_LIBS = comctl32.lib shell32.lib imm32.lib oleacc.lib usp10.lib \
28 wininet.lib Crypt32.lib Shlwapi.lib Uxtheme.lib Propsys.lib Urlmon.lib \
30 SWT_OBJS = swt.obj callback.obj c.obj c_stats.obj \
31 os.obj os_structs.obj os_custom.obj os_stats.obj \
32 com_structs.obj com.obj com_stats.obj com_custom.obj
34 GDIP_PREFIX = swt-gdip
35 GDIP_LIB = $(GDIP_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
36 GDIP_LIBS = gdiplus.lib
37 GDIP_OBJS = gdip.obj gdip_structs.obj gdip_stats.obj gdip_custom.obj
40 AWT_LIB = $(AWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
41 AWT_LIBS = "$(SWT_JAVA_HOME)\lib\jawt.lib"
42 AWT_OBJS = swt_awt.obj
44 WEBKIT_PREFIX = swt-webkit
45 WEBKIT_LIB = $(WEBKIT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
46 WEBKIT_LIBS = $(WEBKIT_DIR)\lib\webkit.lib $(WEBKIT_SUPPORT_DIR)\win\lib\CFNetwork.lib $(WEBKIT_SUPPORT_DIR)\win\lib\CoreFoundation.lib
47 WEBKIT_OBJS = webkit_win32.obj webkit_win32_stats.obj webkit_win32_custom.obj webkit_win32_structs.obj
50 WGL_LIB = $(WGL_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
51 WGL_LIBS = opengl32.lib
52 WGL_OBJS = wgl.obj wgl_structs.obj wgl_stats.obj
54 # Uncomment for Native Stats tool
55 #NATIVE_STATS = -DNATIVE_STATS
57 WEBKITCFLAGS = -c -O1\
58 -DSWT_VERSION=$(SWT_VERSION) \
60 -I"$(SWT_JAVA_HOME)\include" -I"$(SWT_JAVA_HOME)\include\win32" \
62 -I"$(WEBKIT_DIR)\WebKit\win" \
63 -I"$(WEBKIT_DIR)\JavaScriptCore\ForwardingHeaders" \
64 -I"$(WEBKIT_SUPPORT_DIR)\win\include"
66 #CFLAGS = $(cdebug) $(cflags) $(cvarsmt) $(CFLAGS) \
67 CFLAGS = -O1 -DNDEBUG -DUNICODE -D_UNICODE /c $(cflags) $(cvarsmt) $(CFLAGS) \
68 -DSWT_VERSION=$(maj_ver)$(min_ver) -DSWT_REVISION=$(rev) $(NATIVE_STATS) -DUSE_ASSEMBLER \
69 /I"$(SWT_JAVA_HOME)\include" /I"$(SWT_JAVA_HOME)\include\win32" /I.
70 RCFLAGS = $(rcflags) $(rcvars) $(RCFLAGS) -DSWT_FILE_VERSION=\"$(maj_ver).$(min_ver).$(rev).0\" -DSWT_COMMA_VERSION=$(comma_ver)
71 ldebug = /RELEASE /INCREMENTAL:NO /NOLOGO
73 guilibsmt = kernel32.lib ws2_32.lib mswsock.lib advapi32.lib bufferoverflowu.lib user32.lib gdi32.lib comdlg32.lib winspool.lib
74 olelibsmt = ole32.lib uuid.lib oleaut32.lib $(guilibsmt)
76 all: make_swt make_awt make_gdip make_wgl
78 webkit_win32_custom.obj: webkit_win32_custom.cpp
79 cl $(WEBKITCFLAGS) webkit_win32_custom.cpp
80 webkit_win32_stats.obj: webkit_win32_stats.cpp
81 cl $(WEBKITCFLAGS) webkit_win32_stats.cpp
82 webkit_win32_structs.obj: webkit_win32_structs.cpp
83 cl $(WEBKITCFLAGS) webkit_win32_structs.cpp
84 webkit_win32.obj: webkit_win32.cpp
85 cl $(WEBKITCFLAGS) webkit_win32.cpp
93 make_swt: $(SWT_OBJS) swt.res
94 echo $(ldebug) $(dlllflags) $(olelibsmt) >templrf
95 echo $(SWT_LIBS) >>templrf
96 echo $(SWT_OBJS) >>templrf
97 echo swt.res >>templrf
98 echo -out:$(SWT_LIB) >>templrf
102 make_gdip: $(GDIP_OBJS) swt_gdip.res
103 echo $(ldebug) $(dlllflags) $(guilibsmt) >templrf
104 echo $(GDIP_LIBS) >>templrf
105 echo $(GDIP_OBJS) >>templrf
106 echo swt_gdip.res >>templrf
107 echo -out:$(GDIP_LIB) >>templrf
111 make_awt: $(AWT_OBJS) swt_awt.res
112 echo $(ldebug) $(dlllflags) $(guilibsmt) >templrf
113 echo $(AWT_LIBS) >>templrf
114 echo $(AWT_OBJS) >>templrf
115 echo swt_awt.res >>templrf
116 echo -out:$(AWT_LIB) >>templrf
120 make_webkit: $(WEBKIT_OBJS) swt_webkit.res
121 echo $(ldebug) $(dlllflags) >templrf
122 echo $(WEBKIT_LIBS) >>templrf
123 echo $(WEBKIT_OBJS) >>templrf
124 echo swt_webkit.res >>templrf
125 echo -out:$(WEBKIT_LIB) >>templrf
129 make_wgl: $(WGL_OBJS) swt_wgl.res
130 echo $(ldebug) $(dlllflags) $(guilibsmt) >templrf
131 echo $(WGL_LIBS) >>templrf
132 echo $(WGL_OBJS) >>templrf
133 echo swt_wgl.res >>templrf
134 echo -out:$(WGL_LIB) >>templrf
139 rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(SWT_LIB)\" -r -fo swt.res swt.rc
142 rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(GDIP_LIB)\" -r -fo swt_gdip.res swt_gdip.rc
145 rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(AWT_LIB)\" -r -fo swt_awt.res swt_awt.rc
148 rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(WEBKIT_LIB)\" -r -fo swt_webkit.res swt_webkit.rc
151 rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(WGL_LIB)\" -r -fo swt_wgl.res swt_wgl.rc
154 copy *.dll "$(OUTPUT_DIR)"
157 del *.obj *.res *.dll *.lib *.exp