xref: /illumos-gate/usr/src/test/libc-tests/tests/Makefile (revision bb9475a199514dcace79d04d02c1eff05d65b94f)
12d08521bSGarrett D'Amore#
22d08521bSGarrett D'Amore# This file and its contents are supplied under the terms of the
32d08521bSGarrett D'Amore# Common Development and Distribution License ("CDDL"), version 1.0.
42d08521bSGarrett D'Amore# You may only use this file in accordance with the terms of version
52d08521bSGarrett D'Amore# 1.0 of the CDDL.
62d08521bSGarrett D'Amore#
72d08521bSGarrett D'Amore# A full copy of the text of the CDDL should have accompanied this
82d08521bSGarrett D'Amore# source.  A copy of the CDDL is also available via the Internet at
92d08521bSGarrett D'Amore# http://www.illumos.org/license/CDDL.
102d08521bSGarrett D'Amore#
112d08521bSGarrett D'Amore
122d08521bSGarrett D'Amore#
132d08521bSGarrett D'Amore# Copyright (c) 2012 by Delphix. All rights reserved.
14de572d98SGarrett D'Amore# Copyright 2015 Garrett D'Amore <garrett@damore.org>
1544bf619dSJohn Levon# Copyright 2019 Joyent, Inc.
16621b6cf7SAndy Fiddaman# Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
17a87ab1eaSBill Sommerfeld# Copyright 2023 Bill Sommerfeld <sommerfeld@alum.mit.edu>
18*bb9475a1SRobert Mustacchi# Copyright 2025 Oxide Computer Company
192d08521bSGarrett D'Amore#
202d08521bSGarrett D'Amore
21b599bd93SRobert MustacchiSUBDIRS = \
22b599bd93SRobert Mustacchi	catopen \
238b6b46dcSRobert Mustacchi	clocklock \
24621b6cf7SAndy Fiddaman	err \
252b395c3cSAndy Fiddaman	fexecve \
26b599bd93SRobert Mustacchi	fpround \
270a9a25a2SRichard Hansen	i18n \
28b599bd93SRobert Mustacchi	newlocale \
29b599bd93SRobert Mustacchi	nl_langinfo \
30b599bd93SRobert Mustacchi	priv_gettext \
3144431c82SRobert Mustacchi	qsort \
32b599bd93SRobert Mustacchi	random \
33490fea6bSYuri Pankov	regex \
342209d3c8SRichard Lowe	select \
35cd62a92dSRobert Mustacchi	stdio \
36b599bd93SRobert Mustacchi	symbols \
37e56998eeSRobert Mustacchi	threads \
38b599bd93SRobert Mustacchi	wcsrtombs \
39b599bd93SRobert Mustacchi	wctype
402d08521bSGarrett D'Amore
41fc2512cfSRobert MustacchiPROGS = \
42fc2512cfSRobert Mustacchi	aligned_alloc \
4372af5a45SBill Sommerfeld	ascftime \
444322dd90SRobert Mustacchi	asprintf-14933 \
45fc2512cfSRobert Mustacchi	c11_threads \
46fc2512cfSRobert Mustacchi	c11_tss \
47fc2512cfSRobert Mustacchi	call_once \
48a87ab1eaSBill Sommerfeld	closefrom \
497dc9a163SRobert Mustacchi	endian \
5060b81b86SRobert Mustacchi	env-7076 \
51f52b16c6SYuri Pankov	fnmatch \
52cfa8d083SRobert Mustacchi	isatty \
53d6bf1708SRobert Mustacchi	memchr \
5400efb5e1SYuri Pankov	memset_s \
5550718d3eSRobert Mustacchi	mutex-16200 \
56a547acf9SRichard Lowe	posix_memalign \
5706ca4e39SAndy Fiddaman	printf-15294 \
58804635d7SYuri Pankov	printf-9511 \
5949add8ecSRobert Mustacchi	psignal-5097 \
608b913f79SRobert Mustacchi	ptsname \
61fc2512cfSRobert Mustacchi	quick_exit_order \
62fc2512cfSRobert Mustacchi	quick_exit_status \
6300efb5e1SYuri Pankov	set_constraint_handler_s \
64efcfb316SYuri Pankov	strcoll-strxfrm-6907 \
65aaceae98SRobert Mustacchi	stdbit \
66faadcf7eSRobert Mustacchi	strerror \
67223750d9SAndy Fiddaman	strtonum \
68f2d34afaSRobert Mustacchi	timespec_get \
6971f3ceb9SRobert Mustacchi	wcslcat \
7071f3ceb9SRobert Mustacchi	wcslcpy \
71f2d34afaSRobert Mustacchi	wcsncasecmp \
72f2d34afaSRobert Mustacchi	wcsncasecmp-7344 \
73eda3ef2dSRobert Mustacchi	wcsncasecmp-7350 \
74b7a77849SAndy Fiddaman	uchar \
75b7a77849SAndy Fiddaman	utimes
76fc2512cfSRobert Mustacchi
77fc2512cfSRobert MustacchiSCRIPTS = \
783448eae2SRobert Mustacchi	aligned_alloc \
7949add8ecSRobert Mustacchi	quick_exit \
8049add8ecSRobert Mustacchi	psignal
81fc2512cfSRobert Mustacchi
82fc2512cfSRobert MustacchiCPPFLAGS += -D_REENTRANT
83fc2512cfSRobert Mustacchi
84fc2512cfSRobert MustacchiPROGS32 = $(PROGS:%=%.32)
85afc62b4bSRobert MustacchiPROGS64 = \
86afc62b4bSRobert Mustacchi	$(PROGS:%=%.64) \
87afc62b4bSRobert Mustacchi	printf-6961.64
88fc2512cfSRobert Mustacchi
89*bb9475a1SRobert Mustacchialigned_alloc.32 :=	CSTD=$(CSTD_GNU17)
90*bb9475a1SRobert Mustacchialigned_alloc.64 :=	CSTD=$(CSTD_GNU17)
91fc2512cfSRobert Mustacchialigned_alloc.32 :=	LDLIBS += -lproc
92fc2512cfSRobert Mustacchialigned_alloc.64 :=	LDLIBS64 += -lproc
93a547acf9SRichard Loweposix_memalign.32 :=	LDLIBS += -lproc
94a547acf9SRichard Loweposix_memalign.64 :=	LDLIBS64 += -lproc
95fc2512cfSRobert Mustacchi
96*bb9475a1SRobert Mustacchiasprintf-14933.32 :=	CSTD=$(CSTD_GNU17)
97*bb9475a1SRobert Mustacchiasprintf-14933.64 :=	CSTD=$(CSTD_GNU17)
984322dd90SRobert Mustacchi
9900efb5e1SYuri Pankovmemset_s.32 :=	CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
10000efb5e1SYuri Pankovmemset_s.64 :=	CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
10100efb5e1SYuri Pankovset_constraint_handler_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
10200efb5e1SYuri Pankovset_constraint_handler_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
10300efb5e1SYuri Pankov
104*bb9475a1SRobert Mustacchiisatty.32 :=	CSTD=$(CSTD_GNU17)
105*bb9475a1SRobert Mustacchiisatty.64 :=	CSTD=$(CSTD_GNU17)
106cfa8d083SRobert Mustacchi
10750718d3eSRobert Mustacchimutex-16200.32 :=	LDLIBS += -lproc
10850718d3eSRobert Mustacchimutex-16200.64 :=	LDLIBS64 += -lproc
109*bb9475a1SRobert Mustacchimutex-16200.32 :=	CSTD=$(CSTD_GNU17)
110*bb9475a1SRobert Mustacchimutex-16200.64 :=	CSTD=$(CSTD_GNU17)
11150718d3eSRobert Mustacchi
1128b913f79SRobert Mustacchiptsname.32 :=		LDLIBS += -lsocket
1138b913f79SRobert Mustacchiptsname.64 :=		LDLIBS64 += -lsocket
1148b913f79SRobert Mustacchi
115*bb9475a1SRobert Mustacchistdbit.32 :=	CSTD=$(CSTD_GNU17)
116*bb9475a1SRobert Mustacchistdbit.64 :=	CSTD=$(CSTD_GNU17)
117aaceae98SRobert Mustacchi
118*bb9475a1SRobert Mustacchistrtonum.32 :=		CSTD=$(CSTD_GNU17)
119*bb9475a1SRobert Mustacchistrtonum.64 :=		CSTD=$(CSTD_GNU17)
120223750d9SAndy Fiddaman
121*bb9475a1SRobert Mustacchiwcslcat.32 :=		CSTD=$(CSTD_GNU17)
122*bb9475a1SRobert Mustacchiwcslcat.64 :=		CSTD=$(CSTD_GNU17)
123*bb9475a1SRobert Mustacchiwcslcpy.32 :=		CSTD=$(CSTD_GNU17)
124*bb9475a1SRobert Mustacchiwcslcpy.64 :=		CSTD=$(CSTD_GNU17)
12571f3ceb9SRobert Mustacchi
126fc2512cfSRobert MustacchiROOTOPTDIR = $(ROOT)/opt/libc-tests/tests
127fc2512cfSRobert MustacchiROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \
128fc2512cfSRobert Mustacchi	$(PROGS64:%=$(ROOTOPTDIR)/%) \
129fc2512cfSRobert Mustacchi	$(SCRIPTS:%=$(ROOTOPTDIR)/%)
130fc2512cfSRobert Mustacchi
131fc2512cfSRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd
132fc2512cfSRobert Mustacchi
133fc2512cfSRobert Mustacchiall     :=      TARGET = all
134fc2512cfSRobert Mustacchiinstall :=      TARGET = install
135fc2512cfSRobert Mustacchiclean   :=      TARGET = clean
136fc2512cfSRobert Mustacchiclobber :=      TARGET = clobber
137fc2512cfSRobert Mustacchilint    :=      TARGET = lint
138fc2512cfSRobert Mustacchi
139fc2512cfSRobert Mustacchi.KEEP_STATE:
140fc2512cfSRobert Mustacchi
141fc2512cfSRobert Mustacchiinstall: $(SUBDIRS) $(ROOTOPTPROGS)
142fc2512cfSRobert Mustacchi
143fc2512cfSRobert Mustacchiall: $(SUBDIRS) $(PROGS32) $(PROGS64)
144fc2512cfSRobert Mustacchi
145fc2512cfSRobert Mustacchiclean lint: $(SUBDIRS)
146fc2512cfSRobert Mustacchi
147fc2512cfSRobert Mustacchi$(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTDIR)
148fc2512cfSRobert Mustacchi
149fc2512cfSRobert Mustacchi$(ROOTOPTDIR):
150fc2512cfSRobert Mustacchi	$(INS.dir)
151fc2512cfSRobert Mustacchi
152fc2512cfSRobert Mustacchi$(ROOTOPTDIR)/%: %
153fc2512cfSRobert Mustacchi	$(INS.file)
154fc2512cfSRobert Mustacchi
155fc2512cfSRobert Mustacchi$(ROOTOPTDIR)/%: %.ksh
156fc2512cfSRobert Mustacchi	$(INS.rename)
157fc2512cfSRobert Mustacchi
158fc2512cfSRobert Mustacchi%.64: %.c
1591919e1f7SRichard Lowe	$(LINK64.c) -o $@ $< $(LDLIBS64)
160fc2512cfSRobert Mustacchi	$(POST_PROCESS)
161fc2512cfSRobert Mustacchi
162fc2512cfSRobert Mustacchi%.32: %.c
1639c05409fSRichard Lowe	$(LINK.c) -o $@ $< $(LDLIBS)
164fc2512cfSRobert Mustacchi	$(POST_PROCESS)
165fc2512cfSRobert Mustacchi
166fc2512cfSRobert Mustacchiclobber: $(SUBDIRS)
167fc2512cfSRobert Mustacchi	$(RM) $(PROGS32) $(PROGS64)
168fc2512cfSRobert Mustacchi
169fc2512cfSRobert Mustacchi$(SUBDIRS): FRC
170fc2512cfSRobert Mustacchi	@cd $@; pwd; $(MAKE) $(TARGET)
171fc2512cfSRobert Mustacchi
172fc2512cfSRobert MustacchiFRC:
173