libclamav/Makefile.am
e3aaff8e
 #
c442ca9c
 #  Copyright (C) 2013-2019 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
 #  Copyright (C) 2007-2013 Sourcefire, Inc.
 #  Copyright (C) 2002-2007 Tomasz Kojm <tkojm@clamav.net>
e3aaff8e
 #
 #  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
48b7b4a7
 #  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 #  MA 02110-1301, USA.
e3aaff8e
 
cf8b18d7
 AM_YFLAGS = -d
7dd5d4c9
 AM_CPPFLAGS = -I$(top_srcdir) -I@srcdir@/nsis $(LTDLINCL)
cf8a925f
 AM_CFLAGS=@WERR_CFLAGS@
bb7bd3ab
 lib_LTLIBRARIES =
53216ad9
 COMMON_CLEANFILES =
b563e840
 EXTRA_DIST = c++/Makefile.nollvm.in
bb7bd3ab
 if ENABLE_UNRAR
5ed60260
 
33d52089
 AM_CPPFLAGS += -DWARN_DLOPEN_FAIL
d39cb658
 libclamunrar_la_CXXFLAGS = $(AM_CPPFLAGS) -DRARDLL -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else
5ed60260
 libclamunrar_la_LDFLAGS = @TH_SAFE@ -version-info @LIBCLAMAV_VERSION@ -no-undefined
 
 if VERSIONSCRIPT
 libclamunrar_la_LDFLAGS += -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamunrar/libclamunrar.map
 endif
 
 libclamunrar_la_SOURCES = \
d39cb658
 	../libclamunrar/archive.cpp \
 	../libclamunrar/arcread.cpp \
 	../libclamunrar/blake2s.cpp \
 	../libclamunrar/cmddata.cpp \
 	../libclamunrar/consio.cpp \
 	../libclamunrar/crc.cpp \
 	../libclamunrar/crypt.cpp \
 	../libclamunrar/dll.cpp \
 	../libclamunrar/encname.cpp \
 	../libclamunrar/errhnd.cpp \
 	../libclamunrar/extinfo.cpp \
 	../libclamunrar/extract.cpp \
 	../libclamunrar/filcreat.cpp \
 	../libclamunrar/file.cpp \
 	../libclamunrar/filefn.cpp \
 	../libclamunrar/filestr.cpp \
 	../libclamunrar/find.cpp \
 	../libclamunrar/getbits.cpp \
 	../libclamunrar/global.cpp \
 	../libclamunrar/hash.cpp \
 	../libclamunrar/headers.cpp \
 	../libclamunrar/isnt.cpp \
 	../libclamunrar/list.cpp \
 	../libclamunrar/match.cpp \
 	../libclamunrar/options.cpp \
 	../libclamunrar/pathfn.cpp \
 	../libclamunrar/qopen.cpp \
 	../libclamunrar/rar.cpp \
 	../libclamunrar/rarvm.cpp \
 	../libclamunrar/rawread.cpp \
 	../libclamunrar/rdwrfn.cpp \
 	../libclamunrar/recvol.cpp \
 	../libclamunrar/resource.cpp \
 	../libclamunrar/rijndael.cpp \
 	../libclamunrar/rs.cpp \
 	../libclamunrar/rs16.cpp \
 	../libclamunrar/scantree.cpp \
 	../libclamunrar/secpassword.cpp \
 	../libclamunrar/sha1.cpp \
 	../libclamunrar/sha256.cpp \
 	../libclamunrar/smallfn.cpp \
 	../libclamunrar/strfn.cpp \
 	../libclamunrar/strlist.cpp \
 	../libclamunrar/system.cpp \
 	../libclamunrar/threadpool.cpp \
 	../libclamunrar/timefn.cpp \
 	../libclamunrar/ui.cpp \
 	../libclamunrar/unicode.cpp \
 	../libclamunrar/unpack.cpp \
 	../libclamunrar/volume.cpp
5ed60260
 
 lib_LTLIBRARIES += libclamunrar.la
 EXTRA_DIST += @top_srcdir@/libclamunrar/libclamunrar.map
 
 
 libclamunrar_iface_la_LIBADD = libclamunrar.la
