1# $NetBSD: Makefile,v 1.12 2025/06/10 14:30:44 christos Exp $
2
3NOMAN=			# defined
4
5.include <bsd.own.mk>
6
7TESTSDIR=		${TESTSBASE}/lib/csu
8TESTS_SH=		t_crt0 t_ifunc_static
9TESTS_SUBDIRS=
10SUBDIR+=		dso
11
12.include "Makefile.check_stack"
13
14CPPFLAGS+=		${CPPFLAGS_CHECK_STACK}
15
16BINDIR=			${TESTSDIR}
17PROG_CXX=		h_initfini1 h_initfini2 h_initfini3
18SRCS.h_initfini1=	h_initfini1.cxx h_initfini_common.cxx \
19			${SRCS_CHECK_STACK}
20SRCS.h_initfini2=	h_initfini1.cxx h_initfini_common.cxx \
21			${SRCS_CHECK_STACK}
22LDSTATIC.h_initfini2+=	-static
23SRCS.h_initfini3=	h_initfini3.cxx h_initfini_common.cxx \
24			${SRCS_CHECK_STACK}
25LDADD.h_initfini3+=	-Wl,-rpath,${TESTSDIR}
26
27PROGS+=			h_ifunc_static h_initfini_array
28SRCS.h_ifunc_static=	h_ifunc_static.c
29SRCS.h_initfini_array=	h_initfini_array.c
30LDSTATIC.h_ifunc_static=-static
31
32TESTS_SH+=		t_hello
33
34PROGS+=		${"${MKPIC}" != no:?h_hello_dyn:}
35PROGS+=		${"${MKPIE}" != no:?h_hello_dynpie:}
36PROGS+=		${"${MKPIE}" != no:?h_hello_relr:}
37PROGS+=		h_hello_sta
38PROGS+=		${"${MKPIE}" != no:?h_hello_stapie:}
39
40h_hello_relr: CTFMERGE=:	# PR toolchain/59364: ctf tools needs update
41
42SRCS.h_hello_dyn+=		h_hello.c
43SRCS.h_hello_dynpie+=		h_hello.c
44SRCS.h_hello_relr+=		h_hello.c
45SRCS.h_hello_sta+=		h_hello.c
46SRCS.h_hello_stapie+=		h_hello.c
47COPTS.h_hello.c+=		${"${MKPIE}" != no:?-fPIE:}
48LDFLAGS.h_hello_dyn=		-no-pie
49LDFLAGS.h_hello_dynpie=		-pie
50LDFLAGS.h_hello_relr=		-pie ${LD_PACK_RELATIVE_RELOCS}
51LDFLAGS.h_hello_sta=		-no-pie
52LDFLAGS.h_hello_stapie=		-pie ${LD_NOPACK_RELATIVE_RELOCS}
53LDSTATIC.h_hello_relr=		-static
54LDSTATIC.h_hello_sta=		-static
55LDSTATIC.h_hello_stapie=	-static
56
57.include <bsd.test.mk>
58