# http://www.nullsoft.com/free/nsis/
include ../../config.nmake
+# Contains a list of custom plugins(default empty)
+include Custom.nmake
-UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
-
-!IFDEF GTK1_ONLY
-# define installer name and undefine GTK2_DIR to get a separate
-# installer for Wireshark GTK1 version
-DEST=wireshark-gtk1
-!IFDEF GTK2_DIR
-!UNDEF GTK2_DIR
-!ENDIF
-!ENDIF
-
-
-!IFDEF GTK2_ONLY
-# define installer name and undefine GTK1_DIR to get a separate
-# installer for Wireshark GTK2 version
-DEST=wireshark-gtk2
-!IFDEF GTK1_DIR
-!UNDEF GTK1_DIR
-!ENDIF
-!ENDIF
-
-!IFNDEF DEST
-# define installer name for combined GTK1 and GTK2 installer package
-DEST=wireshark
-!ENDIF
EXE=../../tshark.exe ../../editcap.exe \
-!IFDEF GTK1_DIR
+!IFDEF GTK_DIR
../../wireshark.exe \
!ENDIF
-!IFDEF GTK2_DIR
- ../../wireshark-gtk2.exe \
-!ENDIF
- ../../text2pcap.exe ../../mergecap.exe ../../capinfos.exe WinPcap_3_1.exe
-DLL=../../wiretap/wiretap-$(WTAP_VERSION).dll
-DOC=../../doc/wireshark.html \
- ../../doc/tshark.html \
- ../../doc/wireshark-filter.html \
- ../../doc/editcap.html \
- ../../doc/text2pcap.html \
- ../../doc/mergecap.html \
- ../../doc/capinfos.html \
- ../../FAQ \
- ../../README \
- ../../README.win32
-DOC_dos=NEWS.txt
+ ../../text2pcap.exe ../../mergecap.exe ../../capinfos.exe WinPcap_4_1_1.exe
+DLL=../../wiretap/wiretap-$(WTAP_VERSION).dll ../../wsutil/libwsutil.dll
+DOC=../../doc/ws.css \
+ ../../doc/capinfos.html \
+ ../../doc/dumpcap.html \
+ ../../doc/editcap.html \
+ ../../doc/idl2wrs.html \
+ ../../doc/mergecap.html \
+ ../../doc/rawshark.html \
+ ../../doc/text2pcap.html \
+ ../../doc/rawshark.html \
+ ../../doc/tshark.html \
+ ../../doc/wireshark-filter.html \
+ ../../doc/wireshark.html \
+ ../../$(INSTALL_DIR)/COPYING.txt \
+ ../../$(INSTALL_DIR)/NEWS.txt \
+ ../../$(INSTALL_DIR)/README.txt \
+ ../../$(INSTALL_DIR)/README.windows.txt
+
GPL=../../COPYING
-HELP=../../help/toc \
- ../../help/overview.txt \
- ../../help/capture_filters.txt \
- ../../help/display_filters.txt \
- ../../help/faq.txt
+HELP=../../$(INSTALL_DIR)/help/capture_filters.txt \
+ ../../$(INSTALL_DIR)/help/capturing.txt \
+ ../../$(INSTALL_DIR)/help/display_filters.txt \
+ ../../$(INSTALL_DIR)/help/faq.txt \
+ ../../$(INSTALL_DIR)/help/getting_started.txt \
+ ../../$(INSTALL_DIR)/help/overview.txt \
+ ../../$(INSTALL_DIR)/help/toc
PLUGINS= \
- ../../plugins/agentx/agentx.dll \
- ../../plugins/artnet/artnet.dll \
../../plugins/asn1/asn1.dll \
- ../../plugins/ciscosm/ciscosm.dll \
../../plugins/docsis/docsis.dll \
- ../../plugins/enttec/enttec.dll \
+ ../../plugins/ethercat/ethercat.dll \
../../plugins/giop/coseventcomm.dll \
../../plugins/giop/cosnaming.dll \
../../plugins/giop/parlay.dll \
../../plugins/giop/tango.dll \
../../plugins/gryphon/gryphon.dll \
- ../../plugins/h223/h223.dll \
+ ../../plugins/interlink/interlink.dll \
../../plugins/irda/irda.dll \
- ../../plugins/lwres/lwres.dll \
+ ../../plugins/llrp/llrp.dll \
+ ../../plugins/m2m/m2m.dll \
../../plugins/mate/mate.dll \
- ../../plugins/megaco/megaco.dll \
- ../../plugins/mgcp/mgcp.dll \
- ../../plugins/opsi/opsi.dll \
- ../../plugins/pcli/pcli.dll \
- ../../plugins/rlm/rlm.dll \
- ../../plugins/rtnet/rtnet.dll \
- ../../plugins/rudp/rudp.dll \
- ../../plugins/sbus/sbus.dll \
+ ../../plugins/opcua/opcua.dll \
+ ../../plugins/profinet/profinet.dll \
+ ../../plugins/sercosiii/sercosiii.dll \
../../plugins/stats_tree/stats_tree.dll \
- ../../plugins/v5ua/v5ua.dll
+ ../../plugins/unistim/unistim.dll \
+ ../../plugins/wimax/wimax.dll \
+ ../../plugins/wimaxasncp/wimaxasncp.dll \
+ $(CUSTOM_PLUGINS)
NSI=wireshark.nsi \
GetWindowsVersion.nsh \
DELIVERABLES=$(EXE) $(DLL) $(DOC) $(DOC_dos) $(GPL) $(HELP) $(PLUGINS)
-all: NEWS.txt $(DEST)-setup-$(VERSION).exe
+!IFDEF MAKENSIS
+all: wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe
+!ELSE
+all: _FORCE_
+ @echo ? NSIS not available (MAKENSIS not defined in config.nmake)
+ @echo.
+ @exit 1
+!ENDIF
-NEWS.txt: ../../NEWS
- $(UNIX2DOS) < ../../NEWS > NEWS.txt
+# fetch the latest available user-guide.chm version
+user-guide.chm::
+ if exist ..\..\docbook\user-guide.chm xcopy ..\..\docbook\user-guide.chm . /Y /D
+ if exist $(WIRESHARK_LIBS)\user-guide\user-guide.chm xcopy $(WIRESHARK_LIBS)\user-guide\user-guide.chm . /Y /D
-$(DEST)-setup-$(VERSION).exe : $(NSI) $(DELIVERABLES) Makefile.nmake
+wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe : user-guide.chm $(NSI) $(DELIVERABLES) Makefile.nmake
$(MAKENSIS) \
- /DDEST=$(DEST) \
+ /DWIRESHARK_TARGET_PLATFORM=$(WIRESHARK_TARGET_PLATFORM) \
/DMSVC_VARIANT=$(MSVC_VARIANT) \
+ /DWIRESHARK_LIBS=$(WIRESHARK_LIBS) \
!IFDEF MSVCR_DLL
/DMSVCR_DLL="$(MSVCR_DLL)" \
!ENDIF
!IF "$(ENABLE_LIBWIRESHARK)" != ""
/DENABLE_LIBWIRESHARK=$(ENABLE_LIBWIRESHARK) \
!ENDIF
-!IFDEF GTK1_DIR
- /DGTK1_DIR=$(GTK1_DIR) \
-!ENDIF
-!IFDEF GTK2_DIR
- /DGTK2_DIR=$(GTK2_DIR) \
- /DGTK2_LIB_DIR=$(GTK2_LIB_DIR) \
+!IFDEF GTK_DIR
+ /DGTK_DIR=$(GTK_DIR) \
+ /DGTK_LIB_DIR=$(GTK_LIB_DIR) \
/DPANGO_LIB_DIR=$(PANGO_LIB_DIR) \
!IFDEF NEED_LIBPNG_DLL
/DNEED_LIBPNG_DLL=$(NEED_LIBPNG_DLL) \
+ /DPNG_DLL=$(PNG_DLL) \
+!ENDIF
+!IFDEF NEED_LIBJPEG_DLL
+ /DNEED_LIBJPEG_DLL=$(NEED_LIBJPEG_DLL) \
+ /DJPEG_DLL=$(JPEG_DLL) \
+!ENDIF
+!IFDEF NEED_LIBTIFF_DLL
+ /DNEED_LIBTIFF_DLL=$(NEED_LIBTIFF_DLL) \
+ /DTIFF_DLL=$(TIFF_DLL) \
+!ENDIF
+!IFDEF NEED_FREETYPE_DLL
+ /DNEED_FREETYPE_DLL=$(NEED_FREETYPE_DLL) \
+ /DFREETYPE_DLL=$(FREETYPE_DLL) \
+!ENDIF
+!IFDEF NEED_FONTCONFIG_DLL
+ /DNEED_FONTCONFIG_DLL=$(NEED_FONTCONFIG_DLL) \
+ /DFONTCONFIG_DLL=$(FONTCONFIG_DLL) \
+!ENDIF
+!IFDEF NEED_EXPAT_DLL
+ /DNEED_EXPAT_DLL=$(NEED_EXPAT_DLL) \
+ /DEXPAT_DLL=$(EXPAT_DLL) \
!ENDIF
!IFDEF NEED_CAIRO_DLL
/DNEED_CAIRO_DLL=$(NEED_CAIRO_DLL) \
!ENDIF
-!ENDIF
-!IFDEF GTK_WIMP_DIR
- /DGTK_WIMP_DIR=$(GTK_WIMP_DIR) \
+!ENDIF
/DGTK_WIMP_DLLDST_DIR=$(GTK_WIMP_DLLDST_DIR) \
/DGTK_WIMP_DLLSRC_DIR=$(GTK_WIMP_DLLSRC_DIR) \
/DGTK_WIMP_RCDST_DIR=$(GTK_WIMP_RCDST_DIR) \
/DGTK_WIMP_RCSRC_DIR=$(GTK_WIMP_RCSRC_DIR) \
-!ENDIF
- /DGLIB_DIR=$(GLIB_DIR) \
- /DICONV_DIR=$(ICONV_DIR) \
- /DGETTEXT_DIR=$(GETTEXT_DIR) \
+ /DINTL_DLL=$(INTL_DLL) \
/DVERSION=$(VERSION) \
/DWTAP_VERSION=$(WTAP_VERSION) \
-!IF "$(NET_SNMP_DIR)" != ""
- /DNET_SNMP_DIR=$(NET_SNMP_DIR) \
+!IF "$(C_ARES_DIR)" != ""
+ /DC_ARES_DIR=$(C_ARES_DIR) \
!ENDIF
!IF "$(ADNS_DIR)" != ""
/DADNS_DIR=$(ADNS_DIR) \
!ENDIF
!IF "$(KFW_DIR)" != ""
/DKFW_DIR=$(KFW_DIR) \
+ /DKFW_PATH=$(KFW_PATH) \
!ENDIF
!IF "$(GNUTLS_DIR)" != ""
/DGNUTLS_DIR=$(GNUTLS_DIR) \
!IFDEF LUA_DIR
/DLUA_DIR=$(LUA_DIR) \
!ENDIF
+!IFDEF SMI_DIR
+ /DSMI_DIR=$(SMI_DIR) \
+!ENDIF
!IFDEF HHC_DIR
- /DHHC_DIR=$(HHC_DIR) \
+ /DHHC_DIR="$(HHC_DIR)" \
!ENDIF
wireshark.nsi
clean:
- rm -f wireshark-setup-$(VERSION).exe
- rm -f wireshark-gtk1-setup-$(VERSION).exe
- rm -f wireshark-gtk2-setup-$(VERSION).exe
+ rm -f wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe
rm -f NEWS.txt
+ rm -f user-guide.chm
distclean: clean
- rm -f wireshark-setup-*.exe
- rm -f wireshark-gtk1-setup-*.exe
- rm -f wireshark-gtk2-setup-*.exe
+ rm -f wireshark-$(WIRESHARK_TARGET_PLATFORM)-*.exe
maintainer-clean: distclean
cd ../..
$(MAKE) /$(MAKEFLAGS) -f makefile.nmake
cd packaging/nsis
+
+####
+_FORCE_: ## Assumption: no file named _FORCE_ exists in the current directory
+