#
# You may have to ajust to call the right compiler, or other oprions
# for compiling and linking
#

CFLAGS=`xml2-config --cflags`
LIBS=`xml2-config --libs`
THREADLIB= -lpthread
EXEEXT=

all: runtest$(EXEEXT) runsuite$(EXEEXT) testapi$(EXEEXT) testchar$(EXEEXT)

clean:
	$(RM) runtest$(EXEEXT) runsuite$(EXEEXT) testapi$(EXEEXT)

check: do_runtest do_testchar do_testapi do_runsuite

runtest$(EXEEXT): runtest.c
	$(CC) -o runtest$(EXEEXT) $(CFLAGS) runtest.c $(LIBS) $(THREADLIB)

do_runtest: runtest$(EXEEXT)
	./runtest

runsuite$(EXEEXT): runsuite.c
	$(CC) -o runsuite$(EXEEXT) $(CFLAGS) runsuite.c $(LIBS)

do_runsuite: runsuite$(EXEEXT)
	./runsuite

testapi$(EXEEXT): testapi.c
	$(CC) -o testapi$(EXEEXT) $(CFLAGS) testapi.c $(LIBS)

do_testapi: testapi$(EXEEXT)
	./testapi

testchar$(EXEEXT): testchar.c
	$(CC) -o testchar$(EXEEXT) $(CFLAGS) testchar.c $(LIBS)

do_testchar: testchar$(EXEEXT)
	./testchar

