xref: /illumos-gate/usr/src/test/libc-tests/tests/Makefile (revision 44bf619d328827ce5eca6833fcd5c69f1592e578)
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>
15*44bf619dSJohn Levon# Copyright 2019 Joyent, Inc.
162d08521bSGarrett D'Amore#
172d08521bSGarrett D'Amore
18b599bd93SRobert MustacchiSUBDIRS = \
19b599bd93SRobert Mustacchi	catopen \
20b599bd93SRobert Mustacchi	fpround \
21b599bd93SRobert Mustacchi	newlocale \
22b599bd93SRobert Mustacchi	nl_langinfo \
23b599bd93SRobert Mustacchi	priv_gettext \
24b599bd93SRobert Mustacchi	random \
25490fea6bSYuri Pankov	regex \
262209d3c8SRichard Lowe	select \
27b599bd93SRobert Mustacchi	strerror \
28b599bd93SRobert Mustacchi	symbols \
29e56998eeSRobert Mustacchi	threads \
30b599bd93SRobert Mustacchi	wcsrtombs \
31b599bd93SRobert Mustacchi	wctype
322d08521bSGarrett D'Amore
33fc2512cfSRobert MustacchiPROGS = \
34fc2512cfSRobert Mustacchi	aligned_alloc \
35fc2512cfSRobert Mustacchi	c11_threads \
36fc2512cfSRobert Mustacchi	c11_tss \
37fc2512cfSRobert Mustacchi	call_once \
387dc9a163SRobert Mustacchi	endian \
3960b81b86SRobert Mustacchi	env-7076 \
40f52b16c6SYuri Pankov	fnmatch \
4100efb5e1SYuri Pankov	memset_s \
42a547acf9SRichard Lowe	posix_memalign \
43804635d7SYuri Pankov	printf-9511 \
4449add8ecSRobert Mustacchi	psignal-5097 \
45fc2512cfSRobert Mustacchi	quick_exit_order \
46fc2512cfSRobert Mustacchi	quick_exit_status \
4700efb5e1SYuri Pankov	set_constraint_handler_s \
48efcfb316SYuri Pankov	strcoll-strxfrm-6907 \
49f2d34afaSRobert Mustacchi	timespec_get \
50f2d34afaSRobert Mustacchi	wcsncasecmp \
51f2d34afaSRobert Mustacchi	wcsncasecmp-7344 \
52f2d34afaSRobert Mustacchi	wcsncasecmp-7350
53fc2512cfSRobert Mustacchi
54fc2512cfSRobert MustacchiSCRIPTS = \
5549add8ecSRobert Mustacchi	quick_exit \
5649add8ecSRobert Mustacchi	psignal
57fc2512cfSRobert Mustacchi
58fc2512cfSRobert MustacchiCPPFLAGS += -D_REENTRANT
59fc2512cfSRobert Mustacchi
60dc5e7685SJohn Levon# needs work
61*44bf619dSJohn LevonSMOFF += all_func_returns,snprintf_overflow,unreachable
62dc5e7685SJohn Levon
63fc2512cfSRobert MustacchiPROGS32 = $(PROGS:%=%.32)
64afc62b4bSRobert MustacchiPROGS64 = \
65afc62b4bSRobert Mustacchi	$(PROGS:%=%.64) \
66afc62b4bSRobert Mustacchi	printf-6961.64
67fc2512cfSRobert Mustacchi
68fc2512cfSRobert Mustacchialigned_alloc.32 :=	LDLIBS += -lproc
69fc2512cfSRobert Mustacchialigned_alloc.64 :=	LDLIBS64 += -lproc
70a547acf9SRichard Loweposix_memalign.32 :=	LDLIBS += -lproc
71a547acf9SRichard Loweposix_memalign.64 :=	LDLIBS64 += -lproc
72fc2512cfSRobert Mustacchi
7300efb5e1SYuri Pankovmemset_s.32 :=	CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
7400efb5e1SYuri Pankovmemset_s.64 :=	CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
7500efb5e1SYuri Pankovset_constraint_handler_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
7600efb5e1SYuri Pankovset_constraint_handler_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
7700efb5e1SYuri Pankov
78fc2512cfSRobert MustacchiROOTOPTDIR = $(ROOT)/opt/libc-tests/tests
79fc2512cfSRobert MustacchiROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \
80fc2512cfSRobert Mustacchi	$(PROGS64:%=$(ROOTOPTDIR)/%) \
81fc2512cfSRobert Mustacchi	$(SCRIPTS:%=$(ROOTOPTDIR)/%)
82fc2512cfSRobert Mustacchi
83fc2512cfSRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd
84fc2512cfSRobert Mustacchi
85fc2512cfSRobert Mustacchiall     :=      TARGET = all
86fc2512cfSRobert Mustacchiinstall :=      TARGET = install
87fc2512cfSRobert Mustacchiclean   :=      TARGET = clean
88fc2512cfSRobert Mustacchiclobber :=      TARGET = clobber
89fc2512cfSRobert Mustacchilint    :=      TARGET = lint
90fc2512cfSRobert Mustacchi
91fc2512cfSRobert Mustacchi.KEEP_STATE:
92fc2512cfSRobert Mustacchi
93fc2512cfSRobert Mustacchiinstall: $(SUBDIRS) $(ROOTOPTPROGS)
94fc2512cfSRobert Mustacchi
95fc2512cfSRobert Mustacchiall: $(SUBDIRS) $(PROGS32) $(PROGS64)
96fc2512cfSRobert Mustacchi
97fc2512cfSRobert Mustacchiclean lint: $(SUBDIRS)
98fc2512cfSRobert Mustacchi
99fc2512cfSRobert Mustacchi$(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTDIR)
100fc2512cfSRobert Mustacchi
101fc2512cfSRobert Mustacchi$(ROOTOPTDIR):
102fc2512cfSRobert Mustacchi	$(INS.dir)
103fc2512cfSRobert Mustacchi
104fc2512cfSRobert Mustacchi$(ROOTOPTDIR)/%: %
105fc2512cfSRobert Mustacchi	$(INS.file)
106fc2512cfSRobert Mustacchi
107fc2512cfSRobert Mustacchi$(ROOTOPTDIR)/%: %.ksh
108fc2512cfSRobert Mustacchi	$(INS.rename)
109fc2512cfSRobert Mustacchi
110fc2512cfSRobert Mustacchi%.64: %.c
1111919e1f7SRichard Lowe	$(LINK64.c) -o $@ $< $(LDLIBS64)
112fc2512cfSRobert Mustacchi	$(POST_PROCESS)
113fc2512cfSRobert Mustacchi
114fc2512cfSRobert Mustacchi%.32: %.c
1159c05409fSRichard Lowe	$(LINK.c) -o $@ $< $(LDLIBS)
116fc2512cfSRobert Mustacchi	$(POST_PROCESS)
117fc2512cfSRobert Mustacchi
118fc2512cfSRobert Mustacchiclobber: $(SUBDIRS)
119fc2512cfSRobert Mustacchi	$(RM) $(PROGS32) $(PROGS64)
120fc2512cfSRobert Mustacchi
121fc2512cfSRobert Mustacchi$(SUBDIRS): FRC
122fc2512cfSRobert Mustacchi	@cd $@; pwd; $(MAKE) $(TARGET)
123fc2512cfSRobert Mustacchi
124fc2512cfSRobert MustacchiFRC:
125