wireshark/epan/Makefile.am
Evan Huus 1f3549168d Don't link explicitly with libwmem, it's already in libwireshark and the symbol
doubling leads to all sorts of very subtle badness (including test failures due
to funny internal assertions because the two wmems have mismatching state).

Make wmem_init and wmem_cleanup PUBLIC instead of LOCAL so that they don't get
stripped and don't cause a link failure when trying to build oids_test (now that
it's not linking with libwmem explicitly). There is possibly a better way to fix
this, but I'm not sure what it is.

svn path=/trunk/; revision=52694
2013-10-19 19:40:02 +00:00

345 lines
10 KiB
Makefile

# Makefile.am
# Automake file for the libwireshark library
# (EPAN is a historical name; it stands for Ethereal Protocol ANalyzer
# Library)
#
# $Id$
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
include ../Makefile.am.inc
if HAVE_LIBLUA
wslua_lib = wslua/libwslua.la
wslua_dir = wslua
wslua_dist_dir =
else # HAVE_LIBLUA
wslua_lib =
wslua_dir =
wslua_dist_dir = wslua
endif # HAVE_LIBLUA
if HAVE_LIBPY
wspython_lib = wspython/libwspython.la
wspython_dir = wspython
wspython_dist_dir =
py_dissectors_dir = -DPYTHON_DIR=\"@pythondir@\"
else
wspython_lib =
wspython_dir =
wspython_dist_dir = wspython
py_dissectors_dir = -DPYTHONDIR=
endif
SUBDIRS = crypt ftypes dfilter dissectors wmem $(wslua_dir) $(wspython_dir)
DIST_SUBDIRS = $(SUBDIRS) $(wslua_dist_dir) $(wspython_dist_dir)
ACLOCAL_AMFLAGS = `../aclocal-flags`
noinst_LTLIBRARIES = libwireshark_generated.la libwireshark_asmopt.la
lib_LTLIBRARIES = libwireshark.la
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
libwireshark_la_LDFLAGS = -version-info 0:0:0 @LDFLAGS_SHAREDLIB@
include Makefile.common
AM_CPPFLAGS = -I$(srcdir)/.. -I$(srcdir)/$(LEMON) -I$(builddir)/wslua \
@LUA_INCLUDES@ $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS) \
$(LIBSMI_CFLAGS) $(LIBGEOIP_CFLAGS) $(PY_CFLAGS)
AM_NON_GENERATED_CFLAGS =-DWS_BUILD_DLL
if HAVE_WARNINGS_AS_ERRORS
AM_NON_GENERATED_CFLAGS += -Werror
endif
#Since code generated by lex may trigger gcc warnings, we are now generating two
#libraries. A single library is generated with the lex code without the barrier
#"stop on warning". An other library is generated from the remaining source
#files with the "stop on warning" barrier.
libwireshark_la_SOURCES = \
$(LIBWIRESHARK_SRC) \
$(LIBWIRESHARK_INCLUDES)
libwireshark_la_CFLAGS = $(AM_NON_GENERATED_CFLAGS) $(py_dissectors_dir)
libwireshark_generated_la_SOURCES = \
$(LIBWIRESHARK_GENERATED_C_FILES) \
$(LIBWIRESHARK_GENERATED_HEADER_FILES)
nodist_libwireshark_generated_la_SOURCES = \
$(NODIST_LIBWIRESHARK_GENERATED_C_FILES) \
$(NODIST_LIBWIRESHARK_GENERATED_HEADER_FILES)
# code optionally implemented in assembler
# only C source available for platforms other than Win32
libwireshark_asmopt_la_SOURCES = \
asm_utils.c \
asm_utils.h \
asm_utils_win32_x86.asm
EXTRA_DIST = \
diam_dict.l \
dtd_grammar.lemon \
dtd_parse.l \
dtd_parse.h \
dtd_preparse.l \
enterprise-numbers \
libwireshark.vcproj \
Makefile.common \
Makefile.nmake \
radius_dict.l \
tvbtest.c \
reassemble_test.c \
uat_load.l \
exntest.c \
oids_test.c \
doxygen.cfg.in \
CMakeLists.txt
CLEANFILES = \
doxygen-epan.tag \
libwireshark.a \
libwireshark.la \
libwireshark_generated.a \
libwireshark_generated.la \
libwireshark_asmopt.a \
libwireshark_asmopt.la \
*~
DISTCLEANFILES = \
$(NODIST_LIBWIRESHARK_GENERATED_C_FILES) \
$(NODIST_LIBWIRESHARK_GENERATED_HEADER_FILES) \
dtd_grammar.out
MAINTAINERCLEANFILES = \
$(LIBWIRESHARK_GENERATED_C_FILES) \
$(LIBWIRESHARK_GENERATED_HEADER_FILES) \
Makefile.in \
sminmpec.c
#
# Add the object files for missing routines, if any.
#
libwireshark_la_LIBADD = \
libwireshark_generated.la \
libwireshark_asmopt.la crypt/libairpdcap.la \
ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \
dissectors/libdirtydissectors.la dissectors/libfiledissectors.la \
wmem/libwmem.la $(wslua_lib) $(wspython_lib) @SOCKET_LIBS@ @NSL_LIBS@ \
@C_ARES_LIBS@ @ADNS_LIBS@ @LIBGCRYPT_LIBS@ @LIBGNUTLS_LIBS@ \
@KRB5_LIBS@ @SSL_LIBS@ @LIBSMI_LDFLAGS@ @GEOIP_LIBS@ \
${top_builddir}/wiretap/libwiretap.la @GLIB_LIBS@ \
${top_builddir}/wsutil/libwsutil.la -lm
libwireshark_la_DEPENDENCIES = \
libwireshark_generated.la \
libwireshark_asmopt.la crypt/libairpdcap.la \
ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \
dissectors/libdirtydissectors.la wmem/libwmem.la $(wslua_lib) $(wspython_lib) \
${top_builddir}/wsutil/libwsutil.la \
${top_builddir}/wiretap/libwiretap.la
EXTRA_PROGRAMS = reassemble_test tvbtest oids_test
reassemble_test_LDADD = \
libwireshark.la \
$(GLIB_LIBS) \
-lz
tvbtest_LDADD = \
libwireshark.la \
$(GLIB_LIBS) \
-lz
oids_test_LDADD = \
libwireshark.la \
$(GLIB_LIBS) \
-lz
exntest: exntest.o except.o
$(LINK) $^ $(GLIB_LIBS)
RUNLEX=$(top_srcdir)/tools/runlex.sh
diam_dict_lex.h: diam_dict.c
dtd_parse_lex.h: dtd_parse.c
dtd_parse.lo: dtd_grammar.h
dtd_preparse_lex.h: dtd_preparse.c
radius_dict_lex.h: radius_dict.c
uat_load_lex.h: uat_load.c
LEMON=../tools/lemon
dtd_grammar.h: dtd_grammar.c
dtd_grammar.c : $(LEMON)/lemon$(EXEEXT) $(srcdir)/$(LEMON)/lempar.c $(srcdir)/dtd_grammar.lemon
$(AM_V_LEMON)$(LEMON)/lemon$(EXEEXT) t=$(srcdir)/$(LEMON)/lempar.c $(srcdir)/dtd_grammar.lemon
tvbtest.o exntest.o oids_test.o: exceptions.h
sminmpec.c: enterprise-numbers ../tools/make-sminmpec.pl
$(PERL) $(srcdir)/../tools/make-sminmpec.pl $(srcdir)/enterprise-numbers sminmpec.c
ps.c: print.ps $(top_srcdir)/tools/rdps.py
$(PYTHON) $(top_srcdir)/tools/rdps.py $(srcdir)/print.ps ps.c
if HAVE_PLUGINS
if ENABLE_STATIC
-include ../plugins/Custom.make
plugin_src = \
../plugins/asn1/packet-asn1.c \
../plugins/docsis/packet-bintrngreq.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-intrngreq.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-type29ucd.c \
../plugins/docsis/packet-uccreq.c \
../plugins/docsis/packet-uccrsp.c \
../plugins/docsis/packet-ucd.c \
../plugins/giop/packet-cosnaming.c \
../plugins/giop/packet-coseventcomm.c \
../plugins/gryphon/packet-gryphon.c \
../plugins/interlink/packet-interlink.c \
../plugins/irda/packet-irda.c \
../plugins/m2m/packet-m2m.c \
../plugins/m2m/wimax_tlv.c \
../plugins/mgcp/packet-mgcp.c \
../plugins/rdm/packet-rdm.c \
../plugins/sercosiii/packet-sercosiii.c \
../plugins/wimax/crc.c \
../plugins/wimax/crc_data.c \
../plugins/wimax/mac_hd_generic_decoder.c \
../plugins/wimax/mac_hd_type1_decoder.c \
../plugins/wimax/mac_hd_type2_decoder.c \
../plugins/wimax/mac_mgmt_msg_decoder.c \
../plugins/wimax/msg_aas_beam.c \
../plugins/wimax/msg_aas_fbck.c \
../plugins/wimax/msg_arq.c \
../plugins/wimax/msg_clk_cmp.c \
../plugins/wimax/msg_dcd.c \
../plugins/wimax/msg_dlmap.c \
../plugins/wimax/msg_dreg.c \
../plugins/wimax/msg_dsa.c \
../plugins/wimax/msg_dsc.c \
../plugins/wimax/msg_dsd.c \
../plugins/wimax/msg_dsx_rvd.c \
../plugins/wimax/msg_fpc.c \
../plugins/wimax/msg_pkm.c \
../plugins/wimax/msg_pmc.c \
../plugins/wimax/msg_prc_lt_ctrl.c \
../plugins/wimax/msg_reg_req.c \
../plugins/wimax/msg_reg_rsp.c \
../plugins/wimax/msg_rep.c \
../plugins/wimax/msg_res_cmd.c \
../plugins/wimax/msg_rng_req.c \
../plugins/wimax/msg_rng_rsp.c \
../plugins/wimax/msg_sbc.c \
../plugins/wimax/msg_ucd.c \
../plugins/wimax/msg_ulmap.c \
../plugins/wimax/packet-wmx.c \
../plugins/wimax/wimax_cdma_code_decoder.c \
../plugins/wimax/wimax_compact_dlmap_ie_decoder.c \
../plugins/wimax/wimax_compact_ulmap_ie_decoder.c \
../plugins/wimax/wimax_fch_decoder.c \
../plugins/wimax/wimax_ffb_decoder.c \
../plugins/wimax/wimax_hack_decoder.c \
../plugins/wimax/wimax_harq_map_decoder.c \
../plugins/wimax/wimax_pdu_decoder.c \
../plugins/wimax/wimax_phy_attributes_decoder.c \
../plugins/wimax/wimax_tlv.c \
../plugins/wimax/wimax_utils.c
else # ENABLE_STATIC
plugin_src =
endif # ENABLE_STATIC
else # HAVE_PLUGINS
plugin_src =
endif # HAVE_PLUGINS
doxygen:
if HAVE_DOXYGEN
$(AM_V_GEN)$(DOXYGEN) doxygen.cfg
endif # HAVE_DOXYGEN
wsar_html: doxygen.cfg ../doxygen_global.cfg
if HAVE_DOXYGEN
(umask 022 ; $(DOXYGEN) doxygen.cfg)
endif
# ABI compliance checker can be obtained from
# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker
# Checked using version 1.21.12
dumpabi-libwireshark: all abi-descriptor.xml
rm -rf abi-check-headers abi_dumps .libs/*.abi.tar.gz
mkdir abi-check-headers
cp ../color.h ../config.h ../register.h abi-check-headers/
mkdir abi-check-headers/epan
cp *.h abi-check-headers/epan
mkdir abi-check-headers/crypt
cp crypt/*.h abi-check-headers/crypt
mkdir abi-check-headers/dfilter
cp dfilter/*.h ../tools/lemon/cppmagic.h abi-check-headers/dfilter
mkdir abi-check-headers/dissectors
cp dissectors/*.h abi-check-headers/dissectors
rm \
abi-check-headers/dissectors/x11-extension-implementation.h \
abi-check-headers/dissectors/x11-glx-render-enum.h \
abi-check-headers/dissectors/x11-register-info.h \
abi-check-headers/dissectors/packet-idmp.h
mkdir abi-check-headers/ftypes
cp ftypes/*.h abi-check-headers/ftypes
mkdir abi-check-headers/wmem
cp wmem/*.h abi-check-headers/wmem
abi-compliance-checker -l libwireshark -v1 `readlink .libs/libwireshark.so | sed 's/.*\.so\.//'` \
-relpath $(abs_srcdir) -dump-abi abi-descriptor.xml || \
cat logs/libwireshark/[0-9]*/log.txt
cp -f abi_dumps/libwireshark/libwireshark_* .libs/
cd .libs && ln -sf libwireshark_*.abi.tar.gz libwireshark.abi.tar.gz
checkapi:
$(AM_V_GEN)$(PERL) ../tools/checkAPIs.pl -g termoutput -build $(LIBWIRESHARK_SRC)