1#***************************************************************************
2#                                  _   _ ____  _
3#  Project                     ___| | | |  _ \| |
4#                             / __| | | | |_) | |
5#                            | (__| |_| |  _ <| |___
6#                             \___|\___/|_| \_\_____|
7#
8# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
9#
10# This software is licensed as described in the file COPYING, which
11# you should have received as part of this distribution. The terms
12# are also available at http://curl.haxx.se/docs/copyright.html.
13#
14# You may opt to use, copy, modify, merge, publish, distribute and/or sell
15# copies of the Software, and permit persons to whom the Software is
16# furnished to do so, under the terms of the COPYING file.
17#
18# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19# KIND, either express or implied.
20#
21###########################################################################
22
23AUTOMAKE_OPTIONS = foreign
24
25ACLOCAL_AMFLAGS = -I m4
26
27CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in		\
28CMake/CurlCheckCSourceCompiles.cmake CMake/CurlCheckCSourceRuns.cmake	\
29CMake/CurlTests.c CMake/FindOpenSSL.cmake CMake/FindZLIB.cmake		\
30CMake/OtherTests.cmake CMake/Platforms/WindowsCache.cmake		\
31CMake/Utilities.cmake include/curl/curlbuild.h.cmake
32
33WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat	\
34winbuild/MakefileBuild.vc winbuild/Makefile.vc
35
36EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in	\
37 curl-style.el sample.emacs RELEASE-NOTES buildconf 	\
38 libcurl.pc.in vc6curl.dsw MacOSX-Framework Android.mk $(CMAKE_DIST)	\
39 Makefile.msvc.names $(WINBUILD_DIST)
40
41bin_SCRIPTS = curl-config
42
43SUBDIRS = lib src include
44DIST_SUBDIRS = $(SUBDIRS) tests packages docs
45
46pkgconfigdir = $(libdir)/pkgconfig
47pkgconfig_DATA = libcurl.pc
48
49dist-hook:
50	rm -rf $(top_builddir)/tests/log
51	find $(distdir) -name "*.dist" -exec rm {} \;
52	(distit=`find $(srcdir) -name "*.dist" | grep -v ./ares/`; \
53	for file in $$distit; do \
54	  strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
55	  cp $$file $(distdir)$$strip; \
56	done)
57
58html:
59	cd docs; make html
60
61pdf:
62	cd docs; make pdf
63
64check: test examples
65
66if CROSSCOMPILING
67test-full: test
68test-torture: test
69
70test:
71	@echo "NOTICE: we can't run the tests when cross-compiling!"
72
73else
74
75test:
76	@(cd tests; $(MAKE) all quiet-test)
77
78test-full:
79	@(cd tests; $(MAKE) all full-test)
80
81test-torture:
82	@(cd tests; $(MAKE) all torture-test)
83
84endif
85
86examples:
87	@(cd docs/examples; $(MAKE) check)
88
89clean-local:
90	@(cd tests; $(MAKE) clean)
91	@(cd docs; $(MAKE) clean)
92
93#
94# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
95# must contain the following line:
96# %_topdir /home/loic/local/rpm
97# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
98#
99# cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
100#
101# If additional configure flags are needed to build the package, add the
102# following in ~/.rpmmacros
103# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
104# and run make rpm in the following way:
105# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
106#
107
108rpms:
109	$(MAKE) RPMDIST=curl rpm
110	$(MAKE) RPMDIST=curl-ssl rpm
111
112rpm:
113	RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
114	cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
115	cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
116	rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
117	mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
118	mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
119
120#
121# Build a Solaris pkgadd format file
122# run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
123# file (which ends up back in this directory).
124# The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
125# pkgadd -d ./HAXXcurl-*
126#
127
128# gak - libtool requires an absoulte directory, hence the pwd below...
129pkgadd:
130	umask 022 ; \
131	make install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
132	cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
133	cd $(srcdir)/packages/Solaris && $(MAKE) package
134
135#
136# Build a cygwin binary tarball installation file
137# resulting .tar.bz2 file will end up at packages/Win32/cygwin
138cygwinbin:
139	$(MAKE) -C packages/Win32/cygwin cygwinbin
140
141# We extend the standard install with a custom hook:
142install-data-hook:
143	cd include && $(MAKE) install
144	cd docs && $(MAKE) install
145
146# We extend the standard uninstall with a custom hook:
147uninstall-hook:
148	cd include && $(MAKE) uninstall
149	cd docs && $(MAKE) uninstall
150
151ca-bundle: lib/mk-ca-bundle.pl
152	@echo "generate a fresh ca-bundle.crt"
153	@perl $< -b -l -u lib/ca-bundle.crt
154
155ca-firefox: lib/firefox-db2pem.sh
156	@echo "generate a fresh ca-bundle.crt"
157	./lib/firefox-db2pem.sh lib/ca-bundle.crt
158
159checksrc:
160	cd lib && $(MAKE) checksrc
161	cd src && $(MAKE) checksrc
162