Move most of the plugin code from epan to wsutil and remove all
[metze/wireshark/wip.git] / Makefile.am
1 # Makefile.am
2 # Automake file for Wireshark
3 #
4 # $Id$
5 #
6 # Wireshark - Network traffic analyzer
7 # By Gerald Combs <gerald@wireshark.org>
8 # Copyright 1998 Gerald Combs
9 #
10 # This program is free software; you can redistribute it and/or
11 # modify it under the terms of the GNU General Public License
12 # as published by the Free Software Foundation; either version 2
13 # of the License, or (at your option) any later version.
14 #
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23
24 AM_DISTCHECK_CONFIGURE_FLAGS=@GUI_CONFIGURE_FLAGS@
25 ACLOCAL_AMFLAGS = `./aclocal-flags`
26
27 if HAVE_LIBPY
28 py_dissectors_dir = -DPYTHON_DIR=\"@pythondir@\"
29 else
30 py_dissectors_dir = -DPYTHON_DIR=
31 endif
32
33
34 if HAVE_WARNINGS_AS_ERRORS
35 AM_CLEAN_CFLAGS = -Werror
36 endif
37
38 bin_PROGRAMS = \
39         @wireshark_bin@         \
40         @tshark_bin@            \
41         @text2pcap_bin@         \
42         @mergecap_bin@          \
43         @capinfos_bin@          \
44         @editcap_bin@           \
45         @randpkt_bin@           \
46         @dftest_bin@            \
47         @dumpcap_bin@           \
48         @reordercap_bin@        \
49         @rawshark_bin@          \
50         @echld_test_bin@
51
52 EXTRA_PROGRAMS = wireshark wireshark-qt tshark capinfos editcap mergecap \
53         dftest randpkt text2pcap dumpcap reordercap rawshark wireshark_cxx \
54         echld_test
55
56 #
57 # Wireshark configuration files are put in $(pkgdatadir).
58 #
59 dist_pkgdata_DATA = COPYING manuf services cfilters colorfilters dfilters \
60         smi_modules ipmap.html pdml2html.xsl
61
62 #
63 # Install global profiles in the "profiles" subdirectory
64 #
65 profilesdir = $(pkgdatadir)
66 nobase_dist_profiles_DATA = \
67         profiles/Bluetooth/colorfilters \
68         profiles/Classic/colorfilters
69
70 #
71 # Install the Diameter DTD and XML files in the "diameter" subdirectory
72 # of that directory.
73 #
74 diameterdir = $(pkgdatadir)/diameter
75 include diameter/Custom.make
76 dist_diameter_DATA = $(_CUSTOM_diameter_xml_files_) \
77         diameter/chargecontrol.xml \
78         diameter/ChinaTelecom.xml \
79         diameter/Cisco.xml \
80         diameter/Custom.xml \
81         diameter/dictionary.dtd \
82         diameter/dictionary.xml \
83         diameter/eap.xml \
84         diameter/Ericsson.xml \
85         diameter/etsie2e4.xml \
86         diameter/gqpolicy.xml \
87         diameter/imscxdx.xml \
88         diameter/mobileipv4.xml \
89         diameter/mobileipv6.xml \
90         diameter/nasreq.xml \
91         diameter/sip.xml \
92         diameter/sunping.xml \
93         diameter/TGPPGmb.xml \
94         diameter/TGPPRx.xml \
95         diameter/TGPPS9.xml \
96         diameter/TGPPSh.xml \
97         diameter/Vodafone.xml \
98         diameter/AlcatelLucent.xml \
99         diameter/Nokia.xml \
100         diameter/NokiaSiemensNetworks.xml \
101         diameter/SKT.xml \
102         diameter/VerizonWireless.xml
103
104 #
105 # Install the DTDs directory files in the "dtds" subdirectory
106 # of that directory
107 #
108 dtdsdir = $(pkgdatadir)/dtds
109 dist_dtds_DATA = \
110         dtds/dc.dtd \
111         dtds/itunes.dtd \
112         dtds/mscml.dtd \
113         dtds/pocsettings.dtd \
114         dtds/presence.dtd \
115         dtds/reginfo.dtd \
116         dtds/rlmi.dtd \
117         dtds/rss.dtd \
118         dtds/smil.dtd \
119         dtds/xcap-caps.dtd \
120         dtds/xcap-error.dtd \
121         dtds/watcherinfo.dtd
122
123 #
124 # Install the RADIUS directory files in the "radius" subdirectory
125 # of that directory.
126 #
127 radiusdir = $(pkgdatadir)/radius
128 include radius/Custom.make
129 dist_radius_DATA = $(_CUSTOM_radius_dict_) \
130         radius/README.radius_dictionary  \
131         radius/custom.includes  \
132         radius/dictionary  \
133         radius/dictionary.3com  \
134         radius/dictionary.3gpp  \
135         radius/dictionary.3gpp2  \
136         radius/dictionary.acc  \
137         radius/dictionary.acme \
138         radius/dictionary.airespace \
139         radius/dictionary.alcatel  \
140         radius/dictionary.alcatel.esam \
141         radius/dictionary.alcatel.sr \
142         radius/dictionary.alcatel-lucent.aaa \
143         radius/dictionary.alcatel-lucent.xylan \
144         radius/dictionary.alteon  \
145         radius/dictionary.altiga  \
146         radius/dictionary.alvarion \
147         radius/dictionary.apc \
148         radius/dictionary.aptis  \
149         radius/dictionary.aruba  \
150         radius/dictionary.ascend  \
151         radius/dictionary.asn \
152         radius/dictionary.audiocodes \
153         radius/dictionary.avaya \
154         radius/dictionary.azaire \
155         radius/dictionary.bay  \
156         radius/dictionary.bintec  \
157         radius/dictionary.bristol  \
158         radius/dictionary.cablelabs  \
159         radius/dictionary.cabletron  \
160         radius/dictionary.chillispot \
161         radius/dictionary.cisco  \
162         radius/dictionary.cisco.bbsm  \
163         radius/dictionary.cisco.vpn3000  \
164         radius/dictionary.cisco.vpn5000  \
165         radius/dictionary.clavister \
166         radius/dictionary.colubris  \
167         radius/dictionary.columbia_university  \
168         radius/dictionary.compat  \
169         radius/dictionary.cosine  \
170         radius/dictionary.dhcp \
171         radius/dictionary.digium \
172         radius/dictionary.eltex \
173         radius/dictionary.epygi \
174         radius/dictionary.ericsson  \
175         radius/dictionary.erx  \
176         radius/dictionary.extreme  \
177         radius/dictionary.fortinet \
178         radius/dictionary.foundry  \
179         radius/dictionary.freeradius  \
180         radius/dictionary.freeradius.internal  \
181         radius/dictionary.freeswitch \
182         radius/dictionary.gandalf  \
183         radius/dictionary.garderos  \
184         radius/dictionary.gemtek  \
185         radius/dictionary.h3c \
186         radius/dictionary.hp \
187         radius/dictionary.huawei \
188         radius/dictionary.iea \
189         radius/dictionary.infonet \
190         radius/dictionary.ipunplugged \
191         radius/dictionary.issanni \
192         radius/dictionary.itk  \
193         radius/dictionary.jradius \
194         radius/dictionary.juniper  \
195         radius/dictionary.karlnet  \
196         radius/dictionary.lancom \
197         radius/dictionary.livingston  \
198         radius/dictionary.localweb  \
199         radius/dictionary.lucent \
200         radius/dictionary.manzara \
201         radius/dictionary.merit  \
202         radius/dictionary.microsoft  \
203         radius/dictionary.mikrotik  \
204         radius/dictionary.motorola \
205         radius/dictionary.motorola.wimax \
206         radius/dictionary.navini  \
207         radius/dictionary.netscreen  \
208         radius/dictionary.networkphysics \
209         radius/dictionary.nexans \
210         radius/dictionary.nokia  \
211         radius/dictionary.nokia.conflict \
212         radius/dictionary.nomadix  \
213         radius/dictionary.nortel \
214         radius/dictionary.ntua \
215         radius/dictionary.openser \
216         radius/dictionary.packeteer \
217         radius/dictionary.patton \
218         radius/dictionary.propel  \
219         radius/dictionary.prosoft \
220         radius/dictionary.quiconnect \
221         radius/dictionary.quintum  \
222         radius/dictionary.redback  \
223         radius/dictionary.redcreek  \
224         radius/dictionary.rfc2865 \
225         radius/dictionary.rfc2866 \
226         radius/dictionary.rfc2867 \
227         radius/dictionary.rfc2868 \
228         radius/dictionary.rfc2869 \
229         radius/dictionary.rfc3162 \
230         radius/dictionary.rfc3576 \
231         radius/dictionary.rfc3580 \
232         radius/dictionary.rfc4072 \
233         radius/dictionary.rfc4372 \
234         radius/dictionary.rfc4603 \
235         radius/dictionary.rfc4675 \
236         radius/dictionary.rfc4679 \
237         radius/dictionary.rfc4818 \
238         radius/dictionary.rfc4849 \
239         radius/dictionary.rfc5090 \
240         radius/dictionary.rfc5176 \
241         radius/dictionary.rfc5447 \
242         radius/dictionary.rfc5580 \
243         radius/dictionary.rfc5607 \
244         radius/dictionary.rfc5904 \
245         radius/dictionary.rfc6519 \
246         radius/dictionary.rfc6572 \
247         radius/dictionary.riverstone \
248         radius/dictionary.roaringpenguin \
249         radius/dictionary.shasta  \
250         radius/dictionary.shiva  \
251         radius/dictionary.slipstream \
252         radius/dictionary.sofaware \
253         radius/dictionary.sonicwall  \
254         radius/dictionary.springtide  \
255         radius/dictionary.starent  \
256         radius/dictionary.t_systems_nova  \
257         radius/dictionary.telebit  \
258         radius/dictionary.telkom \
259         radius/dictionary.trapeze  \
260         radius/dictionary.tropos \
261         radius/dictionary.ukerna  \
262         radius/dictionary.unix  \
263         radius/dictionary.usr  \
264         radius/dictionary.utstarcom \
265         radius/dictionary.valemount  \
266         radius/dictionary.versanet  \
267         radius/dictionary.vqp \
268         radius/dictionary.walabi \
269         radius/dictionary.waverider \
270         radius/dictionary.wichorus \
271         radius/dictionary.wimax  \
272         radius/dictionary.wimax.wichorus \
273         radius/dictionary.wispr  \
274         radius/dictionary.xedia \
275         radius/dictionary.zyxel
276
277 #
278 # Install the tpncp directory files in the "tpncp" subdirectory
279 # of that directory
280 #
281 tpncpdir = $(pkgdatadir)/tpncp
282 dist_tpncp_DATA = \
283         tpncp/tpncp.dat
284
285 #
286 # Install the wimaxasncp directory files in the "wimaxasncp" subdirectory
287 # of that directory
288 #
289 wimaxasncpdir = $(pkgdatadir)/wimaxasncp
290 dist_wimaxasncp_DATA = \
291         wimaxasncp/dictionary.xml \
292         wimaxasncp/dictionary.dtd
293
294 PLATFORM_SRC = \
295         capture-pcap-util-unix.c
296
297 if HAVE_PLUGINS
298 -include plugins/Custom.make
299 plugin_ldadd = $(_CUSTOM_plugin_ldadd_) \
300         -dlopen plugins/asn1/asn1.la \
301         -dlopen plugins/docsis/docsis.la \
302         -dlopen plugins/ethercat/ethercat.la \
303         -dlopen plugins/gryphon/gryphon.la \
304         -dlopen plugins/irda/irda.la \
305         -dlopen plugins/m2m/m2m.la \
306         -dlopen plugins/mate/mate.la \
307         -dlopen plugins/opcua/opcua.la \
308         -dlopen plugins/profinet/profinet.la \
309         -dlopen plugins/stats_tree/stats_tree.la \
310         -dlopen plugins/unistim/unistim.la \
311         -dlopen plugins/wimax/wimax.la \
312         -dlopen plugins/wimaxmacphy/wimaxmacphy.la
313
314 else            # HAVE_PLUGINS
315
316 plugin_ldadd =
317
318 endif           # HAVE_PLUGINS
319
320 include Makefile.common
321
322 if ENABLE_STATIC
323 if HAVE_GTK
324 wireshark_LDFLAGS = -Wl,-static -all-static
325 endif
326 if HAVE_Qt
327 wireshark_qt_LDFLAGS = -Wl,-static -all-static
328 endif
329 else
330 if HAVE_GTK
331 wireshark_LDFLAGS = -export-dynamic
332 endif
333 if HAVE_Qt
334 wireshark_qt_LDFLAGS = -export-dynamic
335 endif
336 endif
337
338 # Libraries and plugin flags with which to link wireshark.
339 #
340 # Note that Wireshark, when built with a version of GTK+ that runs
341 # atop X11, doesn't have to be linked with @SOCKET_LIBS@ or @NSL_LIBS@,
342 # as those should also be included in @GTK_LIBS@ (as those are also
343 # needed for X applications, and GTK+ applications are X applications
344 # if the version of GTK+ they're built with runs atop X11).
345 #
346 # However, it *does* have to be linked with @GLIB_LIBS@; not all of
347 # the necessary GLib libraries are included in @GTK_LIBS@.  To quote
348 # Gentoo bug 423743 at
349 #
350 #       https://bugs.gentoo.org/show_bug.cgi?id=423743
351 #
352 # "The Makefile.am claims including GLIB_LIBS when linking wireshark is
353 # unnecessary, because wireshark links to GTK_LIBS which is a superset.
354 # It is not actually a superset: gmodule is included in GLIB_LIBS but
355 # not in GTK_LIBS (unless accidentally on older glibs/gtks)."
356 #
357 # although it's also possible that -lgmodule is in GTK_LIBS but not
358 # GLIB_LIBS (that's the case on my machine right now, for example).
359 #
360 wireshark_ldadd = \
361         ui/libui.a                      \
362         ui/libui_dirty.a                \
363         codecs/libcodec.a               \
364         wiretap/libwiretap.la           \
365         epan/libwireshark.la            \
366         wsutil/libwsutil.la             \
367         @SSL_LIBS@                      \
368         $(plugin_ldadd)                 \
369         @PCAP_LIBS@                     \
370         @C_ARES_LIBS@                   \
371         @ADNS_LIBS@                     \
372         @KRB5_LIBS@                     \
373         @APPLICATIONSERVICES_FRAMEWORKS@        \
374         @SYSTEMCONFIGURATION_FRAMEWORKS@        \
375         @COREFOUNDATION_FRAMEWORKS@     \
376         @PY_LIBS@                       \
377         @LIBGCRYPT_LIBS@                \
378         @LIBGNUTLS_LIBS@                \
379         @LIBSMI_LDFLAGS@                \
380         @PORTAUDIO_LIBS@                \
381         @GLIB_LIBS@                     \
382         -lm
383
384 if HAVE_Qt
385 wireshark_qt_SOURCES = $(WIRESHARK_COMMON_SRC)
386 wireshark_qt_INCLUDES = $(WIRESHARK_COMMON_INCLUDES)
387 wireshark_qt_CFLAGS = $(AM_CLEAN_CFLAGS) $(py_dissectors_dir)
388 wireshark_qt_LDADD = \
389         ui/qt/libqtui.a \
390         $(wireshark_ldadd) \
391         @Qt_LIBS@
392
393 #
394 # XXX - this makes wireshark_qt_LDFLAGS not work; we should figure out
395 # another way to get wireshark-qt linked as a C++ program, perhaps by
396 # having a top-level wireshark-qt.cpp file that contains main() and
397 # hthat calls the UI code from ui/qt.
398 #
399 wireshark_qt_LINK = $(CXXLINK)
400 endif
401
402 if HAVE_GTK
403 wireshark_SOURCES = $(WIRESHARK_COMMON_SRC)
404 wireshark_INCLUDES = $(WIRESHARK_COMMON_INCLUDES)
405 wireshark_CFLAGS = $(AM_CLEAN_CFLAGS) $(py_dissectors_dir)
406 wireshark_LDADD = \
407         ui/gtk/libgtkui.a \
408         $(wireshark_ldadd) \
409         @GTK_LIBS@
410 endif
411
412 # Ideally we could trigger automatic c++ linking here with
413 #   nodist_EXTRA_wireshark_SOURCES = dummy.cpp
414 # Unfortunately that check is done by automake and not configure.
415 # We do the following to try to avoid using c++ to link Wireshark at
416 # all times.
417 nodist_EXTRA_wireshark_cxx_SOURCES = dummy.cpp
418 wireshark_cxx_SOURCES =
419
420 if ENABLE_STATIC
421 tshark_LDFLAGS = -Wl,-static -all-static
422 else
423 tshark_LDFLAGS = -export-dynamic
424 endif
425
426 # Libraries and plugin flags with which to link tshark.
427 tshark_LDADD = \
428         ui/cli/libcliui.a               \
429         ui/libui.a                      \
430         wiretap/libwiretap.la           \
431         epan/libwireshark.la            \
432         wsutil/libwsutil.la             \
433         @SSL_LIBS@                      \
434         $(plugin_ldadd)                 \
435         @GLIB_LIBS@ -lm                 \
436         @PCAP_LIBS@                     \
437         @SOCKET_LIBS@                   \
438         @NSL_LIBS@                      \
439         @C_ARES_LIBS@                   \
440         @ADNS_LIBS@                     \
441         @KRB5_LIBS@                     \
442         @SYSTEMCONFIGURATION_FRAMEWORKS@        \
443         @COREFOUNDATION_FRAMEWORKS@     \
444         @PY_LIBS@                       \
445         @LIBGCRYPT_LIBS@                \
446         @LIBGNUTLS_LIBS@                \
447         @LIBSMI_LDFLAGS@
448 tshark_CFLAGS = $(AM_CLEAN_CFLAGS) $(py_dissectors_dir)
449
450 if ENABLE_STATIC
451 rawshark_LDFLAGS = -Wl,-static -all-static
452 else
453 rawshark_LDFLAGS = -export-dynamic
454 endif
455
456 # Libraries and plugin flags with which to link rawshark.
457 rawshark_LDADD = \
458         ui/libui.a                      \
459         wiretap/libwiretap.la           \
460         epan/libwireshark.la            \
461         wsutil/libwsutil.la             \
462         @SSL_LIBS@                      \
463         $(plugin_ldadd)                 \
464         @GLIB_LIBS@ -lm                 \
465         @PCAP_LIBS@                     \
466         @SOCKET_LIBS@                   \
467         @NSL_LIBS@                      \
468         @C_ARES_LIBS@                   \
469         @ADNS_LIBS@                     \
470         @KRB5_LIBS@                     \
471         @SYSTEMCONFIGURATION_FRAMEWORKS@        \
472         @COREFOUNDATION_FRAMEWORKS@     \
473         @PY_LIBS@                       \
474         @LIBGCRYPT_LIBS@                \
475         @LIBGNUTLS_LIBS@                \
476         @LIBSMI_LDFLAGS@
477 rawshark_CFLAGS = $(AM_CLEAN_CFLAGS) $(py_dissectors_dir)
478
479 # Libraries with which to link text2pcap.
480 text2pcap_LDADD = \
481         wsutil/libwsutil.la             \
482         @GLIB_LIBS@ -lm
483 # Don't turn on -Werror for text2pcap: its source includes text2pcap-scanner.c
484 # which is generated (and therefore not always clean).
485 # We could generate text2pcap.o as a library with -Werror but for now it
486 # doesn't seem worth the effort.
487 #text2pcap_CFLAGS = $(AM_CLEAN_CFLAGS)
488
489 # Libraries with which to link mergecap.
490 mergecap_LDADD = \
491         wiretap/libwiretap.la           \
492         wsutil/libwsutil.la             \
493         @GLIB_LIBS@
494 mergecap_CFLAGS = $(AM_CLEAN_CFLAGS)
495
496 # Libraries with which to link capinfos.
497 capinfos_LDADD = \
498         wiretap/libwiretap.la           \
499         wsutil/libwsutil.la             \
500         @GLIB_LIBS@                     \
501         @LIBGCRYPT_LIBS@
502 capinfos_CFLAGS = $(AM_CLEAN_CFLAGS) $(py_dissectors_dir)
503
504 # Libraries with which to link editcap.
505 editcap_LDADD = \
506         wiretap/libwiretap.la           \
507         wsutil/libwsutil.la             \
508         @GLIB_LIBS@
509 editcap_CFLAGS = $(AM_CLEAN_CFLAGS) $(py_dissectors_dir)
510
511 # Libraries with which to link reordercap.
512 reordercap_LDADD = \
513         wiretap/libwiretap.la           \
514         wsutil/libwsutil.la             \
515         @GLIB_LIBS@
516 reordercap_CFLAGS = $(AM_CLEAN_CFLAGS)
517
518 # Libraries with which to link randpkt.
519 randpkt_LDADD = \
520         wiretap/libwiretap.la           \
521         wsutil/libwsutil.la             \
522         @GLIB_LIBS@ -lm                 \
523         @PCAP_LIBS@                     \
524         @SOCKET_LIBS@                   \
525         @NSL_LIBS@                      \
526         @C_ARES_LIBS@                   \
527         @ADNS_LIBS@
528 randpkt_CFLAGS = $(AM_CLEAN_CFLAGS)
529
530 # Libraries and plugin flags with which to link dftest.
531 dftest_LDADD = \
532         ui/libui.a                      \
533         wiretap/libwiretap.la           \
534         wsutil/libwsutil.la             \
535         epan/libwireshark.la            \
536         @SSL_LIBS@                      \
537         $(plugin_ldadd)                 \
538         @GLIB_LIBS@ -lm                 \
539         @PCAP_LIBS@                     \
540         @SOCKET_LIBS@                   \
541         @NSL_LIBS@                      \
542         @C_ARES_LIBS@                   \
543         @ADNS_LIBS@                     \
544         @KRB5_LIBS@                     \
545         @PY_LIBS@                       \
546         @LIBGCRYPT_LIBS@                \
547         @LIBGNUTLS_LIBS@                \
548         @LIBSMI_LDFLAGS@
549 dftest_CFLAGS = $(AM_CLEAN_CFLAGS) $(py_dissectors_dir)
550
551 echld_test_LDADD = \
552         epan/libwireshark.la \
553         echld/libechld.la \
554         wsutil/libwsutil.la \
555         @GLIB_LIBS@ -lm                 \
556         @PCAP_LIBS@                     \
557         @SOCKET_LIBS@                   \
558         @NSL_LIBS@                      \
559         @C_ARES_LIBS@                   \
560         @ADNS_LIBS@
561
562 echld_test_DEPENDENCIES = \
563         echld/libechld.la \
564         epan/libwireshark.la
565
566 echld_test_CFLAGS = $(AM_CLEAN_CFLAGS)
567
568
569 # Libraries with which to link dumpcap.
570 dumpcap_LDADD = \
571         wsutil/libwsutil.la             \
572         @GLIB_LIBS@                     \
573         @PCAP_LIBS@                     \
574         @SOCKET_LIBS@                   \
575         @NSL_LIBS@                      \
576         @SYSTEMCONFIGURATION_FRAMEWORKS@        \
577         @COREFOUNDATION_FRAMEWORKS@     \
578         @LIBCAP_LIBS@
579 dumpcap_CFLAGS = $(AM_CLEAN_CFLAGS) $(PIE_CFLAGS)
580 dumpcap_LDFLAGS = $(PIE_LDFLAGS)
581
582 # Common headers
583 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/wiretap \
584         $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS) $(LIBSMI_CFLAGS) $(PY_CFLAGS) \
585         @LUA_INCLUDES@ -DTOP_SRCDIR=\"$(abs_top_srcdir)\"
586
587 #
588 # Build the version string
589 #
590 # FORCE is the portable version of .PHONY
591 FORCE:
592
593 AM_V_PERL = $(am__v_PERL_@AM_V@)
594 am__v_PERL_ = $(am__v_PERL_@AM_DEFAULT_V@)
595 am__v_PERL_0 = @echo "  PERL    " $@;
596 am__v_PERL_1 =
597
598 svnversion.h: FORCE
599         $(AM_V_PERL)$(PERL) $(srcdir)/make-version.pl $(srcdir)
600
601 #
602 # Build shell scripts by doing variable substitution.
603 # Taken from autoconf 2.13.
604 #
605 editsh = sed -e 's,@''SHELL''@,$(SHELL),g'
606
607 SUFFIXES = .sh
608 .sh:
609         rm -f $@ $@.tmp
610         $(editsh) $< > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
611
612 services:
613         $(PYTHON) $(srcdir)/tools/make-services.py
614
615 CLEANFILES =            \
616         *~              \
617         doxygen-core.tag        \
618         vgcore.*
619
620 #
621 # We have to remove svnversion.h with "make distclean", as, otherwise,
622 # "make distcheck" fails.  We still need to make the tarballs work
623 # even if you do "make distclean" and try to rebuild; that's a work in
624 # progress.
625 #
626 # XXX - "ps.c" is distributed in the source tarballs; why is it in the
627 # list of files removed by "make distclean"?  (It's deliberately
628 # included in that list.)
629 #
630 DISTCLEANFILES = \
631         ps.c                    \
632         svnversion.h
633
634 MAINTAINERCLEANFILES =          \
635         $(GENERATED_FILES)      \
636         Makefile.in             \
637         aclocal.m4              \
638         compile                 \
639         config.h.in             \
640         configure               \
641         depcomp                 \
642         install-sh              \
643         ltmain.sh               \
644         missing                 \
645         ylwrap
646
647 EXTRA_DIST = \
648         INSTALL.configure       \
649         Makefile.am.inc         \
650         Makefile.common         \
651         Makefile.nmake          \
652         Makefile.nmake.inc      \
653         README.aix              \
654         README.bsd              \
655         README.DECT             \
656         README.hpux             \
657         README.irix             \
658         README.linux            \
659         README.macos            \
660         README.tru64            \
661         README.vmware           \
662         README.windows          \
663         abi-descriptor.template \
664         aclocal-fallback/libsmi.m4 \
665         aclocal-fallback/libgcrypt.m4 \
666         aclocal-fallback/glib-2.0.m4 \
667         aclocal-fallback/gtk-2.0.m4 \
668         aclocal-fallback/gtk-3.0.m4 \
669         aclocal-flags           \
670         adns_dll.dep            \
671         adns_dll.rc             \
672         autogen.sh              \
673         capinfos.c              \
674         capture_win_ifnames.c   \
675         capture_win_ifnames.h   \
676         capture-wpcap.c         \
677         capture-wpcap.h         \
678         capture_wpcap_packet.c  \
679         capture_wpcap_packet.h  \
680         cfilters                \
681         colorfilters            \
682         config.h.win32          \
683         config.nmake            \
684         debian/changelog        \
685         debian/compat           \
686         debian/control          \
687         debian/copyright        \
688         debian/dirs             \
689         debian/headers-check.c  \
690         debian/patches/00list   \
691         debian/postinst         \
692         debian/pycompat         \
693         debian/pyversions       \
694         debian/rules            \
695         debian/README.source    \
696         debian/tshark.files     \
697         debian/tshark.manpages  \
698         debian/watch            \
699         debian/wireshark-common.files \
700         debian/wireshark-common.manpages \
701         debian/wireshark-common.shlibs \
702         debian/wireshark-dev.docs \
703         debian/wireshark-dev.files \
704         debian/wireshark-dev.header-files \
705         debian/wireshark-dev.manpages \
706         debian/wireshark-dev.prerm \
707         debian/wireshark-root.desktop \
708         debian/wireshark.desktop \
709         debian/wireshark.files \
710         debian/wireshark.manpages \
711         debian/wireshark.menu   \
712         dfilters                \
713         doxygen.cfg.in          \
714         dumpcap.c       \
715         editcap.c               \
716         epan/print.ps           \
717         fix/FIX.xml             \
718         fix/FIX40.xml           \
719         fix/FIX41.xml           \
720         fix/FIX42.xml           \
721         fix/FIX43.xml           \
722         fix/FIX44.xml           \
723         fix/README              \
724         fix/Values.xsl          \
725         fix/hfDecl.xsl          \
726         fix/hfField.xsl         \
727         fix/hfList.xsl          \
728         idl/coseventcomm.idl    \
729         idl/cosnaming.idl       \
730         idl/tango.idl   \
731         idl/parlay/am.idl       \
732         idl/parlay/cccs.idl     \
733         idl/parlay/cm.idl       \
734         idl/parlay/common_cc_data.idl   \
735         idl/parlay/cs.idl       \
736         idl/parlay/dsc.idl      \
737         idl/parlay/fw_data.idl  \
738         idl/parlay/fw_if.idl    \
739         idl/parlay/fw_if_access.idl     \
740         idl/parlay/fw_if_app.idl        \
741         idl/parlay/fw_if_entop.idl      \
742         idl/parlay/fw_if_service.idl    \
743         idl/parlay/gcc_data.idl \
744         idl/parlay/gcc_interfaces.idl   \
745         idl/parlay/gms.idl      \
746         idl/parlay/mm.idl       \
747         idl/parlay/mmccs.idl    \
748         idl/parlay/mmm.idl      \
749         idl/parlay/mpcc_data.idl        \
750         idl/parlay/mpcc_interfaces.idl  \
751         idl/parlay/osa.idl      \
752         idl/parlay/pam_data.idl \
753         idl/parlay/pam_interfaces.idl   \
754         idl/parlay/Parlay.idl   \
755         idl/parlay/policy_data.idl      \
756         idl/parlay/policy_interfaces.idl        \
757         idl/parlay/README.parlay        \
758         idl/parlay/termcap.idl  \
759         idl/parlay/ui_data.idl  \
760         idl/parlay/ui_interfaces.idl    \
761         image/capinfos.rc.in    \
762         image/capture_comment.svg       \
763         image/capture_comment_add.png   \
764         image/capture_comment_disabled.png      \
765         image/capture_comment_update.png        \
766         image/capture_start_24.png              \
767         image/capture_start_active_24.png       \
768         image/capture_stop_24.png               \
769         image/clist_ascend.xpm                  \
770         image/clist_descend.xpm                 \
771         image/copy-8.png                        \
772         image/dfilter_apply_disabled.png        \
773         image/dfilter_apply_hover.png           \
774         image/dfilter_apply_normal.png          \
775         image/dfilter_apply_pressed.png         \
776         image/dfilter_bookmark_disabled.png     \
777         image/dfilter_bookmark_hover.png        \
778         image/dfilter_bookmark_normal.png       \
779         image/dfilter_bookmark_pressed.png      \
780         image/dfilter_dropdown.png              \
781         image/dfilter_erase_active.png          \
782         image/dfilter_erase_normal.png          \
783         image/dfilter_erase_selected.png        \
784         image/dfilter_refresh_active.png        \
785         image/dfilter_refresh_normal.png        \
786         image/display_filter.qrc                \
787         image/dumpcap.rc.in     \
788         image/editcap.rc.in     \
789         image/expert_chat.png   \
790         image/expert_error.png  \
791         image/expert_indicators.svg     \
792         image/expert_none.png   \
793         image/expert_note.png   \
794         image/expert_warn.png   \
795         image/file_dlg_win32.rc \
796         image/hi16-app-wireshark.png    \
797         image/hi32-app-wireshark.png    \
798         image/hi48-app-wireshark.png    \
799         image/layout_1.png              \
800         image/layout_2.png              \
801         image/layout_3.png              \
802         image/layout_4.png              \
803         image/layout_5.png              \
804         image/layout_6.png              \
805         image/libwireshark.rc.in        \
806         image/libwsutil.rc.in           \
807         image/lo16-app-wireshark.png    \
808         image/lo32-app-wireshark.png    \
809         image/lo48-app-wireshark.png    \
810         image/Makefile.nmake                    \
811         image/mergecap.rc.in                    \
812         image/minus-8.png                       \
813         image/nsis-checked.bmp                  \
814         image/nsis-unchecked.bmp                \
815         image/openhand-16.png                   \
816         image/plus-8.png                        \
817         image/rawshark.rc.in                    \
818         image/README.image                      \
819         image/reordercap.rc.in                  \
820         image/rubberband-16.png                 \
821         image/status.qrc                        \
822         image/stock_dialog_error_48.xpm         \
823         image/stock_dialog_info_48.xpm          \
824         image/stock_dialog_question_48.xpm      \
825         image/stock_dialog_stop_48.xpm          \
826         image/stock_dialog_warning_48.xpm       \
827         image/text2pcap.rc.in                   \
828         image/toolbar.qrc                       \
829         image/toolbar/analyze_24.xpm            \
830         image/toolbar/audio_player_24.xpm       \
831         image/toolbar/autoscroll_24.xpm         \
832         image/toolbar/capture_airpcap_16.xpm    \
833         image/toolbar/capture_capture_16.xpm    \
834         image/toolbar/capture_details_16.xpm    \
835         image/toolbar/capture_details_24.xpm    \
836         image/toolbar/capture_ethernet_16.xpm   \
837         image/toolbar/capture_filter_24.xpm     \
838         image/toolbar/capture_interfaces_16.png \
839         image/toolbar/capture_interfaces_24.png \
840         image/toolbar/capture_options_16.png    \
841         image/toolbar/capture_options_24.png    \
842         image/toolbar/capture_prepare_16.xpm    \
843         image/toolbar/capture_restart_16.png    \
844         image/toolbar/capture_restart_24.png    \
845         image/toolbar/capture_start_16.png      \
846         image/toolbar/capture_start_24.png      \
847         image/toolbar/capture_stop_16.png       \
848         image/toolbar/capture_stop_24.png       \
849         image/toolbar/checkbox_16.xpm           \
850         image/toolbar/colorize_24.xpm           \
851         image/toolbar/conversations_16.xpm      \
852         image/toolbar/decode_24.xpm             \
853         image/toolbar/decode_as_16.xpm          \
854         image/toolbar/display_filter_24.xpm     \
855         image/toolbar/endpoints_16.xpm          \
856         image/toolbar/expert_info_16.xpm        \
857         image/toolbar/file_set_list_16.xpm      \
858         image/toolbar/file_set_next_16.xpm      \
859         image/toolbar/file_set_previous_16.xpm  \
860         image/toolbar/flow_graph_16.xpm \
861         image/toolbar/gnome_emblem_web_16.png   \
862         image/toolbar/gnome_emblem_web_24.png   \
863         image/toolbar/graphs_16.xpm     \
864         image/toolbar/icon_color_0.xpm  \
865         image/toolbar/icon_color_1.xpm  \
866         image/toolbar/icon_color_2.xpm  \
867         image/toolbar/icon_color_3.xpm  \
868         image/toolbar/icon_color_4.xpm  \
869         image/toolbar/icon_color_5.xpm  \
870         image/toolbar/icon_color_6.xpm  \
871         image/toolbar/icon_color_7.xpm  \
872         image/toolbar/icon_color_8.xpm  \
873         image/toolbar/icon_color_9.xpm  \
874         image/toolbar/internet_24.xpm   \
875         image/toolbar/modem_16.png      \
876         image/toolbar/modem_16.xpm      \
877         image/toolbar/network_bluetooth_16.png  \
878         image/toolbar/network_usb.svg           \
879         image/toolbar/network_usb_16.png        \
880         image/toolbar/network_virtual_16.xpm    \
881         image/toolbar/network_wired_16.png      \
882         image/toolbar/network_wireless_16.png   \
883         image/toolbar/pipe_16.png       \
884         image/toolbar/remote_arrow_16.png       \
885         image/toolbar/remote_globe_16.png       \
886         image/toolbar/remote_sat_16.png \
887         image/toolbar/resize_columns_24.xpm     \
888         image/toolbar/telephone_16.xpm  \
889         image/toolbar/telephony_16.xpm  \
890         image/toolbar/time_24.xpm       \
891         image/toolbar/toolbar_wireshark_file_16.png     \
892         image/toolbar/toolbar_wireshark_file_24.png     \
893         image/toolbar/voip_flow_24.xpm  \
894         image/toolbar/web_support_24.xpm        \
895         image/toolbar/wep_closed_24.xpm \
896         image/tshark.rc.in      \
897         image/voip_bg.xpm       \
898         image/voip_select.xpm   \
899         image/wireshark.exe.manifest.in \
900         image/wireshark.ico     \
901         image/wireshark.rc.in   \
902         image/wiresharkdoc.ico  \
903         image/wiresharkinst.ico \
904         image/WiresharkDoc-16.png       \
905         image/WiresharkDoc-24.png       \
906         image/WiresharkDoc-32.png       \
907         image/WiresharkDoc-48.png       \
908         image/WiresharkDoc-64.png       \
909         image/WiresharkDoc-128.png      \
910         image/WiresharkDoc-256.png      \
911         image/wiretap.rc.in     \
912         image/wsicon.svg        \
913         image/wsicon16.png      \
914         image/wsicon24.png      \
915         image/wsicon32.png      \
916         image/wsicon48.png      \
917         image/wsicon64.png      \
918         image/wsicon128.png     \
919         image/wsicon256.png     \
920         image/wsicon512.png     \
921         image/wsicon1024.png    \
922         image/wsicon-ask.png    \
923         image/wsicon-ask.svg    \
924         image/wsiconcap.svg     \
925         image/wsiconcap256.png  \
926         image/wsiconcap512.png  \
927         image/wsiconcap1024.png \
928         image/wsiconinst.svg    \
929         image/wsiconinst256.png \
930         image/wslogo-dev.svg    \
931         image/wslogo.eps        \
932         image/wslogo.svg        \
933         image/wssplash_dev.png  \
934         image/wssplash.png      \
935         ipmap.html              \
936         macosx-setup.sh         \
937         macosx-support-lib-patches/glib-gconvert.c.patch \
938         macosx-support-lib-patches/glib-pkgconfig.patch \
939         macosx-support-lib-patches/gnutls-pkgconfig.patch \
940         macosx-support-lib-patches/portaudio-pa_mac_core.h.patch \
941         macosx-support-lib-patches/portaudio-pa_mac_core.c.patch \
942         make-version.pl         \
943         manuf                   \
944         manuf.tmpl              \
945         mergecap.c              \
946         pdml2html.xsl           \
947         reordercap.c            \
948         smi_modules             \
949         text2pcap-scanner.l     \
950         text2pcap.h             \
951         services                \
952         wireshark.desktop       \
953         wireshark-mime-package.xml \
954         wka.tmpl                \
955         CMakeLists.txt          \
956         cmakeconfig.h.in        \
957         wsutil/CMakeLists.txt   \
958         CMakeOptions.txt        \
959         wiretap/CMakeLists.txt  \
960         README.cmake            \
961         ConfigureChecks.cmake   \
962         cmake/modules/CMakeInstallDirs.cmake    \
963         cmake/modules/COPYING-CMAKE-SCRIPTS     \
964         cmake/modules/CheckCLinkerFlag.cmake    \
965         cmake/modules/FeatureSummary.cmake      \
966         cmake/modules/FindADNS.cmake            \
967         cmake/modules/FindCAP.cmake             \
968         cmake/modules/FindCARES.cmake           \
969         cmake/modules/FindFOP.cmake             \
970         cmake/modules/FindGCRYPT.cmake          \
971         cmake/modules/FindGEOIP.cmake           \
972         cmake/modules/FindGLIB2.cmake           \
973         cmake/modules/FindGMODULE2.cmake        \
974         cmake/modules/FindGNUTLS.cmake          \
975         cmake/modules/FindGTHREAD2.cmake        \
976         cmake/modules/FindGTK2.cmake            \
977         cmake/modules/FindGTK3.cmake            \
978         cmake/modules/FindHtmlViewer.cmake      \
979         cmake/modules/FindKERBEROS.cmake        \
980         cmake/modules/FindNL.cmake              \
981         cmake/modules/FindLEX.cmake             \
982         cmake/modules/FindLUA.cmake             \
983         cmake/modules/FindLYNX.cmake            \
984         cmake/modules/FindM.cmake               \
985         cmake/modules/FindPCAP.cmake            \
986         cmake/modules/FindPOD.cmake             \
987         cmake/modules/FindPORTAUDIO.cmake       \
988         cmake/modules/FindSED.cmake             \
989         cmake/modules/FindSH.cmake              \
990         cmake/modules/FindSMI.cmake             \
991         cmake/modules/FindXMLLINT.cmake         \
992         cmake/modules/FindXSLTPROC.cmake        \
993         cmake/modules/FindYACC.cmake            \
994         cmake/modules/FindYAPP.cmake            \
995         cmake/modules/FindZLIB.cmake            \
996         cmake/modules/LICENSE.txt               \
997         cmake/modules/UseLemon.cmake            \
998         cmake/modules/UseMakeDissectorReg.cmake \
999         cmake/modules/UseMakeTapReg.cmake       \
1000         cmake/modules/readme.txt                \
1001         ui/win32/Makefile.nmake                 \
1002         ui/win32/console_win32.c                \
1003         ui/win32/console_win32.h                \
1004         ui/win32/file_dlg_win32.c               \
1005         ui/win32/file_dlg_win32.h               \
1006         ui/win32/print_win32.c                  \
1007         ui/win32/print_win32.h                  \
1008         ui/win32/settings.ini                   \
1009         CPackConfig.txt                         \
1010         all.vcproj                              \
1011         dumpcap.vcproj                          \
1012         packaging.vcproj                        \
1013         tshark.vcproj                           \
1014         wireshark.vcproj
1015
1016 install-exec-hook:
1017 if HAVE_DUMPCAP_GROUP
1018         -chgrp $(DUMPCAP_GROUP) $(DESTDIR)$(bindir)/dumpcap
1019 endif
1020 if SETCAP_INSTALL
1021         -$(SETCAP) cap_net_raw,cap_net_admin+eip $(DESTDIR)$(bindir)/dumpcap
1022         -chmod o-rws $(DESTDIR)$(bindir)/dumpcap
1023 else
1024 if SETUID_INSTALL
1025         -chmod o-rws $(DESTDIR)$(bindir)/dumpcap
1026         -chmod +s $(DESTDIR)$(bindir)/dumpcap
1027 endif
1028 endif
1029
1030
1031 DIST_SUBDIRS = asn1 codecs doc epan echld ui ui/cli ui/gtk ui/qt help packaging plugins tools wiretap wsutil docbook
1032
1033 if HAVE_PLUGINS
1034 SUBDIRS = tools wsutil wiretap epan @echld_dir@ plugins packaging help ui @wireshark_SUBDIRS@ ui/cli . doc
1035 else
1036 SUBDIRS = tools wsutil wiretap epan @echld_dir@ packaging help ui @wireshark_SUBDIRS@ ui/cli . doc
1037 endif
1038
1039 help/faq.txt: $(srcdir)/help/faq.py
1040         $(AM_V_GEN)(cd help ; \
1041         $(MAKE) faq.txt ;)
1042
1043 libtool: $(LIBTOOL_DEPS)
1044         $(SHELL) ./config.status --recheck
1045
1046
1047 # Used by patch-bzip2
1048 # Trim off any extra version information and find the previous micro release.
1049 BASE_VERSION=`echo "$(VERSION)" | awk -F. '{$$3 = $$3 + 0 ; printf("%d.%d.%d"), $$1, $$2, $$3}'`
1050 PREV_VERSION=`echo "$(VERSION)" | awk -F. '{$$3 = $$3 + 0 ; if ($$3 > 0) $$3-- ; printf("%d.%d.%d"), $$1, $$2, $$3}'`
1051 PREV_DIR="wireshark-$(PREV_VERSION)"
1052 PREV_FILE="$(PREV_DIR).tar.bz2"
1053 PREV_URL="http://www.wireshark.org/download/src/all-versions/$(PREV_FILE)"
1054
1055 patch-bzip2: distdir
1056         if test x$(BASE_VERSION) != x$(PREV_VERSION) ; then \
1057                 curl -z $(PREV_FILE) -o $(PREV_FILE) $(PREV_URL) && \
1058                 tar -xjf $(PREV_FILE) && \
1059                 diff -urN $(PREV_DIR) $(distdir) | bzip2 > patch-wireshark-$(PREV_VERSION)-to-$(VERSION).bz2 && \
1060                 echo "Created patch-bzip2" ; \
1061                 rm -rf "$(PREV_FILE)" "$(PREV_DIR)" ; \
1062         else \
1063                 echo "This appears to be the first micro version ($(PREV_VERSION)). Skipping." ; \
1064         fi
1065         $(am__remove_distdir)
1066
1067 # Install some desktop files (for use with GNOME, KDE, or any other freedesktop.org-compliant desktops)
1068 # No, these do not go into $(datarootdir): the desktop won't look for them there.
1069 # Yes, that violate's autofoo's principle of relocatability.
1070 # What we (probably) should do is check `pkg-config --variable=prefix gtk+-2.0` to know where
1071 # to install this stuff...
1072 install_desktop_files:
1073         mkdir -p $(DESTDIR)/usr/share/{mime/packages,applications}
1074         install -m 644 -T wireshark-mime-package.xml $(DESTDIR)/usr/share/mime/packages/wireshark.xml
1075         if test x$(DESKTOP_FILE_INSTALL) != x ; then \
1076                 $(DESKTOP_FILE_INSTALL) --dir $(DESTDIR)/usr/share/applications wireshark.desktop; \
1077         else \
1078                 install -m 644 -T wireshark.desktop $(DESTDIR)/usr/share/applications/wireshark.desktop; \
1079         fi
1080         for size in 16 24 32 48 64 128 256; \
1081         do \
1082                 mkdir -p $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/{apps,mimetypes} ; \
1083                 install -m 644 image/wsicon$${size}.png  $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps/wireshark.png ; \
1084                 install -m 644 -T image/WiresharkDoc-$${size}.png  $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/mimetypes/application-wireshark-doc.png ; \
1085         done
1086         @echo "Don't forget to run \"update-desktop-database\" and \"update-mime-database /usr/share/mime\""
1087
1088 # Used by svr4-package and osx-package
1089 # We load top_stagedir with an explicit path so that libtool doesn't freak.
1090 top_stagedir=`cd $(top_builddir) && pwd`/packaging/staging
1091 stagedir=$(top_stagedir)/$(PACKAGE).inst
1092
1093 host_cpu=@host_cpu@
1094 host_os=@host_os@
1095
1096 solaris-package: svr4-package
1097
1098 svr4-package: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA)
1099         @if test x$(HAVE_SVR4_PACKAGING) = xyes ; then \
1100                 rm -rf $(stagedir) ; \
1101                 $(MAKE) DESTDIR=$(stagedir) install; \
1102                 $(srcdir)/packaging/svr4/mkpkg \
1103                         $(PACKAGE) \
1104                         $(PACKAGE)-$(VERSION)-$(host_os)-$(host_cpu)-local \
1105                         $(prefix) \
1106                         $(top_stagedir) ; \
1107         else \
1108                 echo "Error: SVR4 packaging tools not found." ; \
1109                 echo "Package build abandoned." ; \
1110         fi
1111
1112
1113 rpm_topdir=`cd $(top_builddir) && pwd`/packaging/rpm
1114 rpm-package: dist
1115         @if test x$(HAVE_RPM) = xyes ; then \
1116                 cd $(rpm_topdir) ; \
1117                 mkdir -p BUILD RPMS SOURCES SRPMS; \
1118                 cd SOURCES ; \
1119                 ln -sf ../../../$(distdir).tar.bz2 ; \
1120                 cd .. ; \
1121                 rpmbuild --define "_topdir `cd . && pwd`" --define "_prefix $(prefix)" \
1122                         @RPMBUILD_WITH_ARGS@ --clean -ba SPECS/wireshark.spec && \
1123                         echo "Package successfully built in `pwd`/RPMS." && \
1124                         rm -f SOURCES/$(distdir).tar.bz2 $(distdir).tar.bz2 ; \
1125         else \
1126                 echo "Error: RPM executable and/or source directory not found." ; \
1127                 false; \
1128         fi
1129
1130 debian-package: debian/rules
1131         @if test x$(HAVE_DPKG_BUILDPACKAGE) = xyes ; then \
1132                 dpkg-buildpackage -rfakeroot -us -uc ; \
1133         else \
1134                 echo "Error: Debian packaging tools not found." ; \
1135                 echo "Package build abandoned." ; \
1136         fi
1137
1138 # XXX - This assumes we're building from the source directory.
1139 osx-app: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) packaging/macosx/Info.plist
1140         @if test x$(HAVE_OSX_PACKAGING) = xyes ; then \
1141                 rm -rf $(stagedir) ; \
1142                 $(MAKE) DESTDIR=$(stagedir) install; \
1143                 cd $(srcdir)/packaging/macosx ;  \
1144                 ./osx-app.sh @OSX_APP_FLAGS@ -bp ../staging/$(PACKAGE).inst$(bindir) ; \
1145         else \
1146                 echo "Error: OS X packaging tools not found." ; \
1147                 echo "Package build abandoned." ; \
1148         fi
1149
1150 packaging/macosx/COPYING.txt: COPYING
1151         (cd packaging/macosx ; \
1152         $(MAKE) COPYING.txt ;)
1153
1154 osx-package: osx-app packaging/macosx/COPYING.txt
1155         @if test x$(HAVE_OSX_PACKAGING) = xyes ; then \
1156                 cd $(srcdir)/packaging/macosx ;  \
1157                 chmod +x ./osx-dmg.sh ; \
1158                 ./osx-dmg.sh @OSX_DMG_FLAGS@ ; \
1159         fi
1160
1161 osx-install: osx-app
1162         @if test x$(HAVE_OSX_PACKAGING) = xyes ; then \
1163                 echo "Copying Wireshark.app to /Applications" ; \
1164                 cp -pr $(srcdir)/packaging/macosx/Wireshark.app /Applications ;  \
1165         fi
1166
1167 clean-local:
1168         rm -rf $(top_stagedir)
1169
1170 dumpabi:
1171         $(MAKE) -C wiretap dumpabi-libwiretap
1172         $(MAKE) -C epan dumpabi-libwireshark
1173         $(MAKE) -C wsutil dumpabi-libwsutil
1174
1175 checkapi_local:
1176         $(PERL) tools/checkAPIs.pl -build \
1177         $(TSHARK_TAP_SRC) \
1178         $(wireshark_SOURCES)
1179 #       $(EXTRA_wireshark_SOURCES)
1180
1181 checkapi: checkapi_local
1182         cd wiretap && $(MAKE) checkapi
1183         cd codecs && $(MAKE) checkapi
1184         cd ui && $(MAKE) checkapi
1185         cd ui/gtk && $(MAKE) checkapi
1186 ##      cd epan && $(MAKE) checkapi
1187 ##      cd epan/crypt && $(MAKE) checkapi
1188         cd epan/dfilter && $(MAKE) checkapi
1189 ##      cd epan/ftypes && $(MAKE) checkapi
1190 ##      cd epan/wslua && $(MAKE) checkapi
1191         cd epan/dissectors && $(MAKE) checkapi
1192         cd plugins && $(MAKE) checkapi
1193         cd wsutil && $(MAKE) checkapi
1194
1195 wsar_html: doxygen.cfg doxygen_global.cfg FORCE
1196 if HAVE_DOXYGEN
1197         rm -rf wsar_html
1198         cd epan && $(MAKE) $@
1199         cd ui && $(MAKE) $@
1200         (umask 022 ; $(DOXYGEN) doxygen.cfg)
1201 endif
1202
1203 wsar-zip: wsar_html
1204 if HAVE_DOXYGEN
1205         rm -f wsar_html.zip
1206         zip -rq wsar_html.zip wsar_html
1207 endif
1208