1# $OpenBSD: Makefile,v 1.6 2014/12/01 01:16:46 deraadt Exp $
2
3.include <bsd.own.mk>
4
5REGRESS_TARGETS = test
6
7.include <bsd.regress.mk>
8
9EMPTYFILE=	emptyfile
10CLEANFILES+=	${EMPTYFILE}
11LIB_DEPENDS=	${EMPTYFILE}
12
13# gcc3 will error with "file not recognized: File truncated" if the input file
14# is not at least four bytes long!
15${EMPTYFILE}:
16	printf "\n\n\n\n" > $@
17
18CLEANFILES+=lib1.so lib2.so lib3.so dlopen dlopen1 dlopen2 dlopen3
19
20.PHONY: test
21test: lib1.so lib2.so lib3.so dlopen dlopen1 dlopen2 dlopen3
22	${SHELL} ${.CURDIR}/test.sh
23
24lib1.so: ${LIB_DEPENDS}
25	cc -o lib1.so ${EMPTYFILE} -fPIC -shared -Wl,-znodlopen
26
27lib2.so: ${LIB_DEPENDS}
28	cc -o lib2.so ${EMPTYFILE} -fPIC -shared -L. -l1
29
30lib3.so: ${LIB_DEPENDS}
31	cc -o lib3.so ${EMPTYFILE} -fPIC -shared -L. -l2
32
33dlopen: dlopen.c
34	cc -o dlopen ${.CURDIR}/dlopen.c
35
36dlopen1: dlopen.c
37	cc -o dlopen1 ${.CURDIR}/dlopen.c -L. -l1
38
39dlopen2: dlopen.c
40	cc -o dlopen2 ${.CURDIR}/dlopen.c -L. -l2
41
42dlopen3: dlopen.c
43	cc -o dlopen3 ${.CURDIR}/dlopen.c -L. -l3
44