bb7bd3ab
 libclamunrar_iface_la_LDFLAGS = -module @TH_SAFE@ -version-info @LIBCLAMAV_VERSION@ -no-undefined
 
 if VERSIONSCRIPT
 libclamunrar_iface_la_LDFLAGS += -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamunrar_iface/libclamunrar_iface.map
 endif
 
 libclamunrar_iface_la_SOURCES = \
d39cb658
 	../libclamunrar_iface/unrar_iface.cpp \
bb7bd3ab
 	../libclamunrar_iface/unrar_iface.h
 
 lib_LTLIBRARIES += libclamunrar_iface.la
 EXTRA_DIST += @top_srcdir@/libclamunrar_iface/libclamunrar_iface.map
33d52089
 
 IFACELIBADD = -dlopen libclamunrar_iface.la
 IFACEDEP = libclamunrar_iface.la
bb7bd3ab
 endif
 
b070a1d2
 libclamav_internal_utils_la_SOURCES=str.c\
 				    str.h\
b2e7c931
 					conv.c \
 					conv.h \
 					crypto.c \
 					clamav.h \
84c35b01
 				    iowrap.c \
 				    iowrap.h \
3b053173
 				    others_common.c \
 				    others.h \
424d41d3
 				    qsort.c \
3b053173
 				    regex/strlcpy.c \
 				    regex/regcomp.c \
 				    regex/regerror.c \
 				    regex/regexec.c \
 				    regex/regfree.c \
 				    regex/cclass.h \
 				    regex/cname.h \
 				    regex/regex.h \
 				    regex/regex2.h \
929090d6
 				    regex/utils.h \
 					strlcat.c
3b053173
 
9253ae3d
 libclamav_internal_utils_la_LDFLAGS=-static @SSL_LDFLAGS@ @JSON_LDFLAGS@
b563e840
 libclamav_internal_utils_la_CFLAGS=$(AM_CFLAGS)  -fPIC -DPIC @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@ @XML_CPPFLAGS@
d9a7c276
 libclamav_internal_utils_la_LIBADD=@SSL_LIBS@ @JSON_LIBS@ @PCRE_LIBS@
bb7bd3ab
 
b070a1d2
 libclamav_internal_utils_nothreads_la_SOURCES=str.c\
b2e7c931
 					conv.c \
 					conv.h \
 					crypto.c \
 					clamav.h \
b070a1d2
 				    str.h\
84c35b01
 				    iowrap.c \
 				    iowrap.h \
b070a1d2
 				    others_common.c \
 				    others.h \
424d41d3
 				    qsort.c \
b070a1d2
 				    regex/strlcpy.c \
 				    regex/regcomp.c \
 				    regex/regerror.c \
 				    regex/regexec.c \
 				    regex/regfree.c \
 				    regex/cclass.h \
 				    regex/cname.h \
 				    regex/regex.h \
 				    regex/regex2.h \
929090d6
 				    regex/utils.h \
 					strlcat.c
b070a1d2
 
9253ae3d
 libclamav_internal_utils_nothreads_la_LDFLAGS=-static @SSL_LDFLAGS@ @JSON_LDFLAGS@
d9a7c276
 libclamav_internal_utils_nothreads_la_CFLAGS=$(AM_CFLAGS) -DCL_NOTHREADS @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
 libclamav_internal_utils_nothreads_la_LIBADD=@SSL_LIBS@ @JSON_LIBS@ @PCRE_LIBS@
d3699d57
 SUBDIRS=
b070a1d2
 
2c7d5adc
 if ENABLE_LLVM
 LLVMLIBADD=c++/libclamavcxx.la -lstdc++ -lm
f51ae772
 LLVMDEP=c++/libclamavcxx.la
d3699d57
 SUBDIRS+=c++
2c7d5adc
 else
 LLVMLIBADD=libclamav_nocxx.la
f51ae772
 LLVMDEP=libclamav_nocxx.la
82813fc7
 c++/Makefile: c++/Makefile.nollvm.in
 	$(AM_V_at) cp $< $@
 distclean-recursive distdir maintainer-clean-recursive: c++/Makefile
2c7d5adc
 endif
 
7b563ca7
 if USE_INTERNAL_MSPACK
4d3feda9
 # libmspack version: 0.8alpha (1:0:1)
 LIBMSPACK_VERSION = 1:0:1
b563e840
 
40109256
 libclammspack_la_CFLAGS = -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wno-unused-parameter -I@top_srcdir@/libclammspack/mspack
