113498266Sopenharmony_ci#***************************************************************************
213498266Sopenharmony_ci#                                  _   _ ____  _
313498266Sopenharmony_ci#  Project                     ___| | | |  _ \| |
413498266Sopenharmony_ci#                             / __| | | | |_) | |
513498266Sopenharmony_ci#                            | (__| |_| |  _ <| |___
613498266Sopenharmony_ci#                             \___|\___/|_| \_\_____|
713498266Sopenharmony_ci#
813498266Sopenharmony_ci# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
913498266Sopenharmony_ci#
1013498266Sopenharmony_ci# This software is licensed as described in the file COPYING, which
1113498266Sopenharmony_ci# you should have received as part of this distribution. The terms
1213498266Sopenharmony_ci# are also available at https://curl.se/docs/copyright.html.
1313498266Sopenharmony_ci#
1413498266Sopenharmony_ci# You may opt to use, copy, modify, merge, publish, distribute and/or sell
1513498266Sopenharmony_ci# copies of the Software, and permit persons to whom the Software is
1613498266Sopenharmony_ci# furnished to do so, under the terms of the COPYING file.
1713498266Sopenharmony_ci#
1813498266Sopenharmony_ci# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
1913498266Sopenharmony_ci# KIND, either express or implied.
2013498266Sopenharmony_ci#
2113498266Sopenharmony_ci# SPDX-License-Identifier: curl
2213498266Sopenharmony_ci#
2313498266Sopenharmony_ci###########################################################################
2413498266Sopenharmony_ci
2513498266Sopenharmony_ciAUTOMAKE_OPTIONS = foreign
2613498266Sopenharmony_ci
2713498266Sopenharmony_ciACLOCAL_AMFLAGS = -I m4
2813498266Sopenharmony_ci
2913498266Sopenharmony_ciCMAKE_DIST =                                    \
3013498266Sopenharmony_ci CMake/cmake_uninstall.cmake.in                 \
3113498266Sopenharmony_ci CMake/CMakeConfigurableFile.in                 \
3213498266Sopenharmony_ci CMake/curl-config.cmake.in                     \
3313498266Sopenharmony_ci CMake/CurlSymbolHiding.cmake                   \
3413498266Sopenharmony_ci CMake/CurlTests.c                              \
3513498266Sopenharmony_ci CMake/FindBearSSL.cmake                        \
3613498266Sopenharmony_ci CMake/FindBrotli.cmake                         \
3713498266Sopenharmony_ci CMake/FindCARES.cmake                          \
3813498266Sopenharmony_ci CMake/FindGSS.cmake                            \
3913498266Sopenharmony_ci CMake/FindLibPSL.cmake                         \
4013498266Sopenharmony_ci CMake/FindLibSSH2.cmake                        \
4113498266Sopenharmony_ci CMake/FindMbedTLS.cmake                        \
4213498266Sopenharmony_ci CMake/FindMSH3.cmake                           \
4313498266Sopenharmony_ci CMake/FindNGHTTP2.cmake                        \
4413498266Sopenharmony_ci CMake/FindNGHTTP3.cmake                        \
4513498266Sopenharmony_ci CMake/FindNGTCP2.cmake                         \
4613498266Sopenharmony_ci CMake/FindQUICHE.cmake                         \
4713498266Sopenharmony_ci CMake/FindWolfSSL.cmake                        \
4813498266Sopenharmony_ci CMake/FindZstd.cmake                           \
4913498266Sopenharmony_ci CMake/Macros.cmake                             \
5013498266Sopenharmony_ci CMake/OtherTests.cmake                         \
5113498266Sopenharmony_ci CMake/PickyWarnings.cmake                      \
5213498266Sopenharmony_ci CMake/Platforms/WindowsCache.cmake             \
5313498266Sopenharmony_ci CMake/Utilities.cmake                          \
5413498266Sopenharmony_ci CMakeLists.txt
5513498266Sopenharmony_ci
5613498266Sopenharmony_ciVC14_LIBTMPL = projects/Windows/VC14/lib/libcurl.tmpl
5713498266Sopenharmony_ciVC14_LIBVCXPROJ = projects/Windows/VC14/lib/libcurl.vcxproj.dist
5813498266Sopenharmony_ciVC14_LIBVCXPROJ_DEPS = $(VC14_LIBTMPL) Makefile.am lib/Makefile.inc
5913498266Sopenharmony_ciVC14_SRCTMPL = projects/Windows/VC14/src/curl.tmpl
6013498266Sopenharmony_ciVC14_SRCVCXPROJ = projects/Windows/VC14/src/curl.vcxproj.dist
6113498266Sopenharmony_ciVC14_SRCVCXPROJ_DEPS = $(VC14_SRCTMPL) Makefile.am src/Makefile.inc
6213498266Sopenharmony_ci
6313498266Sopenharmony_ciVC14_10_LIBTMPL = projects/Windows/VC14.10/lib/libcurl.tmpl
6413498266Sopenharmony_ciVC14_10_LIBVCXPROJ = projects/Windows/VC14.10/lib/libcurl.vcxproj.dist
6513498266Sopenharmony_ciVC14_10_LIBVCXPROJ_DEPS = $(VC14_10_LIBTMPL) Makefile.am lib/Makefile.inc
6613498266Sopenharmony_ciVC14_10_SRCTMPL = projects/Windows/VC14.10/src/curl.tmpl
6713498266Sopenharmony_ciVC14_10_SRCVCXPROJ = projects/Windows/VC14.10/src/curl.vcxproj.dist
6813498266Sopenharmony_ciVC14_10_SRCVCXPROJ_DEPS = $(VC14_10_SRCTMPL) Makefile.am src/Makefile.inc
6913498266Sopenharmony_ci
7013498266Sopenharmony_ciVC14_20_LIBTMPL = projects/Windows/VC14.20/lib/libcurl.tmpl
7113498266Sopenharmony_ciVC14_20_LIBVCXPROJ = projects/Windows/VC14.20/lib/libcurl.vcxproj.dist
7213498266Sopenharmony_ciVC14_20_LIBVCXPROJ_DEPS = $(VC14_20_LIBTMPL) Makefile.am lib/Makefile.inc
7313498266Sopenharmony_ciVC14_20_SRCTMPL = projects/Windows/VC14.20/src/curl.tmpl
7413498266Sopenharmony_ciVC14_20_SRCVCXPROJ = projects/Windows/VC14.20/src/curl.vcxproj.dist
7513498266Sopenharmony_ciVC14_20_SRCVCXPROJ_DEPS = $(VC14_20_SRCTMPL) Makefile.am src/Makefile.inc
7613498266Sopenharmony_ci
7713498266Sopenharmony_ciVC14_30_LIBTMPL = projects/Windows/VC14.30/lib/libcurl.tmpl
7813498266Sopenharmony_ciVC14_30_LIBVCXPROJ = projects/Windows/VC14.30/lib/libcurl.vcxproj.dist
7913498266Sopenharmony_ciVC14_30_LIBVCXPROJ_DEPS = $(VC14_30_LIBTMPL) Makefile.am lib/Makefile.inc
8013498266Sopenharmony_ciVC14_30_SRCTMPL = projects/Windows/VC14.30/src/curl.tmpl
8113498266Sopenharmony_ciVC14_30_SRCVCXPROJ = projects/Windows/VC14.30/src/curl.vcxproj.dist
8213498266Sopenharmony_ciVC14_30_SRCVCXPROJ_DEPS = $(VC14_30_SRCTMPL) Makefile.am src/Makefile.inc
8313498266Sopenharmony_ci
8413498266Sopenharmony_ciVC_DIST = projects/README.md                           \
8513498266Sopenharmony_ci projects/build-openssl.bat                            \
8613498266Sopenharmony_ci projects/build-wolfssl.bat                            \
8713498266Sopenharmony_ci projects/checksrc.bat                                 \
8813498266Sopenharmony_ci projects/Windows/VC14/curl-all.sln                    \
8913498266Sopenharmony_ci projects/Windows/VC14/lib/libcurl.sln                 \
9013498266Sopenharmony_ci projects/Windows/VC14/lib/libcurl.vcxproj.filters     \
9113498266Sopenharmony_ci projects/Windows/VC14/src/curl.sln                    \
9213498266Sopenharmony_ci projects/Windows/VC14/src/curl.vcxproj.filters        \
9313498266Sopenharmony_ci projects/Windows/VC14.10/curl-all.sln                 \
9413498266Sopenharmony_ci projects/Windows/VC14.10/lib/libcurl.sln              \
9513498266Sopenharmony_ci projects/Windows/VC14.10/lib/libcurl.vcxproj.filters  \
9613498266Sopenharmony_ci projects/Windows/VC14.10/src/curl.sln                 \
9713498266Sopenharmony_ci projects/Windows/VC14.10/src/curl.vcxproj.filters     \
9813498266Sopenharmony_ci projects/Windows/VC14.20/curl-all.sln                 \
9913498266Sopenharmony_ci projects/Windows/VC14.20/lib/libcurl.sln              \
10013498266Sopenharmony_ci projects/Windows/VC14.20/lib/libcurl.vcxproj.filters  \
10113498266Sopenharmony_ci projects/Windows/VC14.20/src/curl.sln                 \
10213498266Sopenharmony_ci projects/Windows/VC14.20/src/curl.vcxproj.filters     \
10313498266Sopenharmony_ci projects/Windows/VC14.30/curl-all.sln                 \
10413498266Sopenharmony_ci projects/Windows/VC14.30/lib/libcurl.sln              \
10513498266Sopenharmony_ci projects/Windows/VC14.30/lib/libcurl.vcxproj.filters  \
10613498266Sopenharmony_ci projects/Windows/VC14.30/src/curl.sln                 \
10713498266Sopenharmony_ci projects/Windows/VC14.30/src/curl.vcxproj.filters     \
10813498266Sopenharmony_ci projects/generate.bat                                 \
10913498266Sopenharmony_ci projects/wolfssl_options.h                            \
11013498266Sopenharmony_ci projects/wolfssl_override.props
11113498266Sopenharmony_ci
11213498266Sopenharmony_ciWINBUILD_DIST = winbuild/README.md winbuild/gen_resp_file.bat \
11313498266Sopenharmony_ci winbuild/MakefileBuild.vc winbuild/Makefile.vc
11413498266Sopenharmony_ci
11513498266Sopenharmony_ciPLAN9_DIST = plan9/include/mkfile \
11613498266Sopenharmony_ci plan9/include/mkfile             \
11713498266Sopenharmony_ci plan9/mkfile.proto               \
11813498266Sopenharmony_ci plan9/mkfile                     \
11913498266Sopenharmony_ci plan9/README                     \
12013498266Sopenharmony_ci plan9/lib/mkfile.inc             \
12113498266Sopenharmony_ci plan9/lib/mkfile                 \
12213498266Sopenharmony_ci plan9/src/mkfile.inc             \
12313498266Sopenharmony_ci plan9/src/mkfile
12413498266Sopenharmony_ci
12513498266Sopenharmony_ciEXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in            \
12613498266Sopenharmony_ci RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework $(CMAKE_DIST)        \
12713498266Sopenharmony_ci $(VC_DIST) $(WINBUILD_DIST) $(PLAN9_DIST) lib/libcurl.vers.in buildconf.bat \
12813498266Sopenharmony_ci libcurl.def
12913498266Sopenharmony_ci
13013498266Sopenharmony_ciCLEANFILES = $(VC14_LIBVCXPROJ) $(VC14_SRCVCXPROJ) \
13113498266Sopenharmony_ci $(VC14_10_LIBVCXPROJ) $(VC14_10_SRCVCXPROJ)       \
13213498266Sopenharmony_ci $(VC14_20_LIBVCXPROJ) $(VC14_20_SRCVCXPROJ)       \
13313498266Sopenharmony_ci $(VC14_30_LIBVCXPROJ) $(VC14_30_SRCVCXPROJ)
13413498266Sopenharmony_ci
13513498266Sopenharmony_cibin_SCRIPTS = curl-config
13613498266Sopenharmony_ci
13713498266Sopenharmony_ciSUBDIRS = lib src
13813498266Sopenharmony_ciDIST_SUBDIRS = $(SUBDIRS) tests packages scripts include docs
13913498266Sopenharmony_ci
14013498266Sopenharmony_cipkgconfigdir = $(libdir)/pkgconfig
14113498266Sopenharmony_cipkgconfig_DATA = libcurl.pc
14213498266Sopenharmony_ci
14313498266Sopenharmony_ci# List of files required to generate VC IDE .dsp, .vcproj and .vcxproj files
14413498266Sopenharmony_ciinclude lib/Makefile.inc
14513498266Sopenharmony_ciinclude src/Makefile.inc
14613498266Sopenharmony_ci
14713498266Sopenharmony_cidist-hook:
14813498266Sopenharmony_ci	rm -rf $(top_builddir)/tests/log
14913498266Sopenharmony_ci	find $(distdir) -name "*.dist" -exec rm {} \;
15013498266Sopenharmony_ci	(distit=`find $(srcdir) -name "*.dist" | grep -v ./ares/`; \
15113498266Sopenharmony_ci	for file in $$distit; do \
15213498266Sopenharmony_ci	  strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
15313498266Sopenharmony_ci	  cp -p $$file $(distdir)$$strip; \
15413498266Sopenharmony_ci	done)
15513498266Sopenharmony_ci
15613498266Sopenharmony_cicheck: test examples check-docs
15713498266Sopenharmony_ci
15813498266Sopenharmony_ciif CROSSCOMPILING
15913498266Sopenharmony_citest-full: test
16013498266Sopenharmony_citest-torture: test
16113498266Sopenharmony_ci
16213498266Sopenharmony_citest:
16313498266Sopenharmony_ci	@echo "NOTICE: we can't run the tests when cross-compiling!"
16413498266Sopenharmony_ci
16513498266Sopenharmony_cielse
16613498266Sopenharmony_ci
16713498266Sopenharmony_citest:
16813498266Sopenharmony_ci	@(cd tests; $(MAKE) all quiet-test)
16913498266Sopenharmony_ci
17013498266Sopenharmony_citest-full:
17113498266Sopenharmony_ci	@(cd tests; $(MAKE) all full-test)
17213498266Sopenharmony_ci
17313498266Sopenharmony_citest-nonflaky:
17413498266Sopenharmony_ci	@(cd tests; $(MAKE) all nonflaky-test)
17513498266Sopenharmony_ci
17613498266Sopenharmony_citest-torture:
17713498266Sopenharmony_ci	@(cd tests; $(MAKE) all torture-test)
17813498266Sopenharmony_ci
17913498266Sopenharmony_citest-event:
18013498266Sopenharmony_ci	@(cd tests; $(MAKE) all event-test)
18113498266Sopenharmony_ci
18213498266Sopenharmony_citest-am:
18313498266Sopenharmony_ci	@(cd tests; $(MAKE) all am-test)
18413498266Sopenharmony_ci
18513498266Sopenharmony_citest-ci:
18613498266Sopenharmony_ci	@(cd tests; $(MAKE) all ci-test)
18713498266Sopenharmony_ci
18813498266Sopenharmony_ciendif
18913498266Sopenharmony_ci
19013498266Sopenharmony_ciexamples:
19113498266Sopenharmony_ci	@(cd docs/examples; $(MAKE) check)
19213498266Sopenharmony_ci
19313498266Sopenharmony_cicheck-docs:
19413498266Sopenharmony_ci	@(cd docs/libcurl; $(MAKE) check)
19513498266Sopenharmony_ci
19613498266Sopenharmony_ci# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
19713498266Sopenharmony_ci# must contain the following line:
19813498266Sopenharmony_ci# %_topdir /home/loic/local/rpm
19913498266Sopenharmony_ci# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
20013498266Sopenharmony_ci#
20113498266Sopenharmony_ci# cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
20213498266Sopenharmony_ci#
20313498266Sopenharmony_ci# If additional configure flags are needed to build the package, add the
20413498266Sopenharmony_ci# following in ~/.rpmmacros
20513498266Sopenharmony_ci# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
20613498266Sopenharmony_ci# and run make rpm in the following way:
20713498266Sopenharmony_ci# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
20813498266Sopenharmony_ci#
20913498266Sopenharmony_ci
21013498266Sopenharmony_cirpms:
21113498266Sopenharmony_ci	$(MAKE) RPMDIST=curl rpm
21213498266Sopenharmony_ci	$(MAKE) RPMDIST=curl-ssl rpm
21313498266Sopenharmony_ci
21413498266Sopenharmony_cirpm:
21513498266Sopenharmony_ci	RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
21613498266Sopenharmony_ci	cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
21713498266Sopenharmony_ci	cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
21813498266Sopenharmony_ci	rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
21913498266Sopenharmony_ci	mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
22013498266Sopenharmony_ci	mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
22113498266Sopenharmony_ci
22213498266Sopenharmony_ci#
22313498266Sopenharmony_ci# Build a Solaris pkgadd format file
22413498266Sopenharmony_ci# run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
22513498266Sopenharmony_ci# file (which ends up back in this directory).
22613498266Sopenharmony_ci# The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
22713498266Sopenharmony_ci# pkgadd -d ./HAXXcurl-*
22813498266Sopenharmony_ci#
22913498266Sopenharmony_ci
23013498266Sopenharmony_ci# gak - libtool requires an absolute directory, hence the pwd below...
23113498266Sopenharmony_cipkgadd:
23213498266Sopenharmony_ci	umask 022 ; \
23313498266Sopenharmony_ci	$(MAKE) install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
23413498266Sopenharmony_ci	cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
23513498266Sopenharmony_ci	cd $(srcdir)/packages/Solaris && $(MAKE) package
23613498266Sopenharmony_ci
23713498266Sopenharmony_ci#
23813498266Sopenharmony_ci# Build a cygwin binary tarball installation file
23913498266Sopenharmony_ci# resulting .tar.bz2 file will end up at packages/Win32/cygwin
24013498266Sopenharmony_cicygwinbin:
24113498266Sopenharmony_ci	$(MAKE) -C packages/Win32/cygwin cygwinbin
24213498266Sopenharmony_ci
24313498266Sopenharmony_ci# We extend the standard install with a custom hook:
24413498266Sopenharmony_ciinstall-data-hook:
24513498266Sopenharmony_ci	(cd include && $(MAKE) install)
24613498266Sopenharmony_ci	(cd docs && $(MAKE) install)
24713498266Sopenharmony_ci	(cd docs/libcurl && $(MAKE) install)
24813498266Sopenharmony_ci
24913498266Sopenharmony_ci# We extend the standard uninstall with a custom hook:
25013498266Sopenharmony_ciuninstall-hook:
25113498266Sopenharmony_ci	(cd include && $(MAKE) uninstall)
25213498266Sopenharmony_ci	(cd docs && $(MAKE) uninstall)
25313498266Sopenharmony_ci	(cd docs/libcurl && $(MAKE) uninstall)
25413498266Sopenharmony_ci
25513498266Sopenharmony_cica-bundle: $(srcdir)/scripts/mk-ca-bundle.pl
25613498266Sopenharmony_ci	@echo "generating a fresh ca-bundle.crt"
25713498266Sopenharmony_ci	@perl $(srcdir)/scripts/mk-ca-bundle.pl -b -l -u lib/ca-bundle.crt
25813498266Sopenharmony_ci
25913498266Sopenharmony_cica-firefox: $(srcdir)/scripts/firefox-db2pem.sh
26013498266Sopenharmony_ci	@echo "generating a fresh ca-bundle.crt"
26113498266Sopenharmony_ci	$(srcdir)/scripts/firefox-db2pem.sh lib/ca-bundle.crt
26213498266Sopenharmony_ci
26313498266Sopenharmony_cichecksrc:
26413498266Sopenharmony_ci	(cd lib && $(MAKE) checksrc)
26513498266Sopenharmony_ci	(cd src && $(MAKE) checksrc)
26613498266Sopenharmony_ci	(cd tests && $(MAKE) checksrc)
26713498266Sopenharmony_ci	(cd include/curl && $(MAKE) checksrc)
26813498266Sopenharmony_ci	(cd docs/examples && $(MAKE) checksrc)
26913498266Sopenharmony_ci	(cd packages && $(MAKE) checksrc)
27013498266Sopenharmony_ci
27113498266Sopenharmony_ci.PHONY: vc-ide
27213498266Sopenharmony_ci
27313498266Sopenharmony_civc-ide: $(VC14_LIBVCXPROJ_DEPS) $(VC14_SRCVCXPROJ_DEPS) \
27413498266Sopenharmony_ci $(VC14_10_LIBVCXPROJ_DEPS) $(VC14_10_SRCVCXPROJ_DEPS)  \
27513498266Sopenharmony_ci $(VC14_20_LIBVCXPROJ_DEPS) $(VC14_20_SRCVCXPROJ_DEPS)  \
27613498266Sopenharmony_ci $(VC14_30_LIBVCXPROJ_DEPS) $(VC14_30_SRCVCXPROJ_DEPS)
27713498266Sopenharmony_ci	@(win32_lib_srcs='$(LIB_CFILES)'; \
27813498266Sopenharmony_ci	win32_lib_hdrs='$(LIB_HFILES) config-win32.h'; \
27913498266Sopenharmony_ci	win32_lib_rc='$(LIB_RCFILES)'; \
28013498266Sopenharmony_ci	win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \
28113498266Sopenharmony_ci	win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \
28213498266Sopenharmony_ci	win32_lib_vquic_srcs='$(LIB_VQUIC_CFILES)'; \
28313498266Sopenharmony_ci	win32_lib_vquic_hdrs='$(LIB_VQUIC_HFILES)'; \
28413498266Sopenharmony_ci	win32_lib_vssh_srcs='$(LIB_VSSH_CFILES)'; \
28513498266Sopenharmony_ci	win32_lib_vssh_hdrs='$(LIB_VSSH_HFILES)'; \
28613498266Sopenharmony_ci	win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \
28713498266Sopenharmony_ci	win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \
28813498266Sopenharmony_ci	win32_src_srcs='$(CURL_CFILES)'; \
28913498266Sopenharmony_ci	win32_src_hdrs='$(CURL_HFILES)'; \
29013498266Sopenharmony_ci	win32_src_rc='$(CURL_RCFILES)'; \
29113498266Sopenharmony_ci	win32_src_x_srcs='$(CURLX_CFILES)'; \
29213498266Sopenharmony_ci	win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \
29313498266Sopenharmony_ci	\
29413498266Sopenharmony_ci	sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \
29513498266Sopenharmony_ci	sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \
29613498266Sopenharmony_ci	sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \
29713498266Sopenharmony_ci	sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \
29813498266Sopenharmony_ci	sorted_lib_vquic_srcs=`for file in $$win32_lib_vquic_srcs; do echo $$file; done | sort`; \
29913498266Sopenharmony_ci	sorted_lib_vquic_hdrs=`for file in $$win32_lib_vquic_hdrs; do echo $$file; done | sort`; \
30013498266Sopenharmony_ci	sorted_lib_vssh_srcs=`for file in $$win32_lib_vssh_srcs; do echo $$file; done | sort`; \
30113498266Sopenharmony_ci	sorted_lib_vssh_hdrs=`for file in $$win32_lib_vssh_hdrs; do echo $$file; done | sort`; \
30213498266Sopenharmony_ci	sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \
30313498266Sopenharmony_ci	sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \
30413498266Sopenharmony_ci	sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \
30513498266Sopenharmony_ci	sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \
30613498266Sopenharmony_ci	sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \
30713498266Sopenharmony_ci	sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \
30813498266Sopenharmony_ci	\
30913498266Sopenharmony_ci	awk_code='\
31013498266Sopenharmony_cifunction gen_element(type, dir, file)\
31113498266Sopenharmony_ci{\
31213498266Sopenharmony_ci  sub(/vauth\//, "", file);\
31313498266Sopenharmony_ci  sub(/vquic\//, "", file);\
31413498266Sopenharmony_ci  sub(/vssh\//, "", file);\
31513498266Sopenharmony_ci  sub(/vtls\//, "", file);\
31613498266Sopenharmony_ci\
31713498266Sopenharmony_ci  spaces="    ";\
31813498266Sopenharmony_ci  if(dir == "lib\\vauth" ||\
31913498266Sopenharmony_ci     dir == "lib\\vquic" ||\
32013498266Sopenharmony_ci     dir == "lib\\vssh"  ||\
32113498266Sopenharmony_ci     dir == "lib\\vtls")\
32213498266Sopenharmony_ci    tabs="				";\
32313498266Sopenharmony_ci  else\
32413498266Sopenharmony_ci    tabs="			";\
32513498266Sopenharmony_ci\
32613498266Sopenharmony_ci  if(type == "dsp") {\
32713498266Sopenharmony_ci    printf("# Begin Source File\r\n");\
32813498266Sopenharmony_ci    printf("\r\n");\
32913498266Sopenharmony_ci    printf("SOURCE=..\\..\\..\\..\\%s\\%s\r\n", dir, file);\
33013498266Sopenharmony_ci    printf("# End Source File\r\n");\
33113498266Sopenharmony_ci  }\
33213498266Sopenharmony_ci  else if(type == "vcproj1") {\
33313498266Sopenharmony_ci    printf("%s<File\r\n", tabs);\
33413498266Sopenharmony_ci    printf("%s	RelativePath=\"..\\..\\..\\..\\%s\\%s\">\r\n",\
33513498266Sopenharmony_ci           tabs, dir, file);\
33613498266Sopenharmony_ci    printf("%s</File>\r\n", tabs);\
33713498266Sopenharmony_ci  }\
33813498266Sopenharmony_ci  else if(type == "vcproj2") {\
33913498266Sopenharmony_ci    printf("%s<File\r\n", tabs);\
34013498266Sopenharmony_ci    printf("%s	RelativePath=\"..\\..\\..\\..\\%s\\%s\"\r\n",\
34113498266Sopenharmony_ci           tabs, dir, file);\
34213498266Sopenharmony_ci    printf("%s>\r\n", tabs);\
34313498266Sopenharmony_ci    printf("%s</File>\r\n", tabs);\
34413498266Sopenharmony_ci  }\
34513498266Sopenharmony_ci  else if(type == "vcxproj") {\
34613498266Sopenharmony_ci    i = index(file, ".");\
34713498266Sopenharmony_ci    ext = substr(file, i == 0 ? 0 : i + 1);\
34813498266Sopenharmony_ci\
34913498266Sopenharmony_ci    if(ext == "c")\
35013498266Sopenharmony_ci      printf("%s<ClCompile Include=\"..\\..\\..\\..\\%s\\%s\" />\r\n",\
35113498266Sopenharmony_ci             spaces, dir, file);\
35213498266Sopenharmony_ci    else if(ext == "h")\
35313498266Sopenharmony_ci      printf("%s<ClInclude Include=\"..\\..\\..\\..\\%s\\%s\" />\r\n",\
35413498266Sopenharmony_ci             spaces, dir, file);\
35513498266Sopenharmony_ci    else if(ext == "rc")\
35613498266Sopenharmony_ci      printf("%s<ResourceCompile Include=\"..\\..\\..\\..\\%s\\%s\" />\r\n",\
35713498266Sopenharmony_ci      spaces, dir, file);\
35813498266Sopenharmony_ci  }\
35913498266Sopenharmony_ci}\
36013498266Sopenharmony_ci\
36113498266Sopenharmony_ci{\
36213498266Sopenharmony_ci\
36313498266Sopenharmony_ci  if($$0 == "CURL_LIB_C_FILES") {\
36413498266Sopenharmony_ci    split(lib_srcs, arr);\
36513498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib", arr[val]);\
36613498266Sopenharmony_ci  }\
36713498266Sopenharmony_ci  else if($$0 == "CURL_LIB_H_FILES") {\
36813498266Sopenharmony_ci    split(lib_hdrs, arr);\
36913498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib", arr[val]);\
37013498266Sopenharmony_ci  }\
37113498266Sopenharmony_ci  else if($$0 == "CURL_LIB_RC_FILES") {\
37213498266Sopenharmony_ci    split(lib_rc, arr);\
37313498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib", arr[val]);\
37413498266Sopenharmony_ci  }\
37513498266Sopenharmony_ci  else if($$0 == "CURL_LIB_VAUTH_C_FILES") {\
37613498266Sopenharmony_ci    split(lib_vauth_srcs, arr);\
37713498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
37813498266Sopenharmony_ci  }\
37913498266Sopenharmony_ci  else if($$0 == "CURL_LIB_VAUTH_H_FILES") {\
38013498266Sopenharmony_ci    split(lib_vauth_hdrs, arr);\
38113498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
38213498266Sopenharmony_ci  }\
38313498266Sopenharmony_ci  else if($$0 == "CURL_LIB_VQUIC_C_FILES") {\
38413498266Sopenharmony_ci    split(lib_vquic_srcs, arr);\
38513498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\
38613498266Sopenharmony_ci  }\
38713498266Sopenharmony_ci  else if($$0 == "CURL_LIB_VQUIC_H_FILES") {\
38813498266Sopenharmony_ci    split(lib_vquic_hdrs, arr);\
38913498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\
39013498266Sopenharmony_ci  }\
39113498266Sopenharmony_ci  else if($$0 == "CURL_LIB_VSSH_C_FILES") {\
39213498266Sopenharmony_ci    split(lib_vssh_srcs, arr);\
39313498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\
39413498266Sopenharmony_ci  }\
39513498266Sopenharmony_ci  else if($$0 == "CURL_LIB_VSSH_H_FILES") {\
39613498266Sopenharmony_ci    split(lib_vssh_hdrs, arr);\
39713498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\
39813498266Sopenharmony_ci  }\
39913498266Sopenharmony_ci  else if($$0 == "CURL_LIB_VTLS_C_FILES") {\
40013498266Sopenharmony_ci    split(lib_vtls_srcs, arr);\
40113498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
40213498266Sopenharmony_ci  }\
40313498266Sopenharmony_ci  else if($$0 == "CURL_LIB_VTLS_H_FILES") {\
40413498266Sopenharmony_ci    split(lib_vtls_hdrs, arr);\
40513498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
40613498266Sopenharmony_ci  }\
40713498266Sopenharmony_ci  else if($$0 == "CURL_SRC_C_FILES") {\
40813498266Sopenharmony_ci    split(src_srcs, arr);\
40913498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "src", arr[val]);\
41013498266Sopenharmony_ci  }\
41113498266Sopenharmony_ci  else if($$0 == "CURL_SRC_H_FILES") {\
41213498266Sopenharmony_ci    split(src_hdrs, arr);\
41313498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "src", arr[val]);\
41413498266Sopenharmony_ci  }\
41513498266Sopenharmony_ci  else if($$0 == "CURL_SRC_RC_FILES") {\
41613498266Sopenharmony_ci    split(src_rc, arr);\
41713498266Sopenharmony_ci    for(val in arr) gen_element(proj_type, "src", arr[val]);\
41813498266Sopenharmony_ci  }\
41913498266Sopenharmony_ci  else if($$0 == "CURL_SRC_X_C_FILES") {\
42013498266Sopenharmony_ci    split(src_x_srcs, arr);\
42113498266Sopenharmony_ci    for(val in arr) {\
42213498266Sopenharmony_ci      sub(/..\/lib\//, "", arr[val]);\
42313498266Sopenharmony_ci      gen_element(proj_type, "lib", arr[val]);\
42413498266Sopenharmony_ci    }\
42513498266Sopenharmony_ci  }\
42613498266Sopenharmony_ci  else if($$0 == "CURL_SRC_X_H_FILES") {\
42713498266Sopenharmony_ci    split(src_x_hdrs, arr);\
42813498266Sopenharmony_ci    for(val in arr) {\
42913498266Sopenharmony_ci      sub(/..\/lib\//, "", arr[val]);\
43013498266Sopenharmony_ci      gen_element(proj_type, "lib", arr[val]);\
43113498266Sopenharmony_ci    }\
43213498266Sopenharmony_ci  }\
43313498266Sopenharmony_ci  else\
43413498266Sopenharmony_ci    printf("%s\r\n", $$0);\
43513498266Sopenharmony_ci}';\
43613498266Sopenharmony_ci	\
43713498266Sopenharmony_ci	echo "generating '$(VC14_LIBVCXPROJ)'"; \
43813498266Sopenharmony_ci	awk -v proj_type=vcxproj \
43913498266Sopenharmony_ci		-v lib_srcs="$$sorted_lib_srcs" \
44013498266Sopenharmony_ci		-v lib_hdrs="$$sorted_lib_hdrs" \
44113498266Sopenharmony_ci		-v lib_rc="$$win32_lib_rc" \
44213498266Sopenharmony_ci		-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
44313498266Sopenharmony_ci		-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
44413498266Sopenharmony_ci		-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
44513498266Sopenharmony_ci		-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
44613498266Sopenharmony_ci		-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
44713498266Sopenharmony_ci		-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
44813498266Sopenharmony_ci		-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
44913498266Sopenharmony_ci		-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
45013498266Sopenharmony_ci		"$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \
45113498266Sopenharmony_ci	\
45213498266Sopenharmony_ci	echo "generating '$(VC14_SRCVCXPROJ)'"; \
45313498266Sopenharmony_ci	awk -v proj_type=vcxproj \
45413498266Sopenharmony_ci		-v src_srcs="$$sorted_src_srcs" \
45513498266Sopenharmony_ci		-v src_hdrs="$$sorted_src_hdrs" \
45613498266Sopenharmony_ci		-v src_rc="$$win32_src_rc" \
45713498266Sopenharmony_ci		-v src_x_srcs="$$sorted_src_x_srcs" \
45813498266Sopenharmony_ci		-v src_x_hdrs="$$sorted_src_x_hdrs" \
45913498266Sopenharmony_ci		"$$awk_code" $(srcdir)/$(VC14_SRCTMPL) > $(VC14_SRCVCXPROJ) || { exit 1; }; \
46013498266Sopenharmony_ci	\
46113498266Sopenharmony_ci	echo "generating '$(VC14_10_LIBVCXPROJ)'"; \
46213498266Sopenharmony_ci	awk -v proj_type=vcxproj \
46313498266Sopenharmony_ci		-v lib_srcs="$$sorted_lib_srcs" \
46413498266Sopenharmony_ci		-v lib_hdrs="$$sorted_lib_hdrs" \
46513498266Sopenharmony_ci		-v lib_rc="$$win32_lib_rc" \
46613498266Sopenharmony_ci		-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
46713498266Sopenharmony_ci		-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
46813498266Sopenharmony_ci		-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
46913498266Sopenharmony_ci		-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
47013498266Sopenharmony_ci		-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
47113498266Sopenharmony_ci		-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
47213498266Sopenharmony_ci		-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
47313498266Sopenharmony_ci		-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
47413498266Sopenharmony_ci		"$$awk_code" $(srcdir)/$(VC14_10_LIBTMPL) > $(VC14_10_LIBVCXPROJ) || { exit 1; }; \
47513498266Sopenharmony_ci	\
47613498266Sopenharmony_ci	echo "generating '$(VC14_10_SRCVCXPROJ)'"; \
47713498266Sopenharmony_ci	awk -v proj_type=vcxproj \
47813498266Sopenharmony_ci		-v src_srcs="$$sorted_src_srcs" \
47913498266Sopenharmony_ci		-v src_hdrs="$$sorted_src_hdrs" \
48013498266Sopenharmony_ci		-v src_rc="$$win32_src_rc" \
48113498266Sopenharmony_ci		-v src_x_srcs="$$sorted_src_x_srcs" \
48213498266Sopenharmony_ci		-v src_x_hdrs="$$sorted_src_x_hdrs" \
48313498266Sopenharmony_ci		"$$awk_code" $(srcdir)/$(VC14_10_SRCTMPL) > $(VC14_10_SRCVCXPROJ) || { exit 1; }; \
48413498266Sopenharmony_ci	\
48513498266Sopenharmony_ci	echo "generating '$(VC14_20_LIBVCXPROJ)'"; \
48613498266Sopenharmony_ci	awk -v proj_type=vcxproj \
48713498266Sopenharmony_ci		-v lib_srcs="$$sorted_lib_srcs" \
48813498266Sopenharmony_ci		-v lib_hdrs="$$sorted_lib_hdrs" \
48913498266Sopenharmony_ci		-v lib_rc="$$win32_lib_rc" \
49013498266Sopenharmony_ci		-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
49113498266Sopenharmony_ci		-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
49213498266Sopenharmony_ci		-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
49313498266Sopenharmony_ci		-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
49413498266Sopenharmony_ci		-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
49513498266Sopenharmony_ci		-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
49613498266Sopenharmony_ci		-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
49713498266Sopenharmony_ci		-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
49813498266Sopenharmony_ci		"$$awk_code" $(srcdir)/$(VC14_20_LIBTMPL) > $(VC14_20_LIBVCXPROJ) || { exit 1; }; \
49913498266Sopenharmony_ci	\
50013498266Sopenharmony_ci	echo "generating '$(VC14_20_SRCVCXPROJ)'"; \
50113498266Sopenharmony_ci	awk -v proj_type=vcxproj \
50213498266Sopenharmony_ci		-v src_srcs="$$sorted_src_srcs" \
50313498266Sopenharmony_ci		-v src_hdrs="$$sorted_src_hdrs" \
50413498266Sopenharmony_ci		-v src_rc="$$win32_src_rc" \
50513498266Sopenharmony_ci		-v src_x_srcs="$$sorted_src_x_srcs" \
50613498266Sopenharmony_ci		-v src_x_hdrs="$$sorted_src_x_hdrs" \
50713498266Sopenharmony_ci		"$$awk_code" $(srcdir)/$(VC14_20_SRCTMPL) > $(VC14_20_SRCVCXPROJ) || { exit 1; }; \
50813498266Sopenharmony_ci	\
50913498266Sopenharmony_ci	echo "generating '$(VC14_30_LIBVCXPROJ)'"; \
51013498266Sopenharmony_ci	awk -v proj_type=vcxproj \
51113498266Sopenharmony_ci		-v lib_srcs="$$sorted_lib_srcs" \
51213498266Sopenharmony_ci		-v lib_hdrs="$$sorted_lib_hdrs" \
51313498266Sopenharmony_ci		-v lib_rc="$$win32_lib_rc" \
51413498266Sopenharmony_ci		-v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
51513498266Sopenharmony_ci		-v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
51613498266Sopenharmony_ci		-v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
51713498266Sopenharmony_ci		-v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
51813498266Sopenharmony_ci		-v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
51913498266Sopenharmony_ci		-v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
52013498266Sopenharmony_ci		-v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
52113498266Sopenharmony_ci		-v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
52213498266Sopenharmony_ci		"$$awk_code" $(srcdir)/$(VC14_30_LIBTMPL) > $(VC14_30_LIBVCXPROJ) || { exit 1; }; \
52313498266Sopenharmony_ci	\
52413498266Sopenharmony_ci	echo "generating '$(VC14_30_SRCVCXPROJ)'"; \
52513498266Sopenharmony_ci	awk -v proj_type=vcxproj \
52613498266Sopenharmony_ci		-v src_srcs="$$sorted_src_srcs" \
52713498266Sopenharmony_ci		-v src_hdrs="$$sorted_src_hdrs" \
52813498266Sopenharmony_ci		-v src_rc="$$win32_src_rc" \
52913498266Sopenharmony_ci		-v src_x_srcs="$$sorted_src_x_srcs" \
53013498266Sopenharmony_ci		-v src_x_hdrs="$$sorted_src_x_hdrs" \
53113498266Sopenharmony_ci		"$$awk_code" $(srcdir)/$(VC14_30_SRCTMPL) > $(VC14_30_SRCVCXPROJ) || { exit 1; };)
53213498266Sopenharmony_ci
53313498266Sopenharmony_citidy:
53413498266Sopenharmony_ci	(cd src && $(MAKE) tidy)
53513498266Sopenharmony_ci	(cd lib && $(MAKE) tidy)
536