1#***************************************************************************
2#                                  _   _ ____  _
3#  Project                     ___| | | |  _ \| |
4#                             / __| | | | |_) | |
5#                            | (__| |_| |  _ <| |___
6#                             \___|\___/|_| \_\_____|
7#
8# Copyright (C) 1998 - 2020, 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 = 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
94libstubgss_la_LDFLAGS_EXTRA =
95
96if CURL_LT_SHLIB_USE_NO_UNDEFINED
97libhostname_la_LDFLAGS_EXTRA += -no-undefined
98libstubgss_la_LDFLAGS_EXTRA += -no-undefined
99endif
100
101if CURL_LT_SHLIB_USE_MIMPURE_TEXT
102libhostname_la_LDFLAGS_EXTRA += -mimpure-text
103endif
104
105if DOING_CURL_SYMBOL_HIDING
106libhostname_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS
107libhostname_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING)
108endif
109
110libhostname_la_CPPFLAGS = $(AM_CPPFLAGS) $(libhostname_la_CPPFLAGS_EXTRA)
111libhostname_la_LDFLAGS = $(AM_LDFLAGS) $(libhostname_la_LDFLAGS_EXTRA)
112libhostname_la_CFLAGS = $(AM_CFLAGS) $(libhostname_la_CFLAGS_EXTRA)
113
114libhostname_la_SOURCES = sethostname.c sethostname.h
115
116libhostname_la_LIBADD =
117libhostname_la_DEPENDENCIES =
118
119# Build a stub gssapi implementation for testing
120if BUILD_STUB_GSS
121noinst_LTLIBRARIES += libstubgss.la
122
123libstubgss_la_CPPFLAGS = $(AM_CPPFLAGS)
124libstubgss_la_LDFLAGS = $(AM_LDFLAGS) $(libstubgss_la_LDFLAGS_EXTRA) -avoid-version -rpath /nowhere
125libstubgss_la_CFLAGS = $(AM_CFLAGS) -g
126
127libstubgss_la_SOURCES = stub_gssapi.c stub_gssapi.h
128
129libstubgss_la_LIBADD =
130libstubgss_la_DEPENDENCIES =
131endif
132
133
134lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/curl.h
135	@PERL@ $(top_srcdir)/tests/libtest/mk-lib1521.pl < $(top_srcdir)/include/curl/curl.h > lib1521.c
136
137CHECKSRC = $(CS_$(V))
138CS_0 = @echo "  RUN     " $@;
139CS_1 =
140CS_ = $(CS_0)
141
142checksrc:
143	$(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl -D$(srcdir) $(srcdir)/*.[ch]
144
145if CURLDEBUG
146# for debug builds, we scan the sources on all regular make invokes
147all-local: checksrc
148endif
149