b563e840
 libclammspack_la_LDFLAGS = -version-info $(LIBMSPACK_VERSION) -no-undefined -export-symbols-regex '^mspack_'
 
 # if VERSIONSCRIPT
 # libclammspack_la_LDFLAGS += -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclammspack/libclammspack.map
 # endif
 
 libclammspack_la_SOURCES = \
 	../libclammspack/mspack/cab.h \
 	../libclammspack/mspack/cabc.c \
 	../libclammspack/mspack/cabd.c \
 	../libclammspack/mspack/chm.h \
 	../libclammspack/mspack/chmc.c \
 	../libclammspack/mspack/chmd.c \
 	../libclammspack/mspack/crc32.c \
 	../libclammspack/mspack/crc32.h \
 	../libclammspack/mspack/des.h \
 	../libclammspack/mspack/hlp.h \
 	../libclammspack/mspack/hlpc.c \
 	../libclammspack/mspack/hlpd.c \
 	../libclammspack/mspack/kwaj.h \
 	../libclammspack/mspack/kwajc.c \
 	../libclammspack/mspack/kwajd.c \
 	../libclammspack/mspack/lit.h \
 	../libclammspack/mspack/litc.c \
 	../libclammspack/mspack/litd.c \
 	../libclammspack/mspack/lzss.h \
 	../libclammspack/mspack/lzssd.c \
 	../libclammspack/mspack/lzx.h \
 	../libclammspack/mspack/lzxc.c \
 	../libclammspack/mspack/lzxd.c \
 	../libclammspack/mspack/mspack.h \
 	../libclammspack/mspack/mszip.h \
 	../libclammspack/mspack/mszipc.c \
 	../libclammspack/mspack/mszipd.c \
 	../libclammspack/mspack/oab.h \
 	../libclammspack/mspack/oabc.c \
 	../libclammspack/mspack/oabd.c \
 	../libclammspack/mspack/qtm.h \
 	../libclammspack/mspack/qtmd.c \
 	../libclammspack/mspack/readbits.h \
 	../libclammspack/mspack/readhuff.h \
 	../libclammspack/mspack/sha.h \
 	../libclammspack/mspack/system.c \
 	../libclammspack/mspack/system.h \
 	../libclammspack/mspack/szdd.h \
 	../libclammspack/mspack/szddc.c \
 	../libclammspack/mspack/szddd.c
 
 lib_LTLIBRARIES += libclammspack.la
 # EXTRA_DIST += @top_srcdir@/libclammspack/libclammspack.map
 
7b563ca7
 MSPACK_CFLAGS = -I@top_srcdir@/libclammspack/mspack -DHAVE_INTERNAL_MSPACK
b563e840
 MSPACKLIBADD = -lclammspack
 MSPACKDEP = libclammspack.la
 
7b563ca7
 else
 MSPACK_CFLAGS = $(LIBMSPACK_CFLAGS)
 MSPACKLIBADD = $(LIBMSPACK_LIBS)
 MSPACKDEP =
 
 libmspack/Makefile: 
 .PHONY: distdir distclean maintainer-clean
 distdir:
 	echo "make distdir requires --with-system-libmspack=no"
 	exit 1
 
 # nothing to do here, rules must exist for distclean to succeed
 distclean:
 	-rm -f Makefile
 maintainer-clean:
 
 distclean-recursive distdir maintainer-clean-recursive: libmspack/Makefile
 endif
b563e840
 
baeb6253
 if ENABLE_YARA
 YARA_CFLAGS=-DHAVE_YARA
 endif
 
2c7d5adc
 libclamav_nocxx_la_SOURCES = bytecode_nojit.c
d9a7c276
 libclamav_nocxx_la_CFLAGS=$(AM_CFLAGS) @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
2c7d5adc
 
b563e840
 libclamav_la_LIBADD = @SSL_LIBS@ @JSON_LIBS@ @PCRE_LIBS@ @LIBCLAMAV_LIBS@ @LIBLTDL@ $(IFACELIBADD) $(MSPACKLIBADD) $(LLVMLIBADD) libclamav_internal_utils.la @THREAD_LIBS@ @LIBM@
 libclamav_la_DEPENDENCIES =  @LTDLDEPS@ $(IFACEDEP) $(LLVMDEP) $(MSPACKDEP) libclamav_internal_utils.la
