Makefile revision 1.25
11.25Sriastrad# $NetBSD: Makefile,v 1.25 2025/04/16 02:16:53 riastradh Exp $ 21.1Spooka# 31.1Spooka 41.3SskrllNOMAN= # defined 51.3Sskrll 61.1Spooka.include <bsd.own.mk> 71.1Spooka 81.6Smrg.if ${MKPIC} != "no" 91.6Smrg 101.9SjoergSUBDIR+= helper_dso1 helper_dso3 .WAIT helper_dso2 .WAIT \ 111.8Sjoerg helper_ifunc_dso \ 121.5Snonaka helper_symver_dso0 .WAIT helper_symver_dso1 .WAIT \ 131.5Snonaka helper_symver_dso2 .WAIT \ 141.5Snonaka data 151.4Sjoerg 161.16SriastradSUBDIR+= helper_def_dynamic 171.13SriastradSUBDIR+= helper_def_static 181.18SriastradSUBDIR+= helper_onlydef 191.14SriastradSUBDIR+= .WAIT 201.17SriastradSUBDIR+= helper_abuse_dynamic 211.17SriastradSUBDIR+= helper_abuse_static 221.19SriastradSUBDIR+= helper_onlyctor_dynamic 231.18SriastradSUBDIR+= helper_onlyuse_dynamic 241.18SriastradSUBDIR+= helper_onlyuse_static 251.16SriastradSUBDIR+= helper_use_dynamic 261.13SriastradSUBDIR+= helper_use_static 271.13Sriastrad 281.1SpookaTESTSDIR= ${TESTSBASE}/libexec/ld.elf_so 291.1Spooka 301.8SjoergTESTS_C+= t_dlerror-cleared t_dlerror-false t_dlinfo t_dlvsym t_ifunc 311.22SriastradTESTS_C+= t_ifunc_now 321.22SriastradTESTS_C+= t_ifunc_norelro 331.22SriastradTESTS_C+= t_ifunc_norelro_now 341.11SkamilTESTS_C+= t_rtld_r_debug 351.25SriastradTESTS_C+= t_rtld_r_debug_nopie 361.13SriastradTESTS_C+= t_tls_extern 371.21SriastradTESTS_C+= t_hash 381.21Sriastrad 391.22SriastradSRCS.t_ifunc_now= t_ifunc.c 401.22SriastradSRCS.t_ifunc_norelro= t_ifunc.c 411.22SriastradSRCS.t_ifunc_norelro_now= t_ifunc.c 421.22Sriastrad 431.23SriastradLDADD.t_ifunc+= ${${MKRELRO} != "no":?-Wl,-z,relro:} 441.23SriastradLDADD.t_ifunc_now+= ${${MKRELRO} != "no":?-Wl,-z,relro:} -Wl,-z,now 451.24SriastradLDADD.t_ifunc_norelro+= ${${MKRELRO} != "no":?-Wl,-z,norelro:} 461.24SriastradLDADD.t_ifunc_norelro_now+= ${${MKRELRO} != "no":?-Wl,-z,norelro:} -Wl,-z,now 471.22Sriastrad 481.25SriastradSRCS.t_rtld_r_debug_nopie= t_rtld_r_debug.c 491.25Sriastrad 501.25Sriastrad# If the port doesn't support PIE anyway, well, no big deal, we have 511.25Sriastrad# two copies of the same tiny test. 521.25SriastradLDADD.t_rtld_r_debug_nopie+= -Wl,-no-pie 531.25Sriastrad 541.21Sriastrad.PATH: ${NETBSDSRCDIR}/libexec/ld.elf_so 551.21SriastradSRCS.t_hash+= t_hash.c 561.21SriastradSRCS.t_hash+= hash.c 571.21SriastradCPPFLAGS.t_hash.c+= -I${NETBSDSRCDIR}/libexec/ld.elf_so 581.11Skamil 591.20SlukemCOPTS.t_rtld_r_debug.c += ${CC_WNO_MAYBE_UNINITIALIZED} 601.2Sskrll 611.2SskrllLDADD.t_dlerror-false= -Wl,-rpath,/var/nonexistent/lib 621.5SnonakaLDADD.t_dlvsym= -Wl,-rpath,${TESTSDIR}/h_helper_symver_dso2 631.22Sriastrad.for t in t_ifunc t_ifunc_now t_ifunc_norelro t_ifunc_norelro_now 641.22SriastradLDADD.${t}+= -Wl,-rpath,${TESTSDIR} -lutil 651.22SriastradDPADD.${t}+= ${LIBUTIL} 661.22Sriastrad.endfor 671.13SriastradLDADD.t_tls_extern+= -Wl,-rpath,${TESTSDIR} 681.1Spooka 691.9SjoergTESTS_SH+= t_df_1_noopen t_dl_symver t_thread_local_dtor 701.3Sskrll 711.3SskrllBINDIR= ${TESTSDIR} 721.3SskrllPROGS+= h_df_1_noopen1 731.3SskrllSRCS.h_df_1_noopen1= h_df_1_noopen.c 741.3Sskrll 751.3SskrllPROGS+= h_df_1_noopen2 761.3SskrllSRCS.h_df_1_noopen2= h_df_1_noopen.c 771.3SskrllLDADD.h_df_1_noopen2= -lpthread 781.3Sskrll 791.9SjoergPROGS+= h_thread_local_dtor 801.9SjoergLDADD.h_thread_local_dtor= -Wl,-rpath,${TESTSDIR} -lpthread 811.9Sjoerg 821.8SjoergPROGS+= h_ifunc 831.8SjoergSRCS.h_ifunc= h_ifunc.c 841.8SjoergIFUNCDIR!= cd ${.CURDIR}/helper_ifunc_dso && ${PRINTOBJDIR} 851.8SjoergLDADD.h_ifunc= -Wl,-rpath,${TESTSDIR} -L${IFUNCDIR} -lh_helper_ifunc_dso 861.8Sjoerg 871.4SjoergPROGS+= h_locking 881.4SjoergSRCS.h_locking= h_locking.c 891.4SjoergLDADD.h_locking= -lpthread -Wl,--export-dynamic -Wl,-rpath,${TESTSDIR} 901.4Sjoerg 911.5SnonakaPROGS+= h_dl_symver_v0 921.5SnonakaSRCS.h_dl_symver_v0= h_dl_symver.c 931.5SnonakaV0ODIR!= cd ${.CURDIR}/helper_symver_dso0 && ${PRINTOBJDIR} 941.5SnonakaLDADD.h_dl_symver_v0= -L${V0ODIR} -lh_helper_symver_dso 951.5Snonaka 961.5SnonakaPROGS+= h_dl_symver_v1 971.5SnonakaSRCS.h_dl_symver_v1= h_dl_symver.c 981.5SnonakaV1ODIR!= cd ${.CURDIR}/helper_symver_dso1 && ${PRINTOBJDIR} 991.5SnonakaLDADD.h_dl_symver_v1= -L${V1ODIR} -lh_helper_symver_dso 1001.5Snonaka 1011.5SnonakaPROGS+= h_dl_symver_v2 1021.5SnonakaSRCS.h_dl_symver_v2= h_dl_symver.c 1031.5SnonakaV2ODIR!= cd ${.CURDIR}/helper_symver_dso2 && ${PRINTOBJDIR} 1041.5SnonakaLDADD.h_dl_symver_v2= -L${V2ODIR} -lh_helper_symver_dso 1051.5Snonaka 1061.7Smrg.include <bsd.test.mk> 1071.7Smrg 1081.7Smrg.else 1091.7Smrg 1101.7SmrgNOPROG= # defined 1111.7Smrg.include <bsd.prog.mk> 1121.7Smrg 1131.6Smrg.endif 114