MSWSP: remove unused tree_item's
[wireshark-wip.git] / packaging / nsis / Makefile.nmake
blob64345dc755687d4fc7c6e38516dfc5d5f60db352
2 # $Id$
4 # NSIS is a free packager/installer/uninstaller program for Win32.
5 # It was originally written for the Winamp package, but various
6 # freeware and non-freeware packages are using it, too.
8 # http://www.nullsoft.com/free/nsis/
10 include ../../config.nmake
11 # Contains a list of custom plugins(default empty)
12 include Custom.nmake
15 STAGING_DIR=..\..\$(INSTALL_DIR)
17 EXE=../../tshark.exe ../../editcap.exe \
18 !IFDEF GTK_DIR
19         ../../wireshark.exe \
20 !ENDIF
21         ../../text2pcap.exe ../../mergecap.exe ../../capinfos.exe $(WIRESHARK_LIB_DIR)\WinPcap_$(PCAP_VERSION).exe
22 DLL=../../wiretap/wiretap-$(WTAP_VERSION).dll ../../wsutil/libwsutil.dll
23 DOC=../../doc/ws.css                            \
24         ../../doc/capinfos.html                 \
25         ../../doc/dumpcap.html                  \
26         ../../doc/editcap.html                  \
27         ../../doc/mergecap.html                 \
28         ../../doc/rawshark.html                 \
29         ../../doc/text2pcap.html                \
30         ../../doc/tshark.html                   \
31         ../../doc/wireshark-filter.html         \
32         ../../doc/wireshark.html                \
33         $(STAGING_DIR)/COPYING.txt      \
34         $(STAGING_DIR)/NEWS.txt         \
35         $(STAGING_DIR)/README.txt               \
36         $(STAGING_DIR)/README.windows.txt
38 GPL=../../COPYING
39 HELP=$(STAGING_DIR)/help/capture_filters.txt \
40         $(STAGING_DIR)/help/capturing.txt \
41         $(STAGING_DIR)/help/display_filters.txt \
42         $(STAGING_DIR)/help/faq.txt \
43         $(STAGING_DIR)/help/getting_started.txt \
44         $(STAGING_DIR)/help/overview.txt \
45         $(STAGING_DIR)/help/toc
47 PLUGINS= \
48         ../../plugins/asn1/asn1.dll \
49         ../../plugins/docsis/docsis.dll \
50         ../../plugins/ethercat/ethercat.dll \
51         ../../plugins/gryphon/gryphon.dll \
52         ../../plugins/irda/irda.dll \
53         ../../plugins/m2m/m2m.dll \
54         ../../plugins/mate/mate.dll \
55         ../../plugins/opcua/opcua.dll \
56         ../../plugins/profinet/profinet.dll \
57         ../../plugins/stats_tree/stats_tree.dll \
58         ../../plugins/unistim/unistim.dll \
59         ../../plugins/wimax/wimax.dll \
60         ../../plugins/wimaxasncp/wimaxasncp.dll \
61         ../../plugins/wimaxmacphy/wimaxmacphy.dll \
62         $(CUSTOM_PLUGINS)
64 NSI=\
65         wireshark.nsi \
66         uninstall.nsi \
67         common.nsh \
68         GetWindowsVersion.nsh \
69         servicelib.nsh \
70         AdditionalTasksPage.ini \
71         WinPcapPage.ini
73 UNINSTALL_INSTALLER = $(STAGING_DIR)\uninstall_installer.exe
75 DELIVERABLES=$(EXE) $(DLL) $(DOC) $(DOC_dos) $(GPL) $(HELP) $(PLUGINS)
77 !IFDEF MAKENSIS
78 all: wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe
79 !ELSE
80 all: _FORCE_
81         @echo ? NSIS not available (MAKENSIS not defined in config.nmake)
82         @echo.
83         @exit 1
84 !ENDIF
86 # fetch the latest available user-guide.chm version
87 user-guide.chm::
88         if exist ..\..\docbook\user-guide.chm xcopy ..\..\docbook\user-guide.chm . /Y /D
89         if exist $(WIRESHARK_LIB_DIR)\user-guide\user-guide.chm xcopy $(WIRESHARK_LIB_DIR)\user-guide\user-guide.chm . /Y /D
91 NSIS_FLAGS=\
92         /DPROGRAM_NAME=$(PROGRAM_NAME) \
93         /DMAKEDIR=$(MAKEDIR) \
94         /DSTAGING_DIR=$(STAGING_DIR) \
95         /DWIRESHARK_TARGET_PLATFORM=$(WIRESHARK_TARGET_PLATFORM) \
96         /DTARGET_MACHINE=$(TARGET_MACHINE) \
97         /DMSVC_VARIANT=$(MSVC_VARIANT) \
98         /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED) \
99         /DWIRESHARK_LIB_DIR=$(WIRESHARK_LIB_DIR) \
100         /DPCAP_VERSION=$(PCAP_VERSION) \
101         /DPCAP_DISPLAY_VERSION=$(PCAP_VERSION:_=.) \
102 !IFDEF MSVCR_DLL
103         /DMSVCR_DLL="$(MSVCR_DLL)" \
104 !ENDIF
105 !IFDEF VCREDIST_EXE
106         /DVCREDIST_EXE="$(VCREDIST_EXE)" \
107 !ENDIF
108 !IF "$(ENABLE_LIBWIRESHARK)" != ""
109         /DENABLE_LIBWIRESHARK=$(ENABLE_LIBWIRESHARK) \
110 !ENDIF
111 !IFDEF GTK_DIR
112         /DGTK_DIR=$(GTK_DIR) \
113         /DGTK_LIB_DIR=$(GTK_LIB_DIR) \
114         /DPANGO_LIB_DIR=$(PANGO_LIB_DIR) \
115         /DGDK_DLL=$(GDK_DLL) \
116         /DGTK_DLL=$(GTK_DLL) \
117         /DGTK_NAME=$(GTK_NAME) \
118         /DGTK_ETC_DIR=$(GTK_ETC_DIR) \
119 !IFDEF GTK_ENGINES_DIR
120         /DGTK_ENGINES_DIR=$(GTK_ENGINES_DIR) \
121 !ENDIF
122 !IFDEF GTK_MODULES_DIR
123         /DGTK_MODULES_DIR=$(GTK_MODULES_DIR) \
124 !ENDIF
125 !IFDEF GTK_SCHEMAS_DIR
126         /DGTK_SCHEMAS_DIR=$(GTK_SCHEMAS_DIR) \
127 !ENDIF
128 !IFDEF NEED_CAIRO_GOBJECT_DLL
129         /DNEED_CAIRO_GOBJECT_DLL=$(NEED_CAIRO_GOBJECT_DLL) \
130 !ENDIF
131 !IFDEF NEED_CAIRO_DLL
132         /DNEED_CAIRO_DLL=$(NEED_CAIRO_DLL) \
133 !ENDIF
134 !IFDEF NEED_EXPAT_DLL
135         /DNEED_EXPAT_DLL=$(NEED_EXPAT_DLL) \
136         /DEXPAT_DLL=$(EXPAT_DLL) \
137 !ENDIF
138 !IFDEF NEED_FFI_DLL
139         /DNEED_FFI_DLL=$(NEED_FFI_DLL) \
140         /DFFI_DLL=$(FFI_DLL) \
141 !ENDIF
142 !IFDEF NEED_FONTCONFIG_DLL
143         /DNEED_FONTCONFIG_DLL=$(NEED_FONTCONFIG_DLL) \
144         /DFONTCONFIG_DLL=$(FONTCONFIG_DLL) \
145 !ENDIF
146 !IFDEF NEED_FREETYPE_DLL
147         /DNEED_FREETYPE_DLL=$(NEED_FREETYPE_DLL) \
148         /DFREETYPE_DLL=$(FREETYPE_DLL) \
149 !ENDIF
150 !IFDEF NEED_JASPER_DLL
151         /DNEED_JASPER_DLL=$(NEED_JASPER_DLL) \
152         /DJASPER_DLL=$(JASPER_DLL) \
153 !ENDIF
154 !IFDEF NEED_JPEG_DLL
155         /DNEED_JPEG_DLL=$(NEED_JPEG_DLL) \
156         /DJPEG_DLL=$(JPEG_DLL) \
157 !ENDIF
158 !IFDEF NEED_LZMA_DLL
159         /DNEED_LZMA_DLL=$(NEED_LZMA_DLL) \
160         /DLZMA_DLL=$(LZMA_DLL) \
161 !ENDIF
162 !IFDEF NEED_PIXMAN_DLL
163         /DNEED_PIXMAN_DLL=$(NEED_PIXMAN_DLL) \
164         /DPIXMAN_DLL=$(PIXMAN_DLL) \
165 !ENDIF
166 !IFDEF NEED_PNG_DLL
167         /DNEED_PNG_DLL=$(NEED_PNG_DLL) \
168         /DPNG_DLL=$(PNG_DLL) \
169 !ENDIF
170 !IFDEF NEED_TIFF_DLL
171         /DNEED_TIFF_DLL=$(NEED_TIFF_DLL) \
172         /DTIFF_DLL=$(TIFF_DLL) \
173 !ENDIF
174 !IFDEF NEED_XML_DLL
175         /DNEED_XML_DLL=$(NEED_XML_DLL) \
176         /DXML_DLL=$(XML_DLL) \
177 !ENDIF
178 !ENDIF
179         /DINTL_DLL=$(INTL_DLL) \
180         /DVERSION=$(VERSION) \
181         /DVERSION_MAJOR=$(VERSION_MAJOR) \
182         /DVERSION_MINOR=$(VERSION_MINOR) \
183         /DVERSION_MICRO=$(VERSION_MICRO) \
184         /DVERSION_BUILD=$(VERSION_BUILD) \
185         /DPRODUCT_VERSION=$(PRODUCT_VERSION) \
186         /DWTAP_VERSION=$(WTAP_VERSION) \
187 !IF "$(C_ARES_DIR)" != ""
188         /DC_ARES_DIR=$(C_ARES_DIR) \
189 !ENDIF
190 !IF "$(ADNS_DIR)" != ""
191         /DADNS_DIR=$(ADNS_DIR) \
192 !ENDIF
193 !IF "$(KFW_DIR)" != ""
194         /DKFW_DIR=$(KFW_DIR) \
195         /DKFW_PATH=$(KFW_PATH) \
196 !ENDIF
197 !IF "$(GNUTLS_DIR)" != ""
198         /DGNUTLS_DIR=$(GNUTLS_DIR) \
199 !ENDIF
200 !IF "$(ZLIB_DIR)" != ""
201         /DZLIB_DIR=$(ZLIB_DIR) \
202 !ENDIF
203 !IFDEF LUA_DIR
204         /DLUA_DIR=$(LUA_DIR) \
205 !ENDIF
206 !IFDEF SMI_DIR
207         /DSMI_DIR=$(SMI_DIR) \
208 !ENDIF
209 !IFDEF GEOIP_DIR
210         /DGEOIP_DIR=$(GEOIP_DIR) \
211 !ENDIF
212 !IFDEF WINSPARKLE_DIR
213         /DWINSPARKLE_DIR=$(WINSPARKLE_DIR) \
214 !ENDIF
215 !IFDEF HHC_DIR
216         /DHHC_DIR="$(HHC_DIR)" \
217 !ENDIF
218 !IF EXIST("..\..\wireshark-qt-release\qtshark.exe")
219         /DQT_DIR="..\..\wireshark-qt-release" \
220 !ENDIF
221 !IF EXIST("..\..\wireshark-qt-release\Qt5Core.dll")
222         /DNEED_QT5_DLL=USE \
223 !ENDIF
224 !IF EXIST("..\..\wireshark-qt-release\QtCore4.dll")
225         /DNEED_QT4_DLL=USE \
226 !ENDIF
228 $(STAGING_DIR)\uninstall.exe : $(NSI)
229         rm -f $(UNINSTALL_INSTALLER)
230         $(MAKENSIS) $(NSIS_FLAGS) uninstall.nsi
231         $(UNINSTALL_INSTALLER)
232         rm -f $(UNINSTALL_INSTALLER)
234 uninstall-exe : $(STAGING_DIR)\uninstall.exe
236 wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe : user-guide.chm $(NSI) $(DELIVERABLES) Makefile.nmake $(STAGING_DIR)\uninstall.exe
237         $(MAKENSIS) $(NSIS_FLAGS) wireshark.nsi
239 clean:
240         rm -f wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe
241         rm -f $(UNINSTALL_INSTALLER)
242         rm -f NEWS.txt
243         rm -f user-guide.chm
245 distclean: clean
246         rm -f wireshark-$(WIRESHARK_TARGET_PLATFORM)-*.exe
248 maintainer-clean: distclean
250 $(DOC):
251         cd ../../doc
252         $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
253         cd ../packaging/nsis
255 $(EXE) $(DLL):
256         cd ../..
257         $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
258         cd packaging/nsis
260 ####
261 _FORCE_:  ## Assumption: no file named _FORCE_ exists in the current directory