7b563ca7
 libclamav_la_CFLAGS = $(MSPACK_CFLAGS) $(AM_CFLAGS) $(YARA_CFLAGS) -DSEARCH_LIBDIR=\"$(libdir)\" @LIBCLAMAV_CPPFLAGS@ @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @ICONV_CPPFLAGS@ @PCRE_CPPFLAGS@ @XML_CPPFLAGS@
ca2d1b55
 libclamav_la_LDFLAGS = @SSL_LDFLAGS@ @TH_SAFE@ @JSON_LDFLAGS@ @ICONV_LDFLAGS@ $(XML_LIBS) -version-info @LIBCLAMAV_VERSION@ -no-undefined
e3aaff8e
 
097455e1
 if VERSIONSCRIPT
80cf6309
 libclamav_la_LDFLAGS += -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamav/libclamav.map
097455e1
 endif
 
e3aaff8e
 include_HEADERS = clamav.h
 
 libclamav_la_SOURCES = \
8000d078
         matcher-ac.c \
         matcher-ac.h \
         matcher-bm.c \
         matcher-bm.h \
c802edd5
         matcher-hash.c \
         matcher-hash.h \
e3aaff8e
         matcher.c \
         matcher.h \
         others.c \
         others.h \
         readdb.c \
68fb8dd1
 	readdb.h \
43be1fc1
 	cvd.c \
6a2532ca
 	cvd.h \
 	dsig.c \
 	dsig.h \
e3aaff8e
 	scanners.c \
85dd8460
 	scanners.h \
c8f2d060
 	textdet.c \
 	textdet.h \
888f5794
 	filetypes.c \
 	filetypes.h \
7021b545
 	filetypes_int.h \
52c2a8bd
 	rtf.c \
 	rtf.h \
e3aaff8e
 	blob.c \
 	blob.h \
 	mbox.c \
 	mbox.h \
 	message.c \
 	message.h \
 	table.c \
 	table.h \
 	text.c \
47bbbc56
 	text.h \
 	ole2_extract.c \
 	ole2_extract.h \
 	vba_extract.c \
f893c0f3
 	vba_extract.h \
341e5433
 	msexpand.c \
6307ca15
 	msexpand.h \
 	pe.c \
414abe87
 	pe.h \
235464bb
 	pe_icons.c \
 	pe_icons.h \
4c4651ad
 	disasm.c \
 	disasm.h \
d0934caf
 	disasm-common.h \
4c4651ad
 	disasmpriv.h \
342e27a5
 	upx.c \
888f5794
 	upx.h \
 	htmlnorm.c \
a5373b64
 	htmlnorm.h \
d3699d57
 	libmspack.c \
 	libmspack.h \
85dd8460
 	rebuildpe.c \
 	rebuildpe.h \
 	petite.c \
5f1a932b
 	petite.h \
60cd49c9
 	wwunpack.c \
 	wwunpack.h \
81030038
 	unsp.c \
 	unsp.h \
2f73b977
 	aspack.c \
 	aspack.h \
5d048883
 	packlibs.c \
 	packlibs.h \
5f1a932b
 	fsg.c \
1a83f3b9
 	fsg.h \
4aa4a05c
 	mew.c \
 	mew.h \
e8042398
 	upack.c \
 	upack.h \
1a83f3b9
 	line.c \
2b259453
 	line.h \
 	untar.c \
c3a3be2d
 	untar.h \
f133da7a
 	unzip.c \
 	unzip.h \
25556519
 	ooxml.c \
 	ooxml.h \
f377e052
 	inflate64.c \
 	inflate64.h \
 	inffixed64.h \
 	inflate64_priv.h \
c3a3be2d
 	special.c \
0f5e1958
 	special.h \
 	binhex.c \
a7f5fd00
 	binhex.h \
 	is_tar.c \
f0bc32bd
 	is_tar.h \
 	tnef.c \
478ce4b2
 	tnef.h \
ed93f138
 	autoit.c \
 	autoit.h \
9d96e4b6
 	unarj.c \
 	unarj.h \
faaf436a
 	nsis/bzlib.c \
 	nsis/bzlib_private.h \
 	nsis/nsis_bzlib.h \
 	nsis/nulsft.c \
 	nsis/nulsft.h \
84f4e2bb
 	nsis/infblock.c \
