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###########################################################################
22AUTOMAKE_OPTIONS = foreign nostdinc
23
24# Specify our include paths here, and do it relative to $(top_srcdir) and
25# $(top_builddir), to ensure that these paths which belong to the library
26# being currently built and tested are searched before the library which
27# might possibly already be installed in the system.
28#
29# $(top_srcdir)/include is for libcurl's external include files
30# $(top_builddir)/lib is for libcurl's generated lib/curl_config.h file
31# $(top_srcdir)/lib for libcurl's lib/curl_setup.h and other "borrowed" files
32# $(top_builddir)/ares is for in-tree c-ares's generated ares_build.h file
33# $(top_srcdir)/ares is for in-tree c-ares's external include files
34
35if USE_EMBEDDED_ARES
36AM_CPPFLAGS = -I$(top_srcdir)/include        \
37              -I$(top_builddir)/lib          \
38              -I$(top_srcdir)/lib            \
39              -I$(top_builddir)/ares         \
40              -I$(top_srcdir)/ares
41else
42AM_CPPFLAGS = -I$(top_srcdir)/include        \
43              -I$(top_builddir)/lib          \
44              -I$(top_srcdir)/lib
45endif
46
47EXTRA_DIST = test75.pl test307.pl test610.pl test613.pl test1013.pl \
48  test1022.pl Makefile.inc notexists.pl CMakeLists.txt mk-lib1521.pl
49
50CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
51
52CFLAGS += @CURL_CFLAG_EXTRAS@
53
54CLEANFILES = lib1521.c
55
56# Prevent LIBS from being used for all link targets
57LIBS = $(BLANK_AT_MAKETIME)
58
59if USE_EXPLICIT_LIB_DEPS
60SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
61TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
62else
63SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_LIBS@ @NSS_LIBS@
64TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@
65endif
66
67# Dependencies (may need to be overridden)
68LDADD = $(SUPPORTFILES_LIBS)
69
70# Makefile.inc provides the source defines (TESTUTIL, SUPPORTFILES,
71# noinst_PROGRAMS, lib*_SOURCES, and lib*_CFLAGS)
72include Makefile.inc
73
74# Preloading of libhostname allows host name overriding,
75# this is used to make some tests machine independent.
76
77if BUILD_LIBHOSTNAME
78noinst_LTLIBRARIES = libhostname.la
79else
80noinst_LTLIBRARIES =
81endif
82
83if USE_CPPFLAG_CURL_STATICLIB
84AM_CPPFLAGS += -DCURL_STATICLIB
85endif
86
87AM_LDFLAGS =
88AM_CFLAGS =
89
90libhostname_la_CPPFLAGS_EXTRA =
91libhostname_la_LDFLAGS_EXTRA = -module -avoid-version -rpath /nowhere
92libhostname_la_CFLAGS_EXTRA =
93
94if CURL_LT_SHLIB_USE_NO_UNDEFINED
95libhostname_la_LDFLAGS_EXTRA += -no-undefined
96endif
97
98if CURL_LT_SHLIB_USE_MIMPURE_TEXT
99libhostname_la_LDFLAGS_EXTRA += -mimpure-text
100endif
101
102if DOING_CURL_SYMBOL_HIDING
103libhostname_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS
104libhostname_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING)
105endif
106
107libhostname_la_CPPFLAGS = $(AM_CPPFLAGS) $(libhostname_la_CPPFLAGS_EXTRA)
108libhostname_la_LDFLAGS = $(AM_LDFLAGS) $(libhostname_la_LDFLAGS_EXTRA)
109libhostname_la_CFLAGS = $(AM_CFLAGS) $(libhostname_la_CFLAGS_EXTRA)
110
111libhostname_la_SOURCES = sethostname.c sethostname.h
112
113libhostname_la_LIBADD =
114libhostname_la_DEPENDENCIES =
115
116# Build a stub gssapi implementation for testing
117if BUILD_STUB_GSS
118noinst_LTLIBRARIES += libstubgss.la
119
120libstubgss_la_CPPFLAGS = $(AM_CPPFLAGS)
121libstubgss_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version -rpath /nowhere
122libstubgss_la_CFLAGS = $(AM_CFLAGS) -g
123
124libstubgss_la_SOURCES = stub_gssapi.c stub_gssapi.h
125
126libstubgss_la_LIBADD =
127libstubgss_la_DEPENDENCIES =
128endif
129
130
131lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/curl.h
132	@PERL@ $(top_srcdir)/tests/libtest/mk-lib1521.pl < $(top_srcdir)/include/curl/curl.h > lib1521.c
133
134CHECKSRC = $(CS_$(V))
135CS_0 = @echo "  RUN     " $@;
136CS_1 =
137CS_ = $(CS_0)
138
139checksrc:
140	$(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.c
141
142if CURLDEBUG
143# for debug builds, we scan the sources on all regular make invokes
144all-local: checksrc
145endif
146