11.12Schristos# $NetBSD: Makefile,v 1.12 2025/06/10 14:30:44 christos Exp $
21.1Sjmmv
31.2SjoergNOMAN=			# defined
41.1Sjmmv
51.1Sjmmv.include <bsd.own.mk>
61.1Sjmmv
71.2SjoergTESTSDIR=		${TESTSBASE}/lib/csu
81.6SjoergTESTS_SH=		t_crt0 t_ifunc_static
91.2SjoergTESTS_SUBDIRS=
101.2SjoergSUBDIR+=		dso
111.2Sjoerg
121.3Sjoerg.include "Makefile.check_stack"
131.3Sjoerg
141.4SskrllCPPFLAGS+=		${CPPFLAGS_CHECK_STACK}
151.3Sjoerg
161.2SjoergBINDIR=			${TESTSDIR}
171.2SjoergPROG_CXX=		h_initfini1 h_initfini2 h_initfini3
181.3SjoergSRCS.h_initfini1=	h_initfini1.cxx h_initfini_common.cxx \
191.3Sjoerg			${SRCS_CHECK_STACK}
201.3SjoergSRCS.h_initfini2=	h_initfini1.cxx h_initfini_common.cxx \
211.3Sjoerg			${SRCS_CHECK_STACK}
221.5SjoergLDSTATIC.h_initfini2+=	-static
231.3SjoergSRCS.h_initfini3=	h_initfini3.cxx h_initfini_common.cxx \
241.3Sjoerg			${SRCS_CHECK_STACK}
251.2SjoergLDADD.h_initfini3+=	-Wl,-rpath,${TESTSDIR}
261.1Sjmmv
271.7SchristosPROGS+=			h_ifunc_static h_initfini_array
281.6SjoergSRCS.h_ifunc_static=	h_ifunc_static.c
291.7SchristosSRCS.h_initfini_array=	h_initfini_array.c
301.6SjoergLDSTATIC.h_ifunc_static=-static
311.6Sjoerg
321.8SriastradTESTS_SH+=		t_hello
331.8Sriastrad
341.8SriastradPROGS+=		${"${MKPIC}" != no:?h_hello_dyn:}
351.8SriastradPROGS+=		${"${MKPIE}" != no:?h_hello_dynpie:}
361.10SriastradPROGS+=		${"${MKPIE}" != no:?h_hello_relr:}
371.8SriastradPROGS+=		h_hello_sta
381.8SriastradPROGS+=		${"${MKPIE}" != no:?h_hello_stapie:}
391.8Sriastrad
401.10Sriastradh_hello_relr: CTFMERGE=:	# PR toolchain/59364: ctf tools needs update
411.10Sriastrad
421.8SriastradSRCS.h_hello_dyn+=		h_hello.c
431.8SriastradSRCS.h_hello_dynpie+=		h_hello.c
441.10SriastradSRCS.h_hello_relr+=		h_hello.c
451.8SriastradSRCS.h_hello_sta+=		h_hello.c
461.8SriastradSRCS.h_hello_stapie+=		h_hello.c
471.9SriastradCOPTS.h_hello.c+=		${"${MKPIE}" != no:?-fPIE:}
481.8SriastradLDFLAGS.h_hello_dyn=		-no-pie
491.8SriastradLDFLAGS.h_hello_dynpie=		-pie
501.12SchristosLDFLAGS.h_hello_relr=		-pie ${LD_PACK_RELATIVE_RELOCS}
511.8SriastradLDFLAGS.h_hello_sta=		-no-pie
521.12SchristosLDFLAGS.h_hello_stapie=		-pie ${LD_NOPACK_RELATIVE_RELOCS}
531.10SriastradLDSTATIC.h_hello_relr=		-static
541.8SriastradLDSTATIC.h_hello_sta=		-static
551.8SriastradLDSTATIC.h_hello_stapie=	-static
561.8Sriastrad
571.1Sjmmv.include <bsd.test.mk>
58