8a65cd5a
 	nsis/nsis_zconf.h \
 	nsis/nsis_zlib.h \
 	nsis/nsis_zutil.h \
798308de
 	pdf.c \
c2dfe70e
 	pdf.h \
930b9395
 	pdfng.c \
c49c14af
 	pdfdecode.c \
 	pdfdecode.h \
c2dfe70e
 	spin.c \
094116b2
 	spin.h \
822930fc
 	yc.c \
 	yc.h \
094116b2
 	elf.c \
01302683
 	elf.h \
bf45bf13
 	execs.h \
 	sis.c \
3953039b
 	sis.h \
 	uuencode.c \
bb03e766
 	uuencode.h \
bd912dd8
 	phishcheck.c \
 	phishcheck.h \
 	phish_domaincheck_db.c \
 	phish_domaincheck_db.h \
 	phish_whitelist.c \
 	phish_whitelist.h \
b6927a7c
 	iana_cctld.h \
0a1fef4f
 	iana_tld.h \
bd912dd8
 	regex_list.c \
5b68299b
 	regex_list.h \
5ee56e41
 	regex_suffix.c \
 	regex_suffix.h \
3506ac49
 	entconv.c \
 	entconv.h \
 	entitylist.h \
 	encoding_aliases.h \
 	hashtab.c \
bc93eda0
 	hashtab.h \
 	dconf.c \
06646acf
 	dconf.h \
f377e052
 	lzma_iface.c \
f8be651b
 	lzma_iface.h \
0e605501
 	7z_iface.c \
 	7z_iface.h \
 	7z/7z.h \
 	7z/7zAlloc.c \
 	7z/7zAlloc.h \
 	7z/7zBuf.c \
 	7z/7zBuf.h \
 	7z/7zBuf2.c \
 	7z/7zCrc.c \
 	7z/7zCrc.h \
 	7z/7zDec.c \
81fded11
 	7z/7zFile.c \
 	7z/7zFile.h \
0e605501
 	7z/7zIn.c \
81fded11
 	7z/7zStream.c \
0e605501
 	7z/7zVersion.h \
81fded11
 	7z/Bcj2.c \
 	7z/Bcj2.h \
 	7z/Bra.c \
 	7z/Bra.h \
 	7z/Bra86.c \
0e605501
 	7z/CpuArch.h \
 	7z/Lzma2Dec.c \
 	7z/Lzma2Dec.h \
 	7z/LzmaDec.c \
 	7z/LzmaDec.h \
 	7z/Ppmd.h \
 	7z/Ppmd7.c \
 	7z/Ppmd7.h \
 	7z/Ppmd7Dec.c \
 	7z/Types.h \
43d7f6f6
 	7z/Xz.c \
 	7z/Xz.h \
 	7z/XzCrc64.c \
 	7z/XzCrc64.h \
 	7z/XzDec.c \
 	7z/XzIn.c \
 	7z/Delta.c \
 	7z/Delta.h \
 	7z/Alloc.h \
 	7z/BraIA64.c \
 	7z/CpuArch.c \
 	7z/CpuArch.h \
 	7z/7zCrcOpt.c \
4a629de8
 	7z/RotateDefs.h \
f8be651b
 	explode.c \
3064a542
 	explode.h \
 	textnorm.c \
a6e38800
 	textnorm.h \
 	dlp.c \
fd08e02e
 	dlp.h \
 	jsparse/js-norm.c \
 	jsparse/js-norm.h \
4a6ade44
 	jsparse/lexglobal.h \
937ade08
 	jsparse/textbuf.h \
 	uniq.c \
04f9bedf
 	uniq.h \
a5f0eabf
 	version.c\
885c2bf5
 	version.h\
 	mpool.c\
589d8d8e
 	mpool.h \
e0ac80ab
 	filtering.h\
 	filtering.c\
34c71837
 	fmap.c \
 	fmap.h \
e0ac80ab
 	perflogging.c\
 	perflogging.h\
4e46d65d
 	default.h\
997a1efe
 	bytecode.c\
d9432eea
 	bytecode.h\
7a9022c9
 	bytecode_vm.c\
 	bytecode_priv.h\
75e46945
 	clambc.h \
 	cpio.c \
89c14869
 	cpio.h \
 	macho.c \
7ebede9b
 	macho.h \
 	ishield.c \
