xref: /aosp_15_r20/external/curl/Makefile.am (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker#***************************************************************************
2*6236dae4SAndroid Build Coastguard Worker#                                  _   _ ____  _
3*6236dae4SAndroid Build Coastguard Worker#  Project                     ___| | | |  _ \| |
4*6236dae4SAndroid Build Coastguard Worker#                             / __| | | | |_) | |
5*6236dae4SAndroid Build Coastguard Worker#                            | (__| |_| |  _ <| |___
6*6236dae4SAndroid Build Coastguard Worker#                             \___|\___/|_| \_\_____|
7*6236dae4SAndroid Build Coastguard Worker#
8*6236dae4SAndroid Build Coastguard Worker# Copyright (C) Daniel Stenberg, <[email protected]>, et al.
9*6236dae4SAndroid Build Coastguard Worker#
10*6236dae4SAndroid Build Coastguard Worker# This software is licensed as described in the file COPYING, which
11*6236dae4SAndroid Build Coastguard Worker# you should have received as part of this distribution. The terms
12*6236dae4SAndroid Build Coastguard Worker# are also available at https://curl.se/docs/copyright.html.
13*6236dae4SAndroid Build Coastguard Worker#
14*6236dae4SAndroid Build Coastguard Worker# You may opt to use, copy, modify, merge, publish, distribute and/or sell
15*6236dae4SAndroid Build Coastguard Worker# copies of the Software, and permit persons to whom the Software is
16*6236dae4SAndroid Build Coastguard Worker# furnished to do so, under the terms of the COPYING file.
17*6236dae4SAndroid Build Coastguard Worker#
18*6236dae4SAndroid Build Coastguard Worker# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19*6236dae4SAndroid Build Coastguard Worker# KIND, either express or implied.
20*6236dae4SAndroid Build Coastguard Worker#
21*6236dae4SAndroid Build Coastguard Worker# SPDX-License-Identifier: curl
22*6236dae4SAndroid Build Coastguard Worker#
23*6236dae4SAndroid Build Coastguard Worker###########################################################################
24*6236dae4SAndroid Build Coastguard Worker
25*6236dae4SAndroid Build Coastguard WorkerAUTOMAKE_OPTIONS = foreign
26*6236dae4SAndroid Build Coastguard Worker
27*6236dae4SAndroid Build Coastguard WorkerACLOCAL_AMFLAGS = -I m4
28*6236dae4SAndroid Build Coastguard Worker
29*6236dae4SAndroid Build Coastguard WorkerCMAKE_DIST =                                    \
30*6236dae4SAndroid Build Coastguard Worker CMake/cmake_uninstall.cmake.in                 \
31*6236dae4SAndroid Build Coastguard Worker CMake/CMakeConfigurableFile.in                 \
32*6236dae4SAndroid Build Coastguard Worker CMake/curl-config.cmake.in                     \
33*6236dae4SAndroid Build Coastguard Worker CMake/CurlSymbolHiding.cmake                   \
34*6236dae4SAndroid Build Coastguard Worker CMake/CurlTests.c                              \
35*6236dae4SAndroid Build Coastguard Worker CMake/FindBearSSL.cmake                        \
36*6236dae4SAndroid Build Coastguard Worker CMake/FindBrotli.cmake                         \
37*6236dae4SAndroid Build Coastguard Worker CMake/FindCares.cmake                          \
38*6236dae4SAndroid Build Coastguard Worker CMake/FindGSS.cmake                            \
39*6236dae4SAndroid Build Coastguard Worker CMake/FindLibgsasl.cmake                       \
40*6236dae4SAndroid Build Coastguard Worker CMake/FindLibidn2.cmake                        \
41*6236dae4SAndroid Build Coastguard Worker CMake/FindLibpsl.cmake                         \
42*6236dae4SAndroid Build Coastguard Worker CMake/FindLibssh.cmake                         \
43*6236dae4SAndroid Build Coastguard Worker CMake/FindLibssh2.cmake                        \
44*6236dae4SAndroid Build Coastguard Worker CMake/FindLibuv.cmake                          \
45*6236dae4SAndroid Build Coastguard Worker CMake/FindMbedTLS.cmake                        \
46*6236dae4SAndroid Build Coastguard Worker CMake/FindMSH3.cmake                           \
47*6236dae4SAndroid Build Coastguard Worker CMake/FindMbedTLS.cmake                        \
48*6236dae4SAndroid Build Coastguard Worker CMake/FindNGHTTP2.cmake                        \
49*6236dae4SAndroid Build Coastguard Worker CMake/FindNGHTTP3.cmake                        \
50*6236dae4SAndroid Build Coastguard Worker CMake/FindNGTCP2.cmake                         \
51*6236dae4SAndroid Build Coastguard Worker CMake/FindNettle.cmake                         \
52*6236dae4SAndroid Build Coastguard Worker CMake/FindQuiche.cmake                         \
53*6236dae4SAndroid Build Coastguard Worker CMake/FindRustls.cmake                         \
54*6236dae4SAndroid Build Coastguard Worker CMake/FindWolfSSH.cmake                        \
55*6236dae4SAndroid Build Coastguard Worker CMake/FindWolfSSL.cmake                        \
56*6236dae4SAndroid Build Coastguard Worker CMake/FindZstd.cmake                           \
57*6236dae4SAndroid Build Coastguard Worker CMake/Macros.cmake                             \
58*6236dae4SAndroid Build Coastguard Worker CMake/OtherTests.cmake                         \
59*6236dae4SAndroid Build Coastguard Worker CMake/PickyWarnings.cmake                      \
60*6236dae4SAndroid Build Coastguard Worker CMake/Platforms/WindowsCache.cmake             \
61*6236dae4SAndroid Build Coastguard Worker CMake/Utilities.cmake                          \
62*6236dae4SAndroid Build Coastguard Worker CMakeLists.txt
63*6236dae4SAndroid Build Coastguard Worker
64*6236dae4SAndroid Build Coastguard WorkerVC_DIST = projects/README.md                           \
65*6236dae4SAndroid Build Coastguard Worker projects/build-openssl.bat                            \
66*6236dae4SAndroid Build Coastguard Worker projects/build-wolfssl.bat                            \
67*6236dae4SAndroid Build Coastguard Worker projects/checksrc.bat                                 \
68*6236dae4SAndroid Build Coastguard Worker projects/generate.bat                                 \
69*6236dae4SAndroid Build Coastguard Worker projects/wolfssl_options.h                            \
70*6236dae4SAndroid Build Coastguard Worker projects/wolfssl_override.props
71*6236dae4SAndroid Build Coastguard Worker
72*6236dae4SAndroid Build Coastguard WorkerWINBUILD_DIST = winbuild/README.md \
73*6236dae4SAndroid Build Coastguard Worker winbuild/MakefileBuild.vc winbuild/Makefile.vc winbuild/makedebug.bat
74*6236dae4SAndroid Build Coastguard Worker
75*6236dae4SAndroid Build Coastguard WorkerPLAN9_DIST = plan9/include/mkfile \
76*6236dae4SAndroid Build Coastguard Worker plan9/include/mkfile             \
77*6236dae4SAndroid Build Coastguard Worker plan9/mkfile.proto               \
78*6236dae4SAndroid Build Coastguard Worker plan9/mkfile                     \
79*6236dae4SAndroid Build Coastguard Worker plan9/README                     \
80*6236dae4SAndroid Build Coastguard Worker plan9/lib/mkfile.inc             \
81*6236dae4SAndroid Build Coastguard Worker plan9/lib/mkfile                 \
82*6236dae4SAndroid Build Coastguard Worker plan9/src/mkfile.inc             \
83*6236dae4SAndroid Build Coastguard Worker plan9/src/mkfile
84*6236dae4SAndroid Build Coastguard Worker
85*6236dae4SAndroid Build Coastguard WorkerEXTRA_DIST = CHANGES.md COPYING Makefile.dist             \
86*6236dae4SAndroid Build Coastguard Worker RELEASE-NOTES $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST)  \
87*6236dae4SAndroid Build Coastguard Worker $(PLAN9_DIST) buildconf.bat Dockerfile
88*6236dae4SAndroid Build Coastguard Worker
89*6236dae4SAndroid Build Coastguard WorkerCLEANFILES = $(VC14_LIBVCXPROJ) $(VC14_SRCVCXPROJ) \
90*6236dae4SAndroid Build Coastguard Worker $(VC14_10_LIBVCXPROJ) $(VC14_10_SRCVCXPROJ)       \
91*6236dae4SAndroid Build Coastguard Worker $(VC14_20_LIBVCXPROJ) $(VC14_20_SRCVCXPROJ)       \
92*6236dae4SAndroid Build Coastguard Worker $(VC14_30_LIBVCXPROJ) $(VC14_30_SRCVCXPROJ)
93*6236dae4SAndroid Build Coastguard Worker
94*6236dae4SAndroid Build Coastguard WorkerDISTCLEANFILES = buildinfo.txt
95*6236dae4SAndroid Build Coastguard Worker
96*6236dae4SAndroid Build Coastguard Workerbin_SCRIPTS = curl-config
97*6236dae4SAndroid Build Coastguard Worker
98*6236dae4SAndroid Build Coastguard WorkerSUBDIRS = lib docs src scripts
99*6236dae4SAndroid Build Coastguard WorkerDIST_SUBDIRS = $(SUBDIRS) tests packages include docs
100*6236dae4SAndroid Build Coastguard Worker
101*6236dae4SAndroid Build Coastguard Workerpkgconfigdir = $(libdir)/pkgconfig
102*6236dae4SAndroid Build Coastguard Workerpkgconfig_DATA = libcurl.pc
103*6236dae4SAndroid Build Coastguard Worker
104*6236dae4SAndroid Build Coastguard Worker# List of files required to generate VC IDE .dsp, .vcproj and .vcxproj files
105*6236dae4SAndroid Build Coastguard Workerinclude lib/Makefile.inc
106*6236dae4SAndroid Build Coastguard Workerinclude src/Makefile.inc
107*6236dae4SAndroid Build Coastguard Worker
108*6236dae4SAndroid Build Coastguard Workerdist-hook:
109*6236dae4SAndroid Build Coastguard Worker	rm -rf $(top_builddir)/tests/log
110*6236dae4SAndroid Build Coastguard Worker	find $(distdir) -name "*.dist" -a \! -name Makefile.dist -exec rm {} \;
111*6236dae4SAndroid Build Coastguard Worker	(distit=`find $(srcdir) -name "*.dist" | grep -v Makefile`; \
112*6236dae4SAndroid Build Coastguard Worker	for file in $$distit; do \
113*6236dae4SAndroid Build Coastguard Worker	  strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
114*6236dae4SAndroid Build Coastguard Worker	  cp -p $$file $(distdir)$$strip; \
115*6236dae4SAndroid Build Coastguard Worker	done)
116*6236dae4SAndroid Build Coastguard Worker
117*6236dae4SAndroid Build Coastguard Workercheck: test examples check-docs
118*6236dae4SAndroid Build Coastguard Worker
119*6236dae4SAndroid Build Coastguard Workerif CROSSCOMPILING
120*6236dae4SAndroid Build Coastguard Workertest-full: test
121*6236dae4SAndroid Build Coastguard Workertest-nonflaky: test
122*6236dae4SAndroid Build Coastguard Workertest-torture: test
123*6236dae4SAndroid Build Coastguard Workertest-event: test
124*6236dae4SAndroid Build Coastguard Workertest-am: test
125*6236dae4SAndroid Build Coastguard Workertest-ci: test
126*6236dae4SAndroid Build Coastguard Workerpytest: test
127*6236dae4SAndroid Build Coastguard Workerpytest-ci: test
128*6236dae4SAndroid Build Coastguard Worker
129*6236dae4SAndroid Build Coastguard Workertest:
130*6236dae4SAndroid Build Coastguard Worker	@echo "NOTICE: we can't run the tests when cross-compiling!"
131*6236dae4SAndroid Build Coastguard Worker
132*6236dae4SAndroid Build Coastguard Workerelse
133*6236dae4SAndroid Build Coastguard Worker
134*6236dae4SAndroid Build Coastguard Workertest:
135*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all quiet-test)
136*6236dae4SAndroid Build Coastguard Worker
137*6236dae4SAndroid Build Coastguard Workertest-full:
138*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all full-test)
139*6236dae4SAndroid Build Coastguard Worker
140*6236dae4SAndroid Build Coastguard Workertest-nonflaky:
141*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all nonflaky-test)
142*6236dae4SAndroid Build Coastguard Worker
143*6236dae4SAndroid Build Coastguard Workertest-torture:
144*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all torture-test)
145*6236dae4SAndroid Build Coastguard Worker
146*6236dae4SAndroid Build Coastguard Workertest-event:
147*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all event-test)
148*6236dae4SAndroid Build Coastguard Worker
149*6236dae4SAndroid Build Coastguard Workertest-am:
150*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all am-test)
151*6236dae4SAndroid Build Coastguard Worker
152*6236dae4SAndroid Build Coastguard Workertest-ci:
153*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all ci-test)
154*6236dae4SAndroid Build Coastguard Worker
155*6236dae4SAndroid Build Coastguard Workerpytest:
156*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all default-pytest)
157*6236dae4SAndroid Build Coastguard Worker
158*6236dae4SAndroid Build Coastguard Workerpytest-ci:
159*6236dae4SAndroid Build Coastguard Worker	@(cd tests; $(MAKE) all ci-pytest)
160*6236dae4SAndroid Build Coastguard Worker
161*6236dae4SAndroid Build Coastguard Workerendif
162*6236dae4SAndroid Build Coastguard Worker
163*6236dae4SAndroid Build Coastguard Workerexamples:
164*6236dae4SAndroid Build Coastguard Worker	@(cd docs/examples; $(MAKE) check)
165*6236dae4SAndroid Build Coastguard Worker
166*6236dae4SAndroid Build Coastguard Workercheck-docs:
167*6236dae4SAndroid Build Coastguard Worker	@(cd docs/libcurl; $(MAKE) check)
168*6236dae4SAndroid Build Coastguard Worker
169*6236dae4SAndroid Build Coastguard Worker# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
170*6236dae4SAndroid Build Coastguard Worker# must contain the following line:
171*6236dae4SAndroid Build Coastguard Worker# %_topdir /home/loic/local/rpm
172*6236dae4SAndroid Build Coastguard Worker# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
173*6236dae4SAndroid Build Coastguard Worker#
174*6236dae4SAndroid Build Coastguard Worker# cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
175*6236dae4SAndroid Build Coastguard Worker#
176*6236dae4SAndroid Build Coastguard Worker# If additional configure flags are needed to build the package, add the
177*6236dae4SAndroid Build Coastguard Worker# following in ~/.rpmmacros
178*6236dae4SAndroid Build Coastguard Worker# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
179*6236dae4SAndroid Build Coastguard Worker# and run make rpm in the following way:
180*6236dae4SAndroid Build Coastguard Worker# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
181*6236dae4SAndroid Build Coastguard Worker#
182*6236dae4SAndroid Build Coastguard Worker
183*6236dae4SAndroid Build Coastguard Workerrpms:
184*6236dae4SAndroid Build Coastguard Worker	$(MAKE) RPMDIST=curl rpm
185*6236dae4SAndroid Build Coastguard Worker	$(MAKE) RPMDIST=curl-ssl rpm
186*6236dae4SAndroid Build Coastguard Worker
187*6236dae4SAndroid Build Coastguard Workerrpm:
188*6236dae4SAndroid Build Coastguard Worker	RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
189*6236dae4SAndroid Build Coastguard Worker	cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
190*6236dae4SAndroid Build Coastguard Worker	cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
191*6236dae4SAndroid Build Coastguard Worker	rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
192*6236dae4SAndroid Build Coastguard Worker	mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
193*6236dae4SAndroid Build Coastguard Worker	mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
194*6236dae4SAndroid Build Coastguard Worker
195*6236dae4SAndroid Build Coastguard Worker#
196*6236dae4SAndroid Build Coastguard Worker# Build a Solaris pkgadd format file
197*6236dae4SAndroid Build Coastguard Worker# run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
198*6236dae4SAndroid Build Coastguard Worker# file (which ends up back in this directory).
199*6236dae4SAndroid Build Coastguard Worker# The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
200*6236dae4SAndroid Build Coastguard Worker# pkgadd -d ./HAXXcurl-*
201*6236dae4SAndroid Build Coastguard Worker#
202*6236dae4SAndroid Build Coastguard Worker
203*6236dae4SAndroid Build Coastguard Worker# gak - libtool requires an absolute directory, hence the pwd below...
204*6236dae4SAndroid Build Coastguard Workerpkgadd:
205*6236dae4SAndroid Build Coastguard Worker	umask 022 ; \
206*6236dae4SAndroid Build Coastguard Worker	$(MAKE) install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
207*6236dae4SAndroid Build Coastguard Worker	cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
208*6236dae4SAndroid Build Coastguard Worker	cd $(srcdir)/packages/Solaris && $(MAKE) package
209*6236dae4SAndroid Build Coastguard Worker
210*6236dae4SAndroid Build Coastguard Worker#
211*6236dae4SAndroid Build Coastguard Worker# Build a Cygwin binary tarball installation file
212*6236dae4SAndroid Build Coastguard Worker# resulting .tar.bz2 file will end up at packages/Win32/cygwin
213*6236dae4SAndroid Build Coastguard Workercygwinbin:
214*6236dae4SAndroid Build Coastguard Worker	$(MAKE) -C packages/Win32/cygwin cygwinbin
215*6236dae4SAndroid Build Coastguard Worker
216*6236dae4SAndroid Build Coastguard Worker# We extend the standard install with a custom hook:
217*6236dae4SAndroid Build Coastguard Workerif BUILD_DOCS
218*6236dae4SAndroid Build Coastguard Workerinstall-data-hook:
219*6236dae4SAndroid Build Coastguard Worker	(cd include && $(MAKE) install)
220*6236dae4SAndroid Build Coastguard Worker	(cd docs && $(MAKE) install)
221*6236dae4SAndroid Build Coastguard Worker	(cd docs/libcurl && $(MAKE) install)
222*6236dae4SAndroid Build Coastguard Workerelse
223*6236dae4SAndroid Build Coastguard Workerinstall-data-hook:
224*6236dae4SAndroid Build Coastguard Worker	(cd include && $(MAKE) install)
225*6236dae4SAndroid Build Coastguard Worker	(cd docs && $(MAKE) install)
226*6236dae4SAndroid Build Coastguard Workerendif
227*6236dae4SAndroid Build Coastguard Worker
228*6236dae4SAndroid Build Coastguard Worker# We extend the standard uninstall with a custom hook:
229*6236dae4SAndroid Build Coastguard Workeruninstall-hook:
230*6236dae4SAndroid Build Coastguard Worker	(cd include && $(MAKE) uninstall)
231*6236dae4SAndroid Build Coastguard Worker	(cd docs && $(MAKE) uninstall)
232*6236dae4SAndroid Build Coastguard Worker	(cd docs/libcurl && $(MAKE) uninstall)
233*6236dae4SAndroid Build Coastguard Worker
234*6236dae4SAndroid Build Coastguard Workerca-bundle: $(srcdir)/scripts/mk-ca-bundle.pl
235*6236dae4SAndroid Build Coastguard Worker	@echo "generating a fresh ca-bundle.crt"
236*6236dae4SAndroid Build Coastguard Worker	@perl $(srcdir)/scripts/mk-ca-bundle.pl -b -l -u lib/ca-bundle.crt
237*6236dae4SAndroid Build Coastguard Worker
238*6236dae4SAndroid Build Coastguard Workerca-firefox: $(srcdir)/scripts/firefox-db2pem.sh
239*6236dae4SAndroid Build Coastguard Worker	@echo "generating a fresh ca-bundle.crt"
240*6236dae4SAndroid Build Coastguard Worker	$(srcdir)/scripts/firefox-db2pem.sh lib/ca-bundle.crt
241*6236dae4SAndroid Build Coastguard Worker
242*6236dae4SAndroid Build Coastguard Workerchecksrc:
243*6236dae4SAndroid Build Coastguard Worker	(cd lib && $(MAKE) checksrc)
244*6236dae4SAndroid Build Coastguard Worker	(cd src && $(MAKE) checksrc)
245*6236dae4SAndroid Build Coastguard Worker	(cd tests && $(MAKE) checksrc)
246*6236dae4SAndroid Build Coastguard Worker	(cd include/curl && $(MAKE) checksrc)
247*6236dae4SAndroid Build Coastguard Worker	(cd docs/examples && $(MAKE) checksrc)
248*6236dae4SAndroid Build Coastguard Worker	(cd packages && $(MAKE) checksrc)
249*6236dae4SAndroid Build Coastguard Worker
250*6236dae4SAndroid Build Coastguard Workertidy:
251*6236dae4SAndroid Build Coastguard Worker	(cd src && $(MAKE) tidy)
252*6236dae4SAndroid Build Coastguard Worker	(cd lib && $(MAKE) tidy)
253