ethereal.nsi -> wireshark.nsi
[obnox/wireshark/wip.git] / packaging / nsis / Makefile.nmake
1 #
2 # $Id$
3 #
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.
7 #
8 # http://www.nullsoft.com/free/nsis/
9
10 include ../../config.nmake
11
12 UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
13
14 !IFDEF GTK1_ONLY
15 # define installer name and undefine GTK2_DIR to get a separate 
16 # installer for Wireshark GTK1 version
17 DEST=wireshark-gtk1
18 !IFDEF GTK2_DIR
19 !UNDEF GTK2_DIR
20 !ENDIF
21 !ENDIF
22
23
24 !IFDEF GTK2_ONLY
25 # define installer name and undefine GTK1_DIR to get a separate 
26 # installer for Wireshark GTK2 version
27 DEST=wireshark-gtk2
28 !IFDEF GTK1_DIR
29 !UNDEF GTK1_DIR
30 !ENDIF
31 !ENDIF
32
33 !IFNDEF DEST
34 # define installer name for combined GTK1 and GTK2 installer package
35 DEST=wireshark
36 !ENDIF
37
38 EXE=../../tethereal.exe ../../editcap.exe \
39 !IFDEF GTK1_DIR
40         ../../ethereal.exe \
41 !ENDIF
42 !IFDEF GTK2_DIR
43         ../../ethereal-gtk2.exe \
44 !ENDIF
45         ../../text2pcap.exe ../../mergecap.exe ../../capinfos.exe WinPcap_3_1.exe
46 DLL=../../wiretap/wiretap-$(WTAP_VERSION).dll
47 DOC=../../doc/ethereal.html             \
48         ../../doc/tethereal.html        \
49         ../../doc/ethereal-filter.html  \
50         ../../doc/editcap.html          \
51         ../../doc/text2pcap.html        \
52         ../../doc/mergecap.html         \
53         ../../doc/capinfos.html         \
54         ../../FAQ                       \
55         ../../README                    \
56         ../../README.win32
57 DOC_dos=NEWS.txt
58 GPL=../../COPYING
59 HELP=../../help/toc \
60         ../../help/overview.txt \
61         ../../help/capture_filters.txt \
62         ../../help/display_filters.txt \
63         ../../help/faq.txt
64
65 PLUGINS=../../plugins/acn/acn.dll \
66         ../../plugins/agentx/agentx.dll \
67         ../../plugins/artnet/artnet.dll \
68         ../../plugins/asn1/asn1.dll \
69         ../../plugins/ciscosm/ciscosm.dll \
70         ../../plugins/docsis/docsis.dll \
71         ../../plugins/enttec/enttec.dll \
72         ../../plugins/giop/coseventcomm.dll \
73         ../../plugins/giop/cosnaming.dll \
74         ../../plugins/giop/parlay.dll \
75         ../../plugins/giop/tango.dll \
76         ../../plugins/gryphon/gryphon.dll \
77         ../../plugins/h223/h223.dll \
78         ../../plugins/irda/irda.dll \
79 !IFDEF LUA_DIR
80     ../../plugins/lua/lua.dll \
81 !ENDIF
82         ../../plugins/lwres/lwres.dll \
83         ../../plugins/mate/mate.dll \
84         ../../plugins/megaco/megaco.dll \
85         ../../plugins/mgcp/mgcp.dll \
86         ../../plugins/opsi/opsi.dll \
87         ../../plugins/pcli/pcli.dll \
88         ../../plugins/rdm/rdm.dll \
89         ../../plugins/rlm/rlm.dll \
90         ../../plugins/rtnet/rtnet.dll \
91         ../../plugins/rudp/rudp.dll \
92         ../../plugins/stats_tree/stats_tree.dll \
93         ../../plugins/v5ua/v5ua.dll
94
95 NSI=wireshark.nsi \
96         GetWindowsVersion.nsh \
97         servicelib.nsh \
98         AdditionalTasksPage.ini \
99         WinPcapPage.ini
100
101 DELIVERABLES=$(EXE) $(DLL) $(DOC) $(DOC_dos) $(GPL) $(HELP) $(PLUGINS)
102
103 all: NEWS.txt $(DEST)-setup-$(VERSION).exe
104
105 NEWS.txt: ../../NEWS
106         $(UNIX2DOS) < ../../NEWS > NEWS.txt
107
108 $(DEST)-setup-$(VERSION).exe : $(NSI) $(DELIVERABLES) Makefile.nmake
109         $(MAKENSIS) \
110         /DDEST=$(DEST) \
111 !IF "$(MAKENSIS_MODERN_UI)" != ""
112         /DMAKENSIS_MODERN_UI=$(MAKENSIS_MODERN_UI) \
113 !ENDIF
114 !IF "$(ENABLE_LIBETHEREAL)" != ""
115         /DENABLE_LIBETHEREAL=$(ENABLE_LIBETHEREAL) \
116 !ENDIF
117 !IFDEF GTK1_DIR
118         /DGTK1_DIR=$(GTK1_DIR) \
119 !ENDIF
120 !IFDEF GTK2_DIR
121         /DGTK2_DIR=$(GTK2_DIR) \
122         /DGTK2_LIB_DIR=$(GTK2_LIB_DIR) \
123         /DPANGO_LIB_DIR=$(PANGO_LIB_DIR) \
124 !IFDEF NEED_LIBPNG_DLL
125         /DNEED_LIBPNG_DLL=$(NEED_LIBPNG_DLL) \
126 !ENDIF
127 !IFDEF NEED_CAIRO_DLL
128         /DNEED_CAIRO_DLL=$(NEED_CAIRO_DLL) \
129 !ENDIF
130 !ENDIF  
131 !IFDEF GTK_WIMP_DIR
132         /DGTK_WIMP_DIR=$(GTK_WIMP_DIR) \
133         /DGTK_THEME_DIR=$(GTK_THEME_DIR) \
134 !ENDIF  
135         /DGLIB_DIR=$(GLIB_DIR) \
136         /DICONV_DIR=$(ICONV_DIR) \
137         /DGETTEXT_DIR=$(GETTEXT_DIR) \
138         /DVERSION=$(VERSION) \
139         /DWTAP_VERSION=$(WTAP_VERSION) \
140         /DNET_SNMP_DIR=$(NET_SNMP_DIR) \
141 !IF "$(ADNS_DIR)" != ""
142         /DADNS_DIR=$(ADNS_DIR) \
143 !ENDIF
144 !IF "$(PCRE_DIR)" != ""
145         /DPCRE_DIR=$(PCRE_DIR) \
146 !ENDIF
147 !IF "$(ZLIB_DIR)" != ""
148         /DZLIB_DIR=$(ZLIB_DIR) \
149 !ENDIF
150 !IFDEF LUA_DIR
151         /DLUA_DIR=$(LUA_DIR) \
152 !ENDIF
153 !IFDEF HHC_DIR
154         /DHHC_DIR=$(HHC_DIR) \
155 !ENDIF
156         wireshark.nsi
157
158 clean:
159         rm -f wireshark-setup-$(VERSION).exe
160         rm -f wireshark-gtk1-setup-$(VERSION).exe
161         rm -f wireshark-gtk2-setup-$(VERSION).exe
162         rm -f NEWS.txt
163
164 distclean: clean
165
166 maintainer-clean: distclean
167
168 $(DOC):
169         cd ../../doc
170         $(MAKE) -f makefile.nmake
171         cd ../packaging/nsis
172
173 $(EXE) $(DLL):
174         cd ../..
175         $(MAKE) -f makefile.nmake
176         cd packaging/nsis