800a79e0
 	ishield.h \
cf0cd429
 	type_desc.h \
646395bb
 	bcfeatures.h \
cf0cd429
 	bytecode_api.c \
 	bytecode_api_decl.c \
d0af4afe
 	bytecode_api.h \
88815fd8
 	bytecode_api_impl.h \
54e6b31f
 	bytecode_hooks.h \
511c2e79
 	cache.c \
78f73f0f
 	cache.h \
 	bytecode_detect.c \
0d4c9946
 	bytecode_detect.h\
ec30b57c
 	builtin_bytecodes.h\
 	events.c\
44a3e21a
 	events.h \
adf1c03b
 	adc.c \
 	adc.h \
ca019d6d
 	dmg.c \
 	dmg.h \
 	xar.c \
 	xar.h \
30a75097
 	xdp.c \
 	xdp.h \
6c2feae2
 	mbr.c \
9fdbf2c7
 	mbr.h \
fce85dd7
 	gpt.c \
 	gpt.h \
6c2feae2
 	apm.c \
 	apm.h \
 	prtn_intxn.c \
 	prtn_intxn.h \
9fdbf2c7
 	json_api.c\
 	json_api.h\
43d7f6f6
 	xz_iface.c \
 	xz_iface.h \
217295cc
 	sf_base64decode.c \
 	sf_base64decode.h \
1d1c4b15
 	hfsplus.c \
 	hfsplus.h \
44a3e21a
 	swf.c \
b44fb658
 	swf.h \
 	jpeg.c \
419a9d3d
 	jpeg.h \
 	png.c \
7606789f
 	png.h \
583cd65f
 	iso9660.c \
 	iso9660.h \
7606789f
 	arc4.c \
b28a0d6f
 	arc4.h \
374be101
 	rijndael.c \
d1fcd16d
 	rijndael.h \
e5c6c1aa
 	crtmgr.c \
 	crtmgr.h \
b28a0d6f
 	asn1.c \
4896ecf6
 	asn1.h \
 	fpu.c \
898fc8fb
 	fpu.h \
f2571e34
 	stats.c \
 	stats.h \
 	www.c \
 	www.h \
e182c02c
 	stats_json.c \
 	stats_json.h \
9e0f01d9
 	hostid.c \
2abe7362
 	hostid.h \
 	openioc.c \
8be1f26d
 	openioc.h \
baeb6253
 	msdoc.c \
 	msdoc.h \
 	matcher-pcre.c \
 	matcher-pcre.h \
 	regex_pcre.c \
 	regex_pcre.h \
 	msxml.c \
 	msxml.h \
 	msxml_parser.c \
1d45f5b8
 	msxml_parser.h \
 	tiff.c \
9a1232d2
 	tiff.h \
 	hwp.c \
28fa7eae
 	hwp.h \
 	lzw/lzwdec.c \
18ff5029
 	lzw/lzwdec.h \
 	matcher-byte-comp.c \
 	matcher-byte-comp.h
baeb6253
 
 if ENABLE_YARA
 libclamav_la_SOURCES += yara_arena.c \
e53a356b
 	yara_arena.h \
5842265f
 	yara_compiler.c \
 	yara_compiler.h \
ebf3953f
 	yara_exec.c \
 	yara_exec.h \
3ca6d4c0
 	yara_hash.c \
 	yara_hash.h \
cf8b18d7
 	yara_grammar.y \
 	yara_lexer.l \
 	yara_lexer.h \
6e767879
 	yara_parser.c \
 	yara_parser.h \
baeb6253
 	yara_clam.h
 endif
b070a1d2
 
33d76705
 libclamav_la_SOURCES += bignum.h\
 	bignum_fast.h\
         tomsfastmath/addsub/fp_add.c\
         tomsfastmath/addsub/fp_add_d.c\
         tomsfastmath/addsub/fp_addmod.c\
         tomsfastmath/addsub/fp_cmp.c\
         tomsfastmath/addsub/fp_cmp_d.c\
         tomsfastmath/addsub/fp_cmp_mag.c\
         tomsfastmath/addsub/fp_sub.c\
         tomsfastmath/addsub/fp_sub_d.c\
         tomsfastmath/addsub/fp_submod.c\
         tomsfastmath/addsub/s_fp_add.c\
         tomsfastmath/addsub/s_fp_sub.c\
         tomsfastmath/bin/fp_radix_size.c\
         tomsfastmath/bin/fp_read_radix.c\
         tomsfastmath/bin/fp_read_signed_bin.c\
         tomsfastmath/bin/fp_read_unsigned_bin.c\
         tomsfastmath/bin/fp_reverse.c\
         tomsfastmath/bin/fp_s_rmap.c\
         tomsfastmath/bin/fp_signed_bin_size.c\
         tomsfastmath/bin/fp_to_signed_bin.c\
         tomsfastmath/bin/fp_to_unsigned_bin.c\
         tomsfastmath/bin/fp_toradix.c\
