2000-09-27 04:55:05 +00:00
|
|
|
# Makefile.am
|
|
|
|
# Automake file for the EPAN library
|
|
|
|
# (Ethereal Protocol ANalyzer Library)
|
|
|
|
#
|
2004-03-12 16:31:35 +00:00
|
|
|
# $Id: Makefile.am,v 1.39 2004/03/12 16:31:35 gerald Exp $
|
2000-09-27 04:55:05 +00:00
|
|
|
#
|
|
|
|
# Ethereal - Network traffic analyzer
|
2002-10-22 08:22:07 +00:00
|
|
|
# By Gerald Combs <gerald@ethereal.com>
|
2000-09-27 04:55:05 +00:00
|
|
|
# Copyright 1998 Gerald Combs
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License
|
|
|
|
# as published by the Free Software Foundation; either version 2
|
|
|
|
# of the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
|
2001-02-01 20:21:25 +00:00
|
|
|
SUBDIRS = ftypes dfilter
|
2000-09-27 04:55:05 +00:00
|
|
|
|
|
|
|
# EPAN will eventually be a shared library. While I move source code around,
|
|
|
|
# however, it is an archive library.
|
|
|
|
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
ACLOCAL_AMFLAGS = `../aclocal-flags`
|
|
|
|
|
2000-10-14 03:53:25 +00:00
|
|
|
noinst_LIBRARIES = libethereal.a
|
2000-09-27 04:55:05 +00:00
|
|
|
|
2004-03-02 01:21:56 +00:00
|
|
|
include Makefile.common
|
|
|
|
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
INCLUDES = -I$(srcdir)/..
|
2000-09-27 04:55:05 +00:00
|
|
|
|
2000-10-14 03:53:25 +00:00
|
|
|
libethereal_a_SOURCES = \
|
2004-03-06 03:25:10 +00:00
|
|
|
addr_and_mask.c \
|
|
|
|
addr_and_mask.h \
|
2001-03-22 16:24:16 +00:00
|
|
|
atalk-utils.c \
|
|
|
|
atalk-utils.h \
|
Move the table of bit-swapped byte values to "epan/bitswap.c", and
declare it, and define a "BIT_SWAP" macro that uses it, in
"epan/bitswap.h".
Use that macro to bit-swap bytes in the IEEE 802.11 dissector, rather
than the macro that was used (said macro used GCCisms and didn't compile
on Windows).
Make an "init_plugin()" routine to enable a plugin and call its init
routine, and call it from "check_plugin_status()" and
"plugins_enable_cb()", rather than having very similar code in two
places; "patable" is now part of libethereal, and, at least on Windows,
attempts to refer to it from "libui" failed. Make "patable" static to
"epan/plugins.c". (This may still not work, as now "libui" is calling a
routine in "libethereal"; if that fails, perhaps it's time to get rid of
the "enable/disable plugins" stuff completely, as new-style plugins, at
least, register themselves as protocols and should be controllable from
the "Edit->Protocols" window just as built-in dissectors are.)
svn path=/trunk/; revision=2649
2000-11-15 09:37:53 +00:00
|
|
|
bitswap.c \
|
|
|
|
bitswap.h \
|
2002-10-22 08:22:07 +00:00
|
|
|
circuit.c \
|
|
|
|
circuit.h \
|
2001-04-01 03:42:00 +00:00
|
|
|
column_info.h \
|
2000-09-27 04:55:05 +00:00
|
|
|
conversation.c \
|
|
|
|
conversation.h \
|
2001-04-01 07:32:35 +00:00
|
|
|
column-utils.c \
|
|
|
|
column-utils.h \
|
2000-09-27 04:55:05 +00:00
|
|
|
epan.c \
|
|
|
|
epan.h \
|
2001-12-18 19:09:08 +00:00
|
|
|
epan_dissect.h \
|
2000-09-27 04:55:05 +00:00
|
|
|
except.c \
|
|
|
|
except.h \
|
2000-10-19 07:18:19 +00:00
|
|
|
exceptions.h \
|
2000-09-28 03:16:29 +00:00
|
|
|
filesystem.c \
|
|
|
|
filesystem.h \
|
2001-04-01 04:11:51 +00:00
|
|
|
frame_data.c \
|
|
|
|
frame_data.h \
|
2001-02-01 20:21:25 +00:00
|
|
|
gdebug.h \
|
2001-11-22 03:07:07 +00:00
|
|
|
int-64bit.c \
|
|
|
|
int-64bit.h \
|
2000-09-28 03:52:12 +00:00
|
|
|
ipv4.c \
|
|
|
|
ipv4.h \
|
2001-04-01 07:06:24 +00:00
|
|
|
ipv6-utils.h \
|
2001-09-14 07:33:04 +00:00
|
|
|
nstime.h \
|
2001-04-01 05:48:15 +00:00
|
|
|
osi-utils.c \
|
|
|
|
osi-utils.h \
|
2000-09-27 05:18:06 +00:00
|
|
|
packet.c \
|
|
|
|
packet.h \
|
2001-04-01 04:50:42 +00:00
|
|
|
packet_info.h \
|
2000-09-27 04:55:05 +00:00
|
|
|
pint.h \
|
|
|
|
plugins.c \
|
|
|
|
plugins.h \
|
|
|
|
proto.c \
|
|
|
|
proto.h \
|
2000-09-28 03:28:54 +00:00
|
|
|
resolv.c \
|
|
|
|
resolv.h \
|
2003-12-06 06:22:10 +00:00
|
|
|
slab.h \
|
2001-03-22 16:24:16 +00:00
|
|
|
sna-utils.c \
|
|
|
|
sna-utils.h \
|
2000-09-27 04:55:05 +00:00
|
|
|
strutil.c \
|
|
|
|
strutil.h \
|
2001-04-01 06:11:25 +00:00
|
|
|
timestamp.h \
|
2001-04-01 02:47:56 +00:00
|
|
|
to_str.c \
|
|
|
|
to_str.h \
|
2000-09-27 04:55:05 +00:00
|
|
|
tvbuff.c \
|
2001-04-01 03:18:41 +00:00
|
|
|
tvbuff.h \
|
|
|
|
value_string.c \
|
2004-03-02 01:21:56 +00:00
|
|
|
value_string.h \
|
|
|
|
$(DISSECTOR_SRC) \
|
|
|
|
$(DISSECTOR_SUPPORT_SRC)
|
2000-09-27 04:55:05 +00:00
|
|
|
|
2000-10-14 04:31:26 +00:00
|
|
|
EXTRA_libethereal_a_SOURCES = \
|
|
|
|
inet_aton.c \
|
|
|
|
inet_pton.c \
|
|
|
|
inet_ntop.c \
|
|
|
|
inet_aton.h \
|
|
|
|
inet_v6defs.h
|
2000-09-27 04:55:05 +00:00
|
|
|
|
2000-10-11 07:35:02 +00:00
|
|
|
EXTRA_DIST = \
|
2004-03-12 16:31:35 +00:00
|
|
|
config.h.win32 \
|
|
|
|
Makefile.nmake \
|
2000-11-20 16:18:08 +00:00
|
|
|
tvbtest.c
|
2000-10-11 07:35:02 +00:00
|
|
|
|
2000-09-27 04:55:05 +00:00
|
|
|
CLEANFILES = \
|
2004-03-12 16:31:35 +00:00
|
|
|
libethereal.a \
|
|
|
|
x11-declarations.h \
|
|
|
|
x11-register-info.h \
|
2000-09-27 04:55:05 +00:00
|
|
|
*~
|
|
|
|
|
2004-03-02 01:21:56 +00:00
|
|
|
MAINTAINERCLEANFILES = \
|
2004-03-03 21:55:59 +00:00
|
|
|
register.c \
|
|
|
|
../packet-ncp2222.c
|
2004-03-02 01:21:56 +00:00
|
|
|
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
#
|
|
|
|
# Add the object files for missing routines, if any.
|
|
|
|
#
|
|
|
|
libethereal_a_LIBADD = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
|
|
|
|
libethereal_a_DEPENDENCIES = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
|
|
|
|
|
2004-03-03 00:07:01 +00:00
|
|
|
../packet-ncp2222.c : $(srcdir)/../ncp2222.py
|
|
|
|
$(PYTHON) $(srcdir)/../ncp2222.py -o $@
|
2000-09-27 04:55:05 +00:00
|
|
|
|
|
|
|
tvbtest: tvbtest.o tvbuff.o except.o strutil.o
|
|
|
|
$(LINK) -o tvbtest tvbtest.o tvbuff.o except.o strutil.o `glib-config --libs`
|
2004-03-02 01:21:56 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# Build "register.c", which contains a function "register_all_protocols()"
|
|
|
|
# that calls the register routines for all protocols.
|
|
|
|
#
|
|
|
|
# We do this by grepping through sources. If that turns out to be too slow,
|
|
|
|
# maybe we could just require every .o file to have an register routine
|
|
|
|
# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
|
|
|
|
#
|
|
|
|
# Formatting conventions: The name of the proto_register_* routines must
|
|
|
|
# start in column zero, or must be preceded only by "void " starting in
|
|
|
|
# column zero, and must not be inside #if.
|
|
|
|
#
|
|
|
|
# We assume that all dissector routines are in "packet-XXX.c" files.
|
|
|
|
#
|
|
|
|
# For some unknown reason, having a big "for" loop in the Makefile
|
|
|
|
# to scan all the "packet-XXX.c" files doesn't work with some "make"s;
|
|
|
|
# they seem to pass only the first few names in the list to the shell,
|
|
|
|
# for some reason.
|
|
|
|
#
|
|
|
|
# Therefore, we have a script to generate the "register.c" file.
|
|
|
|
#
|
|
|
|
# The first argument is the name of the file to write.
|
|
|
|
# The second argument is the directory in which the source files live.
|
|
|
|
# All subsequent arguments are the files to scan.
|
|
|
|
#
|
|
|
|
register.c: $(plugin_src) $(DISSECTOR_SRC) $(srcdir)/../make-reg-dotc
|
|
|
|
@if test -n $(PYTHON); then \
|
|
|
|
echo Making register.c with python ; \
|
|
|
|
$(PYTHON) $(srcdir)/../make-reg-dotc.py $(srcdir) $(DISSECTOR_SRC) ; \
|
|
|
|
else \
|
|
|
|
echo Making register.c with shell script ; \
|
|
|
|
$(srcdir)/../make-reg-dotc register.c $(srcdir) \
|
|
|
|
$(plugin_src) $(DISSECTOR_SRC) ; \
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# Currently register.c can be included in the distribution because
|
|
|
|
# we always build all protocol dissectors. We used to have to check
|
|
|
|
# whether or not to build the snmp dissector. If we again need to
|
|
|
|
# variably build something, making register.c non-portable, uncomment
|
|
|
|
# the dist-hook line below.
|
|
|
|
#
|
|
|
|
# Oh, yuk. We don't want to include "register.c" in the distribution, as
|
|
|
|
# its contents depend on the configuration, and therefore we want it
|
|
|
|
# to be built when the first "make" is done; however, Automake insists
|
|
|
|
# on putting *all* source into the distribution.
|
|
|
|
#
|
|
|
|
# We work around this by having a "dist-hook" rule that deletes
|
|
|
|
# "register.c", so that "dist" won't pick it up.
|
|
|
|
#
|
|
|
|
#dist-hook:
|
|
|
|
# @rm -f $(distdir)/register.c
|
|
|
|
|
2004-03-04 08:26:20 +00:00
|
|
|
#
|
|
|
|
# Build various header files for the X11 dissector.
|
|
|
|
#
|
|
|
|
x11-declarations.h x11-register-info.h: ../x11-fields ../process-x11-fields.pl
|
|
|
|
$(PERL) $(srcdir)/../process-x11-fields.pl <$(srcdir)/../x11-fields
|
|
|
|
|
2004-03-02 01:21:56 +00:00
|
|
|
if HAVE_PLUGINS
|
|
|
|
|
|
|
|
if ENABLE_STATIC
|
|
|
|
|
|
|
|
plugin_src = \
|
2004-03-02 03:46:02 +00:00
|
|
|
../plugins/acn/packet-acn.c \
|
|
|
|
../plugins/artnet/packet-artnet.c \
|
|
|
|
../plugins/asn1/packet-asn1.c \
|
|
|
|
../plugins/docsis/packet-bpkmattr.c \
|
|
|
|
../plugins/docsis/packet-bpkmreq.c \
|
|
|
|
../plugins/docsis/packet-bpkmrsp.c \
|
|
|
|
../plugins/docsis/packet-docsis.c \
|
|
|
|
../plugins/docsis/packet-dsaack.c \
|
|
|
|
../plugins/docsis/packet-dsareq.c \
|
|
|
|
../plugins/docsis/packet-dsarsp.c \
|
|
|
|
../plugins/docsis/packet-dscack.c \
|
|
|
|
../plugins/docsis/packet-dscreq.c \
|
|
|
|
../plugins/docsis/packet-dscrsp.c \
|
|
|
|
../plugins/docsis/packet-dsdreq.c \
|
|
|
|
../plugins/docsis/packet-dsdrsp.c \
|
|
|
|
../plugins/docsis/packet-macmgmt.c \
|
|
|
|
../plugins/docsis/packet-map.c \
|
|
|
|
../plugins/docsis/packet-regack.c \
|
|
|
|
../plugins/docsis/packet-regreq.c \
|
|
|
|
../plugins/docsis/packet-regrsp.c \
|
|
|
|
../plugins/docsis/packet-rngreq.c \
|
|
|
|
../plugins/docsis/packet-rngrsp.c \
|
|
|
|
../plugins/docsis/packet-tlv.c \
|
|
|
|
../plugins/docsis/packet-uccreq.c \
|
|
|
|
../plugins/docsis/packet-uccrsp.c \
|
|
|
|
../plugins/docsis/packet-ucd.c \
|
|
|
|
../plugins/enttec/packet-enttec.c \
|
|
|
|
../plugins/giop/packet-cosnaming.c \
|
|
|
|
../plugins/giop/packet-coseventcomm.c \
|
|
|
|
../plugins/gryphon/packet-gryphon.c \
|
|
|
|
../plugins/irda/packet-irda.c \
|
|
|
|
../plugins/lwres/packet-lwres.c \
|
|
|
|
../plugins/megaco/packet-megaco.c \
|
|
|
|
../plugins/mgcp/packet-mgcp.c \
|
|
|
|
../plugins/pcli/packet-pcli.c \
|
|
|
|
../plugins/rdm/packet-rdm.c \
|
|
|
|
../plugins/rtnet/packet-rtnet.c \
|
|
|
|
../plugins/v5ua/packet-v5ua.c
|
2004-03-02 01:21:56 +00:00
|
|
|
|
|
|
|
else # ENABLE_STATIC
|
|
|
|
|
|
|
|
plugin_src =
|
|
|
|
|
|
|
|
endif # ENABLE_STATIC
|
|
|
|
|
|
|
|
else # HAVE_PLUGINS
|
|
|
|
plugin_src =
|
|
|
|
|
|
|
|
endif # HAVE_PLUGINS
|
|
|
|
|