1# $OpenBSD: Makefile,v 1.6 2010/08/04 18:25:24 kettenis Exp $
2
3.include <bsd.own.mk>
4
5REGRESS_TARGETS=	test-none test-single test-minor-1 test-minor-2 \
6			test-major-1 test-major-2
7.if (${ELF_TOOLCHAIN} == "yes")
8REGRESS_TARGETS+=	test-nover test-nover-single-1 test-nover-single-2
9.endif
10
11.include <bsd.obj.mk>
12
13.if (${ELF_TOOLCHAIN} == "yes")
14DIR_NOVER=${.CURDIR}/../libnover
15
16OBJDIR_NOVER!=	if [ -d $(DIR_NOVER)/${__objdir} ]; then \
17			echo "$(DIR_NOVER)/${__objdir}"; \
18		else \
19			echo "$(DIR_NOVER)"; \
20		fi
21.endif
22
23DIR_10=${.CURDIR}/../lib10
24
25OBJDIR_10!=	if [ -d $(DIR_10)/${__objdir} ]; then \
26			echo "$(DIR_10)/${__objdir}"; \
27		else \
28			echo "$(DIR_10)"; \
29		fi
30
31DIR_11=${.CURDIR}/../lib11
32
33OBJDIR_11!=	if [ -d $(DIR_11)/${__objdir} ]; then \
34			echo "$(DIR_11)/${__objdir}"; \
35		else \
36			echo "$(DIR_11)"; \
37		fi
38
39DIR_20=${.CURDIR}/../lib20
40
41OBJDIR_20!=	if [ -d $(DIR_20)/${__objdir} ]; then \
42			echo "$(DIR_20)/${__objdir}"; \
43		else \
44			echo "$(DIR_20)"; \
45		fi
46
47DIR_PROG=${.CURDIR}/../prog
48
49OBJDIR_PROG!=	if [ -d $(DIR_PROG)/${__objdir} ]; then \
50			echo "$(DIR_PROG)/${__objdir}"; \
51		else \
52			echo "$(DIR_PROG)"; \
53		fi
54
55PROGPATH=	${OBJDIR_PROG}/prog
56
57prog:
58	@cd $(DIR_PROG) && $(MAKE)
59
60make-lib: prog
61	@mkdir lib >/dev/null 2>&1 || true
62
63clean:
64	@rm lib/* >/dev/null 2>&1 || true
65
66test-none:	make-lib clean
67	sh ${.CURDIR}/test.sh ${PROGPATH} '%ERROR%'
68
69.if (${ELF_TOOLCHAIN} == "yes")
70test-nover:	make-lib clean
71	cp ${OBJDIR_NOVER}/libtest.so lib/
72	sh ${.CURDIR}/test.sh ${PROGPATH} none
73.endif
74
75test-single:	make-lib clean
76	cp ${OBJDIR_10}/libtest.so.1.0 lib/
77	sh ${.CURDIR}/test.sh ${PROGPATH} 1.0
78
79test-minor-1:	make-lib clean
80	cp ${OBJDIR_10}/libtest.so.1.0 ${OBJDIR_11}/libtest.so.1.1 lib/
81	sh ${.CURDIR}/test.sh ${PROGPATH} 1.1
82
83test-minor-2:	make-lib clean
84	cp ${OBJDIR_10}/libtest.so.1.0 ${OBJDIR_11}/libtest.so.1.1 lib/
85	sh ${.CURDIR}/test.sh ${PROGPATH} 1.1
86
87test-major-1:	make-lib clean
88	cp ${OBJDIR_11}/libtest.so.1.1 ${OBJDIR_20}/libtest.so.2.0 lib/
89	sh ${.CURDIR}/test.sh ${PROGPATH} 2.0
90
91test-major-2:	make-lib clean
92	cp ${OBJDIR_11}/libtest.so.1.1 ${OBJDIR_20}/libtest.so.2.0 lib/
93	sh ${.CURDIR}/test.sh ${PROGPATH} 2.0
94
95.if (${ELF_TOOLCHAIN} == "yes")
96test-nover-single-1:	make-lib clean
97	cp ${OBJDIR_NOVER}/libtest.so ${OBJDIR_10}/libtest.so.1.0 lib/
98	sh ${.CURDIR}/test.sh ${PROGPATH} none
99
100test-nover-single-2:	make-lib clean
101	cp ${OBJDIR_10}/libtest.so.1.0 ${OBJDIR_NOVER}/libtest.so lib/
102	sh ${.CURDIR}/test.sh ${PROGPATH} none
103.endif
104
105.include <bsd.regress.mk>
106