1# Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
2# Copyright 2015, Daniel Axtens, IBM Corporation
3# zlib license, see zlib.h
4
5CC=
6CFLAGS=
7EXE=
8SRCDIR=
9SRCTOP=
10LIBNAME=
11TEST_LDFLAGS=-L.. ../$(LIBNAME).a
12
13QEMU_RUN=
14QEMU_VER:=$(shell command -v $(QEMU_RUN) --version 2> /dev/null)
15
16all: oldtests ghtests
17
18oldtests: #set by ../configure
19check_cross_dep:
20ifneq (,$(QEMU_RUN))
21ifeq (,$(QEMU_VER))
22	$(error "You need QEMU to run tests on non-native platform")
23endif
24endif
25
26ALL_SRC_FILES := $(wildcard ../*)
27
28teststatic: check_cross_dep
29	@TMPST=tmpst_$$$$; \
30	HELLOST=tmphellost_$$$$; \
31	if echo hello world | ${QEMU_RUN} ../minigzip$(EXE) > $$HELLOST && ${QEMU_RUN} ../minigzip$(EXE) -d < $$HELLOST && ${QEMU_RUN} ../example$(EXE) $$TMPST; then \
32	  echo '		*** zlib test OK ***'; \
33	else \
34	  echo '		*** zlib test FAILED ***'; exit 1; \
35	fi; \
36	rm -f $$TMPST $$HELLOST
37
38testshared: check_cross_dep
39	@LD_LIBRARY_PATH=`pwd`/..:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
40	LD_LIBRARYN32_PATH=`pwd`/..:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
41	DYLD_LIBRARY_PATH=`pwd`/..:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
42	SHLIB_PATH=`pwd`/..:$(SHLIB_PATH) ; export SHLIB_PATH; \
43	TMPSH=tmpsh_$$$$; \
44	HELLOSH=tmphellosh_$$$$; \
45	if echo hello world | ${QEMU_RUN} ../minigzipsh$(EXE) > $$HELLOSH && ${QEMU_RUN} ../minigzipsh$(EXE) -d < $$HELLOSH && ${QEMU_RUN} ../examplesh$(EXE) $$TMPSH; then \
46	  echo '		*** zlib shared test OK ***'; \
47	else \
48	  echo '		*** zlib shared test FAILED ***'; exit 1; \
49	fi; \
50	rm -f $$TMPSH $$HELLOSH
51
52.PHONY: ghtests
53ghtests: testGH-361 testGH-364 testGH-751 testGH-1235
54
55.PHONY: testGH-361
56testGH-361:
57	$(QEMU_RUN) ../minigzip$(EXE) -4 <$(SRCDIR)/GH-361/test.txt >/dev/null
58
59switchlevels$(EXE): $(SRCDIR)/switchlevels.c
60	$(CC) $(CFLAGS) -I.. -I$(SRCTOP) -o $@ $< $(TEST_LDFLAGS)
61
62.PHONY: testGH-364
63testGH-364: switchlevels$(EXE)
64	$(QEMU_RUN) ./switchlevels$(EXE) 1 5 9 3 <$(SRCDIR)/GH-364/test.bin >/dev/null
65
66.PHONY: testGH-751
67testGH-751:
68	$(QEMU_RUN) ../minigzip$(EXE) <$(SRCDIR)/GH-751/test.txt | $(QEMU_RUN) ../minigzip$(EXE) -d >/dev/null
69
70gh1235$(EXE): $(SRCDIR)/gh1235.c
71	$(CC) $(CFLAGS) -I.. -I$(SRCTOP) -o $@ $< $(TEST_LDFLAGS)
72
73.PHONY: testGH-1235
74testGH-1235: gh1235$(EXE)
75	$(QEMU_RUN) ./gh1235$(EXE)
76
77clean:
78	rm -f *.o *.gcda *.gcno *.gcov
79	rm -f switchlevels$(EXE) gh1235$(EXE)
80
81distclean:
82	rm -f Makefile
83