File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / src / Makefile.am
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:16 2020 UTC (4 years, 10 months ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    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: AUTOMAKE_OPTIONS = foreign nostdinc
   23: 
   24: # remove targets if the command fails
   25: .DELETE_ON_ERROR:
   26: 
   27: # Specify our include paths here, and do it relative to $(top_srcdir) and
   28: # $(top_builddir), to ensure that these paths which belong to the library
   29: # being currently built and tested are searched before the library which
   30: # might possibly already be installed in the system.
   31: #
   32: # $(top_srcdir)/include is for libcurl's external include files
   33: # $(top_builddir)/lib is for libcurl's generated lib/curl_config.h file
   34: # $(top_builddir)/src is for curl's generated src/curl_config.h file
   35: # $(top_srcdir)/lib for libcurl's lib/curl_setup.h and other "borrowed" files
   36: # $(top_srcdir)/src is for curl's src/tool_setup.h and "curl-private" files
   37: 
   38: AM_CPPFLAGS = -I$(top_srcdir)/include        \
   39:               -I$(top_builddir)/lib          \
   40:               -I$(top_builddir)/src          \
   41:               -I$(top_srcdir)/lib            \
   42:               -I$(top_srcdir)/src
   43: 
   44: bin_PROGRAMS = curl
   45: 
   46: SUBDIRS = ../docs
   47: 
   48: if USE_CPPFLAG_CURL_STATICLIB
   49: AM_CPPFLAGS += -DCURL_STATICLIB
   50: endif
   51: 
   52: include Makefile.inc
   53: 
   54: # CURL_FILES comes from Makefile.inc
   55: curl_SOURCES = $(CURL_FILES)
   56: 
   57: # This might hold -Werror
   58: CFLAGS += @CURL_CFLAG_EXTRAS@
   59: 
   60: # Prevent LIBS from being used for all link targets
   61: LIBS = $(BLANK_AT_MAKETIME)
   62: 
   63: if USE_EXPLICIT_LIB_DEPS
   64: curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@
   65: else
   66: curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
   67: endif
   68: 
   69: curl_LDFLAGS = @LIBMETALINK_LDFLAGS@
   70: curl_CPPFLAGS = $(AM_CPPFLAGS) $(LIBMETALINK_CPPFLAGS)
   71: 
   72: # if unit tests are enabled, build a static library to link them with
   73: if BUILD_UNITTESTS
   74: noinst_LTLIBRARIES = libcurltool.la
   75: libcurltool_la_CPPFLAGS = $(LIBMETALINK_CPPFLAGS) $(AM_CPPFLAGS) \
   76:                           -DCURL_STATICLIB -DUNITTESTS
   77: libcurltool_la_CFLAGS =
   78: libcurltool_la_LDFLAGS = -static $(LINKFLAGS)
   79: libcurltool_la_SOURCES = $(curl_SOURCES)
   80: endif
   81: 
   82: CLEANFILES = tool_hugehelp.c
   83: # Use the C locale to ensure that only ASCII characters appear in the
   84: # embedded text.
   85: NROFF=env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
   86: 
   87: EXTRA_DIST = mkhelp.pl makefile.dj                                     \
   88:  Makefile.m32 macos/curl.mcp.xml.sit.hqx macos/MACINSTALL.TXT          \
   89:  macos/src/curl_GUSIConfig.cpp macos/src/macos_main.cpp makefile.amiga \
   90:  curl.rc Makefile.netware Makefile.inc Makefile.Watcom CMakeLists.txt
   91: 
   92: # Use absolute directory to disable VPATH
   93: MANPAGE=$(abs_top_builddir)/docs/curl.1
   94: MKHELP=$(top_srcdir)/src/mkhelp.pl
   95: HUGE=tool_hugehelp.c
   96: 
   97: HUGECMD = $(HUGEIT_$(V))
   98: HUGEIT_0 = @echo "  HUGE    " $@;
   99: HUGEIT_1 =
  100: HUGEIT_ = $(HUGEIT_0)
  101: 
  102: CHECKSRC = $(CS_$(V))
  103: CS_0 = @echo "  RUN     " $@;
  104: CS_1 =
  105: CS_ = $(CS_0)
  106: 
  107: if USE_MANUAL
  108: # Here are the stuff to create a built-in manual
  109: 
  110: $(MANPAGE):
  111: 	cd $(top_builddir)/docs && $(MAKE)
  112: 
  113: if HAVE_LIBZ
  114: # This generates the tool_hugehelp.c file in both uncompressed and
  115: # compressed formats.
  116: $(HUGE): $(MANPAGE) $(MKHELP)
  117: 	$(HUGECMD) (echo '#include "tool_setup.h"' > $(HUGE);   \
  118: 	echo '#ifndef HAVE_LIBZ' >> $(HUGE);                    \
  119: 	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE);     \
  120: 	echo '#else' >> $(HUGE);                                \
  121: 	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c >> $(HUGE);  \
  122: 	echo '#endif /* HAVE_LIBZ */' >> $(HUGE) )
  123: else # HAVE_LIBZ
  124: # This generates the tool_hugehelp.c file uncompressed only
  125: $(HUGE): $(MANPAGE) $(MKHELP)
  126: 	$(HUGECMD)(echo '#include "tool_setup.h"' > $(HUGE);    \
  127: 	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE) )
  128: endif
  129: 
  130: else # USE_MANUAL
  131: # built-in manual has been disabled, make a blank file
  132: $(HUGE):
  133: 	$(HUGECMD)(echo "/* built-in manual is disabled, blank function */" > $(HUGE); \
  134: 	echo '#include "tool_hugehelp.h"' >> $(HUGE); \
  135: 	echo "void hugehelp(void) {}" >>$(HUGE) )
  136: endif
  137: 
  138: # ignore tool_hugehelp.c since it is generated source code and it plays
  139: # by slightly different rules!
  140: checksrc:
  141: 	$(CHECKSRC)(@PERL@ $(top_srcdir)/lib/checksrc.pl -D$(srcdir)        \
  142: 	-W$(srcdir)/tool_hugehelp.c $(srcdir)/*.[ch])
  143: 
  144: if CURLDEBUG
  145: # for debug builds, we scan the sources on all regular make invokes
  146: all-local: checksrc
  147: endif
  148: 
  149: # disable the tests that are mostly causing false positives
  150: TIDYFLAGS=-checks=-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-optin.performance.Padding,-clang-analyzer-valist.Uninitialized,-clang-analyzer-core.NonNullParamChecker,-clang-analyzer-core.NullDereference
  151: 
  152: TIDY:=clang-tidy
  153: 
  154: tidy:
  155: 	$(TIDY) $(CURL_CFILES) $(TIDYFLAGS) -- $(curl_CPPFLAGS) $(CPPFLAGS) -DHAVE_CONFIG_H

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>