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