429771f8
         tomsfastmath/bin/fp_toradix_n.c\
33d76705
         tomsfastmath/bin/fp_unsigned_bin_size.c\
         tomsfastmath/bit/fp_cnt_lsb.c\
         tomsfastmath/bit/fp_count_bits.c\
         tomsfastmath/bit/fp_div_2.c\
         tomsfastmath/bit/fp_div_2d.c\
         tomsfastmath/bit/fp_lshd.c\
         tomsfastmath/bit/fp_mod_2d.c\
         tomsfastmath/bit/fp_rshd.c\
         tomsfastmath/divide/fp_div.c\
         tomsfastmath/divide/fp_div_d.c\
         tomsfastmath/divide/fp_mod.c\
         tomsfastmath/divide/fp_mod_d.c\
         tomsfastmath/exptmod/fp_2expt.c\
         tomsfastmath/exptmod/fp_exptmod.c\
         tomsfastmath/misc/fp_ident.c\
         tomsfastmath/misc/fp_set.c\
         tomsfastmath/mont/fp_montgomery_calc_normalization.c\
         tomsfastmath/mont/fp_montgomery_reduce.c\
         tomsfastmath/mont/fp_montgomery_setup.c\
         tomsfastmath/mul/fp_mul.c\
         tomsfastmath/mul/fp_mul_comba.c\
         tomsfastmath/mul/fp_mul_2.c\
         tomsfastmath/mul/fp_mul_2d.c\
         tomsfastmath/mul/fp_mul_comba_12.c\
         tomsfastmath/mul/fp_mul_comba_17.c\
         tomsfastmath/mul/fp_mul_comba_20.c\
         tomsfastmath/mul/fp_mul_comba_24.c\
         tomsfastmath/mul/fp_mul_comba_28.c\
         tomsfastmath/mul/fp_mul_comba_3.c\
         tomsfastmath/mul/fp_mul_comba_32.c\
         tomsfastmath/mul/fp_mul_comba_4.c\
         tomsfastmath/mul/fp_mul_comba_48.c\
         tomsfastmath/mul/fp_mul_comba_6.c\
         tomsfastmath/mul/fp_mul_comba_64.c\
         tomsfastmath/mul/fp_mul_comba_7.c\
         tomsfastmath/mul/fp_mul_comba_8.c\
         tomsfastmath/mul/fp_mul_comba_9.c\
         tomsfastmath/mul/fp_mul_comba_small_set.c\
         tomsfastmath/mul/fp_mul_d.c\
         tomsfastmath/mul/fp_mulmod.c\
         tomsfastmath/numtheory/fp_invmod.c\
         tomsfastmath/sqr/fp_sqr.c\
         tomsfastmath/sqr/fp_sqr_comba_12.c\
         tomsfastmath/sqr/fp_sqr_comba_17.c\
         tomsfastmath/sqr/fp_sqr_comba_20.c\
         tomsfastmath/sqr/fp_sqr_comba_24.c\
         tomsfastmath/sqr/fp_sqr_comba_28.c\
         tomsfastmath/sqr/fp_sqr_comba_3.c\
         tomsfastmath/sqr/fp_sqr_comba_32.c\
         tomsfastmath/sqr/fp_sqr_comba_4.c\
         tomsfastmath/sqr/fp_sqr_comba_48.c\
         tomsfastmath/sqr/fp_sqr_comba_6.c\
         tomsfastmath/sqr/fp_sqr_comba_64.c\
         tomsfastmath/sqr/fp_sqr_comba_7.c\
         tomsfastmath/sqr/fp_sqr_comba_8.c\
         tomsfastmath/sqr/fp_sqr_comba_9.c\
         tomsfastmath/sqr/fp_sqr_comba_generic.c\
         tomsfastmath/sqr/fp_sqr_comba_small_set.c\
 	tomsfastmath/sqr/fp_sqrmod.c
 
