# files used only in some libcurl test programs
TESTUTIL = testutil.c testutil.h

# files used only in some libcurl test programs
TSTTRACE = testtrace.c testtrace.h

# files used only in some libcurl test programs
WARNLESS = $(top_srcdir)/lib/warnless.c $(top_srcdir)/lib/warnless.h

# these files are used in every single test program below
SUPPORTFILES = first.c test.h

# These are all libcurl test programs
noinst_PROGRAMS = chkhostname \
  lib500 lib501 lib502 lib503 lib504 lib505 lib506 lib507 lib508 lib510	\
  lib511 lib512 lib513 lib514 lib515 lib516 lib517 lib518 lib519 lib520	\
  lib521 lib523 lib524 lib525 lib526 lib527 lib574 lib575 lib576 lib578	\
  lib579 lib529 lib530 lib532 lib533 lib536 lib537 lib540 lib541 lib542	\
  lib543 lib544 lib545 lib547 lib548 lib549 lib552 lib553 lib554 lib555	\
  lib556 lib539 lib557 lib560 lib562 lib564 lib565 lib566 lib567 lib568	\
  lib569 lib570 lib571 lib572 lib573 lib582 lib583 lib585 lib586 lib587 \
  lib590 lib591 lib597 lib598

chkhostname_SOURCES = chkhostname.c $(top_srcdir)/lib/curl_gethostname.c
chkhostname_LDADD = @CURL_NETWORK_LIBS@
chkhostname_DEPENDENCIES =
chkhostname_CFLAGS = $(AM_CFLAGS)

lib500_SOURCES = lib500.c $(SUPPORTFILES) $(TESTUTIL) $(TSTTRACE)

lib501_SOURCES = lib501.c $(SUPPORTFILES)

lib502_SOURCES = lib502.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib503_SOURCES = lib503.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib504_SOURCES = lib504.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib505_SOURCES = lib505.c $(SUPPORTFILES)

lib506_SOURCES = lib506.c $(SUPPORTFILES)

lib507_SOURCES = lib507.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib508_SOURCES = lib508.c $(SUPPORTFILES)

lib510_SOURCES = lib510.c $(SUPPORTFILES)

lib511_SOURCES = lib511.c $(SUPPORTFILES)

lib512_SOURCES = lib512.c $(SUPPORTFILES)

lib513_SOURCES = lib513.c $(SUPPORTFILES)

lib514_SOURCES = lib514.c $(SUPPORTFILES)

lib515_SOURCES = lib515.c $(SUPPORTFILES)

lib516_SOURCES = lib516.c $(SUPPORTFILES)

lib517_SOURCES = lib517.c $(SUPPORTFILES)

lib518_SOURCES = lib518.c $(SUPPORTFILES) $(WARNLESS)

lib519_SOURCES = lib519.c $(SUPPORTFILES)

lib520_SOURCES = lib520.c $(SUPPORTFILES)

lib521_SOURCES = lib521.c $(SUPPORTFILES)

lib523_SOURCES = lib523.c $(SUPPORTFILES)

lib524_SOURCES = lib524.c $(SUPPORTFILES)

lib525_SOURCES = lib525.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib526_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib526_CPPFLAGS = $(AM_CPPFLAGS) -DLIB526

lib527_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib527_CPPFLAGS = $(AM_CPPFLAGS) -DLIB527

lib529_SOURCES = lib525.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib529_CPPFLAGS = $(AM_CPPFLAGS) -DLIB529

lib530_SOURCES = lib530.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib530_CPPFLAGS = $(AM_CPPFLAGS) -DLIB530

lib532_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib532_CPPFLAGS = $(AM_CPPFLAGS) -DLIB532

lib533_SOURCES = lib533.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib536_SOURCES = lib536.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib537_SOURCES = lib537.c $(SUPPORTFILES) $(WARNLESS)

lib539_SOURCES = lib539.c $(SUPPORTFILES)

lib540_SOURCES = lib540.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib541_SOURCES = lib541.c $(SUPPORTFILES)

lib542_SOURCES = lib542.c $(SUPPORTFILES)

lib543_SOURCES = lib543.c $(SUPPORTFILES)

lib544_SOURCES = lib544.c $(SUPPORTFILES)

lib545_SOURCES = lib544.c $(SUPPORTFILES)
lib545_CPPFLAGS = $(AM_CPPFLAGS) -DLIB545

lib547_SOURCES = lib547.c $(SUPPORTFILES)

lib548_SOURCES = lib547.c $(SUPPORTFILES)
lib548_CPPFLAGS = $(AM_CPPFLAGS) -DLIB548

lib549_SOURCES = lib549.c $(SUPPORTFILES)

lib555_SOURCES = lib555.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib552_SOURCES = lib552.c $(SUPPORTFILES) $(WARNLESS)

lib553_SOURCES = lib553.c $(SUPPORTFILES)

lib554_SOURCES = lib554.c $(SUPPORTFILES)

lib556_SOURCES = lib556.c $(SUPPORTFILES)

lib557_SOURCES = lib557.c $(SUPPORTFILES)

lib560_SOURCES = lib560.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib574_SOURCES = lib574.c $(SUPPORTFILES)

lib575_SOURCES = lib575.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib576_SOURCES = lib576.c $(SUPPORTFILES)

lib562_SOURCES = lib562.c $(SUPPORTFILES)

lib564_SOURCES = lib564.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib565_SOURCES = lib510.c $(SUPPORTFILES)
lib565_CPPFLAGS = $(AM_CPPFLAGS) -DLIB565

lib566_SOURCES = lib566.c $(SUPPORTFILES)

lib567_SOURCES = lib567.c $(SUPPORTFILES)

lib568_SOURCES = lib568.c $(SUPPORTFILES)

lib569_SOURCES = lib569.c $(SUPPORTFILES)

lib570_SOURCES = lib570.c $(SUPPORTFILES)

lib571_SOURCES = lib571.c $(SUPPORTFILES) $(WARNLESS)

lib572_SOURCES = lib572.c $(SUPPORTFILES)

lib573_SOURCES = lib573.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) $(TSTTRACE)

lib578_SOURCES = lib578.c $(SUPPORTFILES)

lib579_SOURCES = lib579.c $(SUPPORTFILES)

lib582_SOURCES = lib582.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib583_SOURCES = lib583.c $(SUPPORTFILES)

lib585_SOURCES = lib500.c $(SUPPORTFILES) $(TESTUTIL) $(TSTTRACE)
lib585_CPPFLAGS = $(AM_CPPFLAGS) -DLIB585

lib586_SOURCES = lib586.c $(SUPPORTFILES)

lib587_SOURCES = lib554.c $(SUPPORTFILES)
lib587_CPPFLAGS = $(AM_CPPFLAGS) -DLIB587

lib590_SOURCES = lib590.c $(SUPPORTFILES)

lib591_SOURCES = lib591.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib597_SOURCES = lib597.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)

lib598_SOURCES = lib598.c $(SUPPORTFILES)
