Makefile revision 1.18
1# $NetBSD: Makefile,v 1.18 2023/06/02 19:08:48 riastradh Exp $
2#
3
4NOMAN=		# defined
5
6.include <bsd.own.mk>
7
8.if ${MKPIC} != "no"
9
10SUBDIR+=	helper_dso1 helper_dso3 .WAIT helper_dso2 .WAIT \
11		helper_ifunc_dso \
12		helper_symver_dso0 .WAIT helper_symver_dso1 .WAIT \
13		helper_symver_dso2 .WAIT \
14		data
15
16SUBDIR+=	helper_def_dynamic
17SUBDIR+=	helper_def_static
18SUBDIR+=	helper_onlydef
19SUBDIR+=	.WAIT
20SUBDIR+=	helper_abuse_dynamic
21SUBDIR+=	helper_abuse_static
22SUBDIR+=	helper_onlyuse_dynamic
23SUBDIR+=	helper_onlyuse_static
24SUBDIR+=	helper_use_dynamic
25SUBDIR+=	helper_use_static
26
27TESTSDIR=	${TESTSBASE}/libexec/ld.elf_so
28
29TESTS_C+=	t_dlerror-cleared t_dlerror-false t_dlinfo t_dlvsym t_ifunc
30TESTS_C+=	t_rtld_r_debug
31TESTS_C+=	t_tls_extern
32
33COPTS.t_rtld_r_debug.c += ${${ACTIVE_CC} == "gcc" :? -Wno-maybe-uninitialized :}
34
35LDADD.t_dlerror-false=	-Wl,-rpath,/var/nonexistent/lib
36LDADD.t_dlvsym=		-Wl,-rpath,${TESTSDIR}/h_helper_symver_dso2
37LDADD.t_ifunc=		-Wl,-rpath,${TESTSDIR} -lutil
38DPADD.t_ifunc=		${LIBUTIL}
39LDADD.t_tls_extern+=	-Wl,-rpath,${TESTSDIR}
40
41TESTS_SH+=		t_df_1_noopen t_dl_symver t_thread_local_dtor
42
43BINDIR=			${TESTSDIR}
44PROGS+=			h_df_1_noopen1
45SRCS.h_df_1_noopen1=	h_df_1_noopen.c
46
47PROGS+=			h_df_1_noopen2
48SRCS.h_df_1_noopen2=	h_df_1_noopen.c
49LDADD.h_df_1_noopen2=	-lpthread
50
51PROGS+=			h_thread_local_dtor
52LDADD.h_thread_local_dtor=	-Wl,-rpath,${TESTSDIR}  -lpthread
53
54PROGS+=			h_ifunc
55SRCS.h_ifunc=		h_ifunc.c
56IFUNCDIR!=		cd ${.CURDIR}/helper_ifunc_dso && ${PRINTOBJDIR}
57LDADD.h_ifunc=		-Wl,-rpath,${TESTSDIR} -L${IFUNCDIR} -lh_helper_ifunc_dso
58
59PROGS+=			h_locking
60SRCS.h_locking=		h_locking.c
61LDADD.h_locking=	-lpthread -Wl,--export-dynamic -Wl,-rpath,${TESTSDIR}
62
63PROGS+=			h_dl_symver_v0
64SRCS.h_dl_symver_v0=	h_dl_symver.c
65V0ODIR!=		cd ${.CURDIR}/helper_symver_dso0 && ${PRINTOBJDIR}
66LDADD.h_dl_symver_v0=	-L${V0ODIR} -lh_helper_symver_dso
67
68PROGS+=			h_dl_symver_v1
69SRCS.h_dl_symver_v1=	h_dl_symver.c
70V1ODIR!=		cd ${.CURDIR}/helper_symver_dso1 && ${PRINTOBJDIR}
71LDADD.h_dl_symver_v1=	-L${V1ODIR} -lh_helper_symver_dso
72
73PROGS+=			h_dl_symver_v2
74SRCS.h_dl_symver_v2=	h_dl_symver.c
75V2ODIR!=		cd ${.CURDIR}/helper_symver_dso2 && ${PRINTOBJDIR}
76LDADD.h_dl_symver_v2=	-L${V2ODIR} -lh_helper_symver_dso
77
78.include <bsd.test.mk>
79
80.else
81
82NOPROG=	# defined
83.include <bsd.prog.mk>
84
85.endif
86