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