AUTOMAKE_OPTIONS = foreign nostdinc | |
SUBDIRS = src docs | |
if ENABLE_TESTS | |
SUBDIRS += tests | |
endif | |
if BUILD_EXAMPLES | |
SUBDIRS += example | |
endif | |
pkgconfigdir = $(libdir)/pkgconfig | |
pkgconfig_DATA = libssh2.pc | |
include_HEADERS = \ | |
include/libssh2.h \ | |
include/libssh2_publickey.h \ | |
include/libssh2_sftp.h | |
NETWAREFILES = nw/keepscreen.c \ | |
nw/nwlib.c \ | |
nw/GNUmakefile \ | |
nw/test/GNUmakefile | |
DSP = win32/libssh2.dsp | |
VCPROJ = win32/libssh2.vcproj | |
DISTCLEANFILES = $(DSP) | |
VMSFILES = vms/libssh2_make_example.dcl vms/libssh2_make_help.dcl \ | |
vms/libssh2_make_kit.dcl vms/libssh2_make_lib.dcl vms/man2help.c \ | |
vms/readme.vms vms/libssh2_config.h | |
WIN32FILES = win32/GNUmakefile win32/test/GNUmakefile \ | |
win32/libssh2_config.h win32/config.mk win32/rules.mk \ | |
win32/Makefile.Watcom win32/libssh2.dsw win32/tests.dsp $(DSP) \ | |
win32/msvcproj.head win32/msvcproj.foot win32/libssh2.rc | |
OS400FILES = os400/README400 os400/initscript.sh os400/make.sh \ | |
os400/make-src.sh os400/make-rpg.sh os400/make-include.sh \ | |
os400/os400sys.c os400/ccsid.c \ | |
os400/libssh2_config.h os400/macros.h os400/libssh2_ccsid.h \ | |
os400/include/alloca.h os400/include/sys/socket.h os400/include/stdio.h \ | |
os400/libssh2rpg/libssh2.rpgle.in \ | |
os400/libssh2rpg/libssh2_ccsid.rpgle.in \ | |
os400/libssh2rpg/libssh2_publickey.rpgle \ | |
os400/libssh2rpg/libssh2_sftp.rpgle \ | |
Makefile.os400qc3.inc | |
EXTRA_DIST = $(WIN32FILES) $(NETWAREFILES) get_ver.awk \ | |
maketgz NMakefile RELEASE-NOTES libssh2.pc.in $(VMSFILES) config.rpath \ | |
CMakeLists.txt cmake $(OS400FILES) | |
ACLOCAL_AMFLAGS = -I m4 | |
.PHONY: ChangeLog | |
ChangeLog: | |
echo "see NEWS" > ./ChangeLog | |
DISTCLEANFILES += ChangeLog | |
dist-hook: | |
rm -rf $(top_builddir)/tests/log | |
find $(distdir) -name "*.dist" -exec rm {} \; | |
(distit=`find $(srcdir) -name "*.dist"`; \ | |
for file in $$distit; do \ | |
strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \ | |
cp $$file $(distdir)$$strip; \ | |
done) | |
# Code Coverage | |
init-coverage: | |
make clean | |
lcov --directory . --zerocounters | |
COVERAGE_CCOPTS ?= "-g --coverage" | |
COVERAGE_OUT ?= docs/coverage | |
build-coverage: | |
make CFLAGS=$(COVERAGE_CCOPTS) check | |
mkdir -p $(COVERAGE_OUT) | |
lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ | |
--capture | |
gen-coverage: | |
genhtml --output-directory $(COVERAGE_OUT) \ | |
$(COVERAGE_OUT)/$(PACKAGE).info \ | |
--highlight --frames --legend \ | |
--title "$(PACKAGE_NAME)" | |
coverage: init-coverage build-coverage gen-coverage | |
# DSP/VCPROJ generation adapted from libcurl | |
# only OpenSSL and WinCNG are supported with this build system | |
CRYPTO_CSOURCES = openssl.c wincng.c mbedtls.c | |
CRYPTO_HHEADERS = openssl.h wincng.h mbedtls.h | |
# Makefile.inc provides the CSOURCES and HHEADERS defines | |
include Makefile.inc | |
WIN32SOURCES = $(CSOURCES) | |
WIN32HEADERS = $(HHEADERS) libssh2_config.h | |
$(DSP): win32/msvcproj.head win32/msvcproj.foot Makefile.am | |
echo "creating $(DSP)" | |
@( (cat $(srcdir)/win32/msvcproj.head; \ | |
echo "# Begin Group \"Source Files\""; \ | |
echo ""; \ | |
echo "# PROP Default_Filter \"cpp;c;cxx\""; \ | |
win32_srcs='$(WIN32SOURCES)'; \ | |
sorted_srcs=`for file in $$win32_srcs; do echo $$file; done | sort`; \ | |
for file in $$sorted_srcs; do \ | |
echo "# Begin Source File"; \ | |
echo ""; \ | |
echo "SOURCE=..\\src\\"$$file; \ | |
echo "# End Source File"; \ | |
done; \ | |
echo "# End Group"; \ | |
echo "# Begin Group \"Header Files\""; \ | |
echo ""; \ | |
echo "# PROP Default_Filter \"h;hpp;hxx\""; \ | |
win32_hdrs='$(WIN32HEADERS)'; \ | |
sorted_hdrs=`for file in $$win32_hdrs; do echo $$file; done | sort`; \ | |
for file in $$sorted_hdrs; do \ | |
echo "# Begin Source File"; \ | |
echo ""; \ | |
if [ "$$file" = "libssh2_config.h" ]; \ | |
then \ | |
echo "SOURCE=.\\"$$file; \ | |
else \ | |
echo "SOURCE=..\\src\\"$$file; \ | |
fi; \ | |
echo "# End Source File"; \ | |
done; \ | |
echo "# End Group"; \ | |
cat $(srcdir)/win32/msvcproj.foot) | \ | |
awk '{printf("%s\r\n", gensub("\r", "", "g"))}' > $@ ) | |
$(VCPROJ): win32/vc8proj.head win32/vc8proj.foot Makefile.am | |
echo "creating $(VCPROJ)" | |
@( (cat $(srcdir)/vc8proj.head; \ | |
win32_srcs='$(WIN32SOURCES)'; \ | |
sorted_srcs=`for file in $$win32_srcs; do echo $$file; done | sort`; \ | |
for file in $$sorted_srcs; do \ | |
echo "<File RelativePath=\""..\src\$$file"\"></File>"; \ | |
done; \ | |
echo "</Filter><Filter Name=\"Header Files\">"; \ | |
win32_hdrs='$(WIN32HEADERS)'; \ | |
sorted_hdrs=`for file in $$win32_hdrs; do echo $$file; done | sort`; \ | |
for file in $$sorted_hdrs; do \ | |
echo "<File RelativePath=\""..\src\$$file"\"></File>"; \ | |
done; \ | |
cat $(srcdir)/vc8proj.foot) | \ | |
awk '{printf("%s\r\n", gensub("\r", "", "g"))}' > $@ ) | |
checksrc: | |
perl src/checksrc.pl -i4 -m79 -ASIZEOFNOPAREN -ASNPRINTF -ACOPYRIGHT \ | |
-AFOPENMODE -Wsrc/libssh2_config.h src/*.[ch] include/*.h example/*.c \ | |
tests/*.[ch] |