Git init
[external/xmlsec1.git] / Makefile.am
1 NULL =
2
3 SAFE_VERSION    = @XMLSEC_VERSION_SAFE@
4 SUBDIRS         = include src apps man docs
5 TEST_APP        = apps/xmlsec1$(EXEEXT)
6 DEFAULT_CRYPTO  = @XMLSEC_CRYPTO@
7
8 bin_SCRIPTS     = xmlsec1-config
9 pkgconfig_DATA  = xmlsec1.pc @XMLSEC_CRYPTO_PC_FILES_LIST@
10 pkgconfigdir    = $(libdir)/pkgconfig
11 confexecdir     = $(libdir)
12 confexec_DATA   = xmlsec1Conf.sh
13 m4datadir       = $(datadir)/aclocal
14 m4data_DATA     = xmlsec1.m4
15
16 ACLOCAL_AMFLAGS = -I m4
17
18 DISTCLEANFILES = \
19         xmlsec1Conf.sh \
20         xmlsec1.pc xmlsec1-openssl.pc xmlsec1-gnutls.pc xmlsec1-nss.pc \
21         xmlsec1-config \
22         xmlsec1.spec \
23         stamp-h2 \
24         stamp-h3 \
25         stamp-h4 \
26         stamp-h5 \
27         $NULL
28
29 EXTRA_DIST = \
30         m4 \
31         examples \
32         scripts \
33         tests \
34         win32 \
35         NEWS \
36         ChangeLog \
37         Copyright \
38         HACKING \
39         xmlsec-openssl.pc.in xmlsec-gnutls.pc.in xmlsec-nss.pc.in\
40         xmlsec-config.in \
41         xmlsecConf.sh.in \
42         xmlsec.spec.in \
43         xmlsec1Conf.sh \
44         xmlsec1.pc @XMLSEC_CRYPTO_PC_FILES_LIST@ \
45         xmlsec1-config \
46         xmlsec1.spec \
47         xmlsec1.m4 \
48         $(NULL)
49
50 EXTRA_CLEAN = \
51         examples \
52         $(NULL)
53
54 ABS_SRCDIR=@abs_srcdir@
55 ABS_BUILDDIR=@abs_builddir@
56 if XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING
57 PRECHECK_COMMANDS = \
58         cd $(ABS_SRCDIR) \
59         $(NULL)
60 CHECK_CRYPTO_LIST = \
61         "default" \
62         $(NULL)
63 else
64 PRECHECK_COMMANDS= \
65         for i in $(XMLSEC_CRYPTO_LIST) ; do \
66             export LD_LIBRARY_PATH="$(ABS_BUILDDIR)/src/$$i/.libs:$$LD_LIBRARY_PATH" ; \
67         done && \
68         cd $(ABS_SRCDIR) \
69         $(NULL) 
70 CHECK_CRYPTO_LIST = \
71         $(XMLSEC_CRYPTO_LIST) \
72         $(NULL)
73 endif
74
75 docs: docs-man
76         @(cd docs && $(MAKE) docs)
77
78 docs-clean: 
79         @(cd docs && $(MAKE) clean)
80
81 docs-man: 
82         @(cd man && $(MAKE) docs)
83
84 check: check-all check-info 
85
86 check-all: $(TEST_APP) 
87         @($(PRECHECK_COMMANDS) && \
88         for i in $(CHECK_CRYPTO_LIST) ; do \
89             echo "=================== Checking xmlsec-$$i =================================" && \
90             $(SHELL) ./tests/testKeys.sh $$i $(ABS_SRCDIR)/tests $(ABS_BUILDDIR)/$(TEST_APP) der && \
91             $(SHELL) ./tests/testDSig.sh $$i $(ABS_SRCDIR)/tests $(ABS_BUILDDIR)/$(TEST_APP) der && \
92             $(SHELL) ./tests/testEnc.sh  $$i $(ABS_SRCDIR)/tests $(ABS_BUILDDIR)/$(TEST_APP) der ; \
93         done; )
94
95 check-info:
96         @echo "-------------------------- ATTENTION -----------------------------------"
97         @echo "--- 1) Some of the following tests use resources located on external ---"
98         @echo "--- HTTP servers. If you have no Internet connection or the external ---"
99         @echo "--- resource is not responding then the test will fail.              ---"
100         @echo "--- 2) The test fails if corresponding feature(s) is disabled.       ---"
101         @echo "--- Please, don't be surprised that many XML Encryption tests fails  ---"
102         @echo "--- when you use OpenSSL 0.9.6 (see the FAQ for details)             ---"
103         @echo "-------------------------- ATTENTION -----------------------------------"
104
105 check-km: $(TEST_APP)
106         @($(PRECHECK_COMMANDS) && \
107         $(SHELL) ./tests/testKeys.sh default $(ABS_SRCDIR)/tests $(ABS_BUILDDIR)/$(TEST_APP) der)
108
109 check-dsig: $(TEST_APP)         
110         @($(PRECHECK_COMMANDS) && \
111         $(SHELL) ./tests/testDSig.sh default $(ABS_SRCDIR)/tests $(ABS_BUILDDIR)/$(TEST_APP) der)
112
113 check-xkms: $(TEST_APP)         
114         @($(PRECHECK_COMMANDS) && \
115         $(SHELL) ./tests/testXKMS.sh default $(ABS_SRCDIR)/tests $(ABS_BUILDDIR)/$(TEST_APP) der)
116
117 check-enc: $(TEST_APP) 
118         @($(PRECHECK_COMMANDS) && \
119         $(SHELL) ./tests/testEnc.sh  default $(ABS_SRCDIR)/tests $(ABS_BUILDDIR)/$(TEST_APP) der)
120
121 memcheck-res:
122         @grep -i lost /tmp/*.log | sed 's/==.*== *//' | sort -u
123         @grep -i leak /tmp/*.log | sed 's/==.*== *//' | sort -u
124         @grep -i 'in use' /tmp/*.log | sed 's/==.*== *//' | sort -u
125
126 memcheck: $(TEST_APP)
127         @(export DEBUG_MEMORY=1 && $(MAKE) check && $(MAKE) memcheck-res)
128
129 perfcheck: $(TEST_APP)
130         @(export PERF_TEST=10 && $(MAKE) check)
131
132 dist-hook:
133
134 cleantar:
135         @($(RM) -f xmlsec*.tar.gz COPYING.LIB)
136
137 rpm: cleantar
138         @(unset CDPATH && $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
139
140 rpm-release: clean cleantar rpm 
141         
142