summaryrefslogtreecommitdiff
path: root/regress/libexec/ld.so/link-order/test/Makefile
blob: 3aa3996b7d224823275540c75be4ec68c75490c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# $OpenBSD: Makefile,v 1.6 2010/08/04 18:25:24 kettenis Exp $

.include <bsd.own.mk>

REGRESS_TARGETS=	test-none test-single test-minor-1 test-minor-2 \
			test-major-1 test-major-2
.if (${ELF_TOOLCHAIN} == "yes")
REGRESS_TARGETS+=	test-nover test-nover-single-1 test-nover-single-2
.endif

.include <bsd.obj.mk>

.if (${ELF_TOOLCHAIN} == "yes")
DIR_NOVER=${.CURDIR}/../libnover

OBJDIR_NOVER!=	if [ -d $(DIR_NOVER)/${__objdir} ]; then \
			echo "$(DIR_NOVER)/${__objdir}"; \
		else \
			echo "$(DIR_NOVER)"; \
		fi
.endif

DIR_10=${.CURDIR}/../lib10

OBJDIR_10!=	if [ -d $(DIR_10)/${__objdir} ]; then \
			echo "$(DIR_10)/${__objdir}"; \
		else \
			echo "$(DIR_10)"; \
		fi

DIR_11=${.CURDIR}/../lib11

OBJDIR_11!=	if [ -d $(DIR_11)/${__objdir} ]; then \
			echo "$(DIR_11)/${__objdir}"; \
		else \
			echo "$(DIR_11)"; \
		fi

DIR_20=${.CURDIR}/../lib20

OBJDIR_20!=	if [ -d $(DIR_20)/${__objdir} ]; then \
			echo "$(DIR_20)/${__objdir}"; \
		else \
			echo "$(DIR_20)"; \
		fi

DIR_PROG=${.CURDIR}/../prog

OBJDIR_PROG!=	if [ -d $(DIR_PROG)/${__objdir} ]; then \
			echo "$(DIR_PROG)/${__objdir}"; \
		else \
			echo "$(DIR_PROG)"; \
		fi

PROGPATH=	${OBJDIR_PROG}/prog

prog:
	@cd $(DIR_PROG) && $(MAKE)

make-lib: prog
	@mkdir lib >/dev/null 2>&1 || true

clean:
	@rm lib/* >/dev/null 2>&1 || true

test-none:	make-lib clean
	sh ${.CURDIR}/test.sh ${PROGPATH} '%ERROR%'

.if (${ELF_TOOLCHAIN} == "yes")
test-nover:	make-lib clean
	cp ${OBJDIR_NOVER}/libtest.so lib/
	sh ${.CURDIR}/test.sh ${PROGPATH} none
.endif

test-single:	make-lib clean
	cp ${OBJDIR_10}/libtest.so.1.0 lib/
	sh ${.CURDIR}/test.sh ${PROGPATH} 1.0

test-minor-1:	make-lib clean
	cp ${OBJDIR_10}/libtest.so.1.0 ${OBJDIR_11}/libtest.so.1.1 lib/
	sh ${.CURDIR}/test.sh ${PROGPATH} 1.1

test-minor-2:	make-lib clean
	cp ${OBJDIR_10}/libtest.so.1.0 ${OBJDIR_11}/libtest.so.1.1 lib/
	sh ${.CURDIR}/test.sh ${PROGPATH} 1.1

test-major-1:	make-lib clean
	cp ${OBJDIR_11}/libtest.so.1.1 ${OBJDIR_20}/libtest.so.2.0 lib/
	sh ${.CURDIR}/test.sh ${PROGPATH} 2.0

test-major-2:	make-lib clean
	cp ${OBJDIR_11}/libtest.so.1.1 ${OBJDIR_20}/libtest.so.2.0 lib/
	sh ${.CURDIR}/test.sh ${PROGPATH} 2.0

.if (${ELF_TOOLCHAIN} == "yes")
test-nover-single-1:	make-lib clean
	cp ${OBJDIR_NOVER}/libtest.so ${OBJDIR_10}/libtest.so.1.0 lib/
	sh ${.CURDIR}/test.sh ${PROGPATH} none

test-nover-single-2:	make-lib clean
	cp ${OBJDIR_10}/libtest.so.1.0 ${OBJDIR_NOVER}/libtest.so lib/
	sh ${.CURDIR}/test.sh ${PROGPATH} none
.endif

.include <bsd.regress.mk>