04f9bedf
 .PHONY: version.h.tmp
a391afb9
 version.c: version.h
04f9bedf
 version.h: version.h.tmp
5d1ac761
 	$(AM_V_GEN) if test -f version.h.static; then\
add738d2
 		cp version.h.static version.h;\
 	elif ! diff $@ version.h.tmp >/dev/null 2>/dev/null; then\
 		cp version.h.tmp $@;\
04f9bedf
 	fi
 
 version.h.tmp:
5d1ac761
 	$(AM_V_GEN) test -f version.h || touch version.h;\
a5f0eabf
 	rm -f $@;\
c9216861
 	REVISION="$$(LANG=C cd "$(top_srcdir)"; git describe --always 2>/dev/null || echo "exported")";\
 	if test "$$REVISION" = "exported"; then\
52ba6359
 	    REVISION="";\
04f9bedf
 	fi;\
add738d2
 	if test -n "$$REVISION"; then\
52ba6359
 		echo "#define REPO_VERSION \"devel-$$REVISION\"" >> $@;\
add738d2
 	else\
 		touch version.h.tmp;\
 	fi
097455e1
 
bb7bd3ab
 lib_LTLIBRARIES += libclamav.la
2c7d5adc
 noinst_LTLIBRARIES = libclamav_internal_utils.la libclamav_internal_utils_nothreads.la libclamav_nocxx.la
33d76705
 EXTRA_DIST += regex/engine.c tomsfastmath/sqr/fp_sqr_comba.c tomsfastmath/mul/fp_mul_comba.c libclamav.map \
4a6ade44
 	     jsparse/generated/operators.h jsparse/generated/keywords.h jsparse/future_reserved_words.list\
 	     jsparse/keywords.list jsparse/special_keywords.list jsparse/operators.gperf
53216ad9
 COMMON_CLEANFILES+=version.h version.h.tmp *.gcda *.gcno
fd08e02e
 if MAINTAINER_MODE
 BUILT_SOURCES=jsparse/generated/operators.h jsparse/generated/keywords.h jsparse-keywords.gperf
 
 GPERF_FLAGS=-E -t -L ANSI-C -C -F ', TOK_ERROR' -c
 
 jsparse-keywords.gperf: jsparse/keywords.list jsparse/future_reserved_words.list jsparse/special_keywords.list
 	echo -e "struct keyword { const char *name; int val; };\n%%" >keywords-g-tmp
 	for i in `cat @srcdir@/jsparse/keywords.list`; do j=`echo $$i |tr \[a-z\] \[A-Z\]`; echo "$$i, TOK_$$j" >>keywords-g-tmp; done
 	for i in `cat @srcdir@/jsparse/future_reserved_words.list`; do echo "$$i, TOK_FUTURE_RESERVED_WORD" >>keywords-g-tmp; done
 	cat @srcdir@/jsparse/special_keywords.list >>keywords-g-tmp
 	mv keywords-g-tmp $@
 
 jsparse/generated/operators.h: jsparse/operators.gperf
 	$(GPERF) $(GPERF_FLAGS) -H op_hash -N in_op_set -W oplist $< >operators-tmp-g
 	grep -v '^#line' <operators-tmp-g | sed -e 's/^const struct/static const struct/' -e 's/register //g' >operators-tmp
 	rm operators-tmp-g
 	mv operators-tmp @srcdir@/jsparse/generated/operators.h
 
 jsparse/generated/keywords.h: jsparse-keywords.gperf
 	$(GPERF) $(GPERF_FLAGS) $< >keywords-tmp-g
 	grep -v '^#line' <keywords-tmp-g |  sed -e 's/^const struct/static const struct/' -e 's/register //g' >keywords-tmp
 	rm keywords-tmp-g
 	mv keywords-tmp @srcdir@/jsparse/generated/keywords.h
 
dfc0c031
 CLEANFILES=$(COMMON_CLEANFILES) @srcdir@/jsparse/generated/operators.h @srcdir@/jsparse/generated/keywords.h
04f9bedf
 else
dfc0c031
 CLEANFILES=$(COMMON_CLEANFILES)
fd08e02e
 endif