Makefile.am 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #***************************************************************************
  2. # _ _ ____ _
  3. # Project ___| | | | _ \| |
  4. # / __| | | | |_) | |
  5. # | (__| |_| | _ <| |___
  6. # \___|\___/|_| \_\_____|
  7. #
  8. # Copyright (C) 1998 - 2019, 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 https://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. HTMLPAGES = testcurl.html runtests.html
  23. PDFPAGES = testcurl.pdf runtests.pdf
  24. MANDISTPAGES = runtests.1.dist testcurl.1.dist
  25. # the path to the impacket python lib used for SMB tests
  26. IMP = python_dependencies/impacket
  27. SMBDEPS = $(IMP)/__init__.py $(IMP)/nmb.py $(IMP)/nt_errors.py \
  28. $(IMP)/ntlm.py $(IMP)/smb.py $(IMP)/smb3.py $(IMP)/smb3structs.py \
  29. $(IMP)/smbserver.py $(IMP)/spnego.py $(IMP)/structure.py \
  30. $(IMP)/uuid.py $(IMP)/version.py smbserver.py curl_test_data.py
  31. EXTRA_DIST = ftpserver.pl httpserver.pl secureserver.pl runtests.pl \
  32. getpart.pm FILEFORMAT README stunnel.pem memanalyze.pl testcurl.pl \
  33. valgrind.pm ftp.pm sshserver.pl sshhelp.pm pathhelp.pm testcurl.1 runtests.1 \
  34. serverhelp.pm tftpserver.pl rtspserver.pl directories.pm symbol-scan.pl \
  35. CMakeLists.txt mem-include-scan.pl valgrind.supp extern-scan.pl \
  36. manpage-scan.pl nroff-scan.pl http2-server.pl dictserver.py \
  37. negtelnetserver.py $(SMBDEPS) objnames-test08.sh objnames-test10.sh \
  38. objnames.inc disable-scan.pl manpage-syntax.pl
  39. DISTCLEANFILES = configurehelp.pm
  40. # we have two variables here to make sure DIST_SUBDIRS won't get 'unit'
  41. # added twice as then targets such as 'distclean' misbehave and try to
  42. # do things twice in that subdir at times (and thus fails).
  43. if BUILD_UNITTESTS
  44. BUILD_UNIT = unit
  45. DIST_UNIT =
  46. else
  47. BUILD_UNIT =
  48. DIST_UNIT = unit
  49. endif
  50. SUBDIRS = certs data server libtest $(BUILD_UNIT)
  51. DIST_SUBDIRS = $(SUBDIRS) $(DIST_UNIT)
  52. PERLFLAGS = -I$(srcdir)
  53. CLEANFILES = .http.pid .https.pid .ftp.pid .ftps.pid $(MANDISTPAGES)
  54. MAN2HTML= roffit $< >$@
  55. curl:
  56. @cd $(top_builddir) && $(MAKE)
  57. if CROSSCOMPILING
  58. TEST = @echo "NOTICE: we can't run the tests when cross-compiling!"
  59. else # if not cross-compiling:
  60. TEST = srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl
  61. TEST_Q = -a -s
  62. TEST_AM = -a -am
  63. TEST_F = -a -p -r
  64. TEST_T = -a -t
  65. TEST_E = -a -e
  66. # !flaky means that it'll skip all tests using the flaky keyword
  67. TEST_NF = -a -p !flaky
  68. endif
  69. # make sure that PERL is pointing to an executable
  70. perlcheck:
  71. @if ! test -x "$(PERL)"; then echo "No perl!"; exit 2; fi
  72. test: perlcheck all
  73. $(TEST) $(TFLAGS)
  74. quiet-test: perlcheck all
  75. $(TEST) $(TEST_Q) $(TFLAGS)
  76. am-test: perlcheck all
  77. $(TEST) $(TEST_AM) $(TFLAGS)
  78. full-test: perlcheck all
  79. $(TEST) $(TEST_F) $(TFLAGS)
  80. nonflaky-test: perlcheck all
  81. $(TEST) $(TEST_NF) $(TFLAGS)
  82. torture-test: perlcheck all
  83. $(TEST) $(TEST_T) $(TFLAGS)
  84. event-test: perlcheck all
  85. $(TEST) $(TEST_E) $(TFLAGS)
  86. .1.html:
  87. $(MAN2HTML)
  88. .1.pdf:
  89. @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
  90. groff -Tps -man $< >$$foo.ps; \
  91. ps2pdf $$foo.ps $@; \
  92. rm $$foo.ps; \
  93. echo "converted $< to $@")
  94. checksrc:
  95. cd libtest && $(MAKE) checksrc
  96. cd unit && $(MAKE) checksrc
  97. cd server && $(MAKE) checksrc
  98. if CURLDEBUG
  99. # for debug builds, we scan the sources on all regular make invokes
  100. all-local: checksrc
  101. endif