summaryrefslogtreecommitdiff
path: root/usr/src/test/libc-tests/tests/Makefile
blob: 16c002e0efea19d6bd0b26229d059d1d27bef034 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#

#
# Copyright (c) 2012 by Delphix. All rights reserved.
# Copyright 2015 Garrett D'Amore <garrett@damore.org>
# Copyright 2019 Joyent, Inc.
# Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
#

SUBDIRS = \
	catopen \
	err \
	fpround \
	i18n \
	newlocale \
	nl_langinfo \
	priv_gettext \
	qsort \
	random \
	regex \
	select \
	stdio \
	strerror \
	symbols \
	threads \
	wcsrtombs \
	wctype

PROGS = \
	aligned_alloc \
	asprintf-14933 \
	c11_threads \
	c11_tss \
	call_once \
	endian \
	env-7076 \
	fnmatch \
	memchr \
	memset_s \
	posix_memalign \
	printf-9511 \
	psignal-5097 \
	quick_exit_order \
	quick_exit_status \
	set_constraint_handler_s \
	strcoll-strxfrm-6907 \
	timespec_get \
	wcsncasecmp \
	wcsncasecmp-7344 \
	wcsncasecmp-7350 \
	uchar \
	utimes

SCRIPTS = \
	quick_exit \
	psignal

CPPFLAGS += -D_REENTRANT

PROGS32 = $(PROGS:%=%.32)
PROGS64 = \
	$(PROGS:%=%.64) \
	printf-6961.64

aligned_alloc.32 :=	LDLIBS += -lproc
aligned_alloc.64 :=	LDLIBS64 += -lproc
posix_memalign.32 :=	LDLIBS += -lproc
posix_memalign.64 :=	LDLIBS64 += -lproc

asprintf-14933.32 :=	CSTD=$(GNU_C99)
asprintf-14933.64 :=	CSTD=$(GNU_C99)

memset_s.32 :=	CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
memset_s.64 :=	CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
set_constraint_handler_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
set_constraint_handler_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1

ROOTOPTDIR = $(ROOT)/opt/libc-tests/tests
ROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \
	$(PROGS64:%=$(ROOTOPTDIR)/%) \
	$(SCRIPTS:%=$(ROOTOPTDIR)/%)

include $(SRC)/cmd/Makefile.cmd

all     :=      TARGET = all
install :=      TARGET = install
clean   :=      TARGET = clean
clobber :=      TARGET = clobber
lint    :=      TARGET = lint

.KEEP_STATE:

install: $(SUBDIRS) $(ROOTOPTPROGS)

all: $(SUBDIRS) $(PROGS32) $(PROGS64)

clean lint: $(SUBDIRS)

$(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTDIR)

$(ROOTOPTDIR):
	$(INS.dir)

$(ROOTOPTDIR)/%: %
	$(INS.file)

$(ROOTOPTDIR)/%: %.ksh
	$(INS.rename)

%.64: %.c
	$(LINK64.c) -o $@ $< $(LDLIBS64)
	$(POST_PROCESS)

%.32: %.c
	$(LINK.c) -o $@ $< $(LDLIBS)
	$(POST_PROCESS)

clobber: $(SUBDIRS)
	$(RM) $(PROGS32) $(PROGS64)

$(SUBDIRS): FRC
	@cd $@; pwd; $(MAKE) $(TARGET)

FRC: