#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is # furnished to do so, under the terms of the COPYING file. # # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # ########################################################################### MANDISTPAGES = runtests.1.dist testcurl.1.dist ED_1 = ftpserver.pl.in httpserver.pl.in secureserver.pl.in runtests.pl.in ED_2 = getpart.pm FILEFORMAT.md README.md stunnel.pem memanalyze.pl.in testcurl.pl.in ED_3 = valgrind.pm ftp.pm sshserver.pl.in sshhelp.pm pathhelp.pm testcurl.1 runtests.1 ED_4 = serverhelp.pm tftpserver.pl.in rtspserver.pl.in directories.pm symbol-scan.pl.in ED_5 = CMakeLists.txt mem-include-scan.pl.in valgrind.supp extern-scan.pl.in ED_6 = manpage-scan.pl.in nroff-scan.pl.in http2-server.pl.in dictserver.py.in ED_7 = negtelnetserver.py.in smbserver.py.in util.py.in ED_8 = disable-scan.pl.in error-codes.pl.in badsymbols.pl.in ED_9 = azure.pm appveyor.pm version-scan.pl.in options-scan.pl EXTRA_DIST = $(ED_1) $(ED_2) $(ED_3) $(ED_4) $(ED_5) $(ED_6) $(ED_7) $(ED_8) $(ED_9) check_SCRIPTS = smbserver.py util.py negtelnetserver.py dictserver.py DISTCLEANFILES = configurehelp.pm # we have two variables here to make sure DIST_SUBDIRS won't get 'unit' # added twice as then targets such as 'distclean' misbehave and try to # do things twice in that subdir at times (and thus fails). if BUILD_UNITTESTS BUILD_UNIT = unit DIST_UNIT = else BUILD_UNIT = DIST_UNIT = unit endif SUBDIRS = certs data server libtest $(BUILD_UNIT) DIST_SUBDIRS = $(SUBDIRS) $(DIST_UNIT) PERLFLAGS = -I$(srcdir) CLEANFILES = .http.pid .https.pid .ftp.pid .ftps.pid $(MANDISTPAGES) do_subst = $(AWK) -v python=$(PYTHON) '{gsub("AWKPYTHON",python,$$0); print $$0}' do_subst_perl = $(AWK) -v perl=$(PERL) '{gsub("AWKPERL",perl,$$0); print $$0}' SUFFIXES = .py.in .py .pl.in .pl .pl.in.pl: $(do_subst_perl) < $< > $@ @chmod +x $@ noinst_SCRIPTS = convsrctest.pl \ disable-scan.pl \ error-codes.pl \ extern-scan.pl \ ftpserver.pl \ http2-server.pl \ httpserver.pl \ keywords.pl \ manpage-scan.pl \ mem-include-scan.pl \ memanalyze.pl \ nroff-scan.pl \ rtspserver.pl \ runtests.pl \ secureserver.pl \ sshserver.pl \ symbol-scan.pl \ testcurl.pl \ tftpserver.pl \ badsymbols.pl \ version-scan.pl CLEANFILES += convsrctest.pl \ disable-scan.pl \ error-codes.pl \ extern-scan.pl \ ftpserver.pl \ http2-server.pl \ httpserver.pl \ keywords.pl \ manpage-scan.pl \ mem-include-scan.pl \ memanalyze.pl \ nroff-scan.pl \ rtspserver.pl \ runtests.pl \ secureserver.pl \ sshserver.pl \ symbol-scan.pl \ testcurl.pl \ tftpserver.pl \ badsymbols.pl \ version-scan.pl .py.in.py: $(do_subst) < $< > $@ @chmod +x $@ smbserver.py: smbserver.py.in Makefile $(do_subst) < $(srcdir)/smbserver.py.in > smbserver.py @chmod +x smbserver.py util.py: util.py.in Makefile $(do_subst) < $(srcdir)/util.py.in > util.py @chmod +x util.py negtelnetserver.py: negtelnetserver.py.in Makefile $(do_subst) < $(srcdir)/negtelnetserver.py.in > negtelnetserver.py @chmod +x negtelnetserver.py dictserver.py: dictserver.py.in Makefile $(do_subst) < $(srcdir)/dictserver.py.in > dictserver.py @chmod +x dictserver.py curl: @cd $(top_builddir) && $(MAKE) if CROSSCOMPILING TEST = @echo "NOTICE: we can't run the tests when cross-compiling!" else # if not cross-compiling: if VALGRIND TEST = srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl else TEST = srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl -n endif # disable_valgrind TEST_Q = -a -s TEST_AM = -a -am TEST_F = -a -p -r TEST_T = -a -t TEST_E = -a -e # !flaky means that it'll skip all tests using the flaky keyword TEST_NF = -a -p !flaky endif # make sure that PERL is pointing to an executable perlcheck: @if ! test -x "$(PERL)"; then echo "No perl!"; exit 2; fi test: perlcheck all $(check_SCRIPTS) $(TEST) $(TFLAGS) quiet-test: perlcheck all $(TEST) $(TEST_Q) $(TFLAGS) am-test: perlcheck all $(TEST) $(TEST_AM) $(TFLAGS) full-test: perlcheck all $(TEST) $(TEST_F) $(TFLAGS) nonflaky-test: perlcheck all $(TEST) $(TEST_NF) $(TFLAGS) torture-test: perlcheck all $(TEST) $(TEST_T) $(TFLAGS) event-test: perlcheck all $(TEST) $(TEST_E) $(TFLAGS) checksrc: cd libtest && $(MAKE) checksrc cd unit && $(MAKE) checksrc cd server && $(MAKE) checksrc if CURLDEBUG # for debug builds, we scan the sources on all regular make invokes all-local: checksrc endif