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