1 #
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
6 #
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
10 #
11
12 #
13 # Copyright (c) 2012 by Delphix. All rights reserved.
14 # Copyright 2015 Garrett D'Amore <garrett@damore.org>
15 # Copyright 2016 Joyent, Inc.
16 #
17
18 SUBDIRS = \
19 catopen \
20 fpround \
21 newlocale \
22 nl_langinfo \
23 priv_gettext \
24 random \
25 regex \
26 select \
27 strerror \
28 symbols \
29 threads \
30 wcsrtombs \
31 wctype
32
33 PROGS = \
34 aligned_alloc \
35 c11_threads \
36 c11_tss \
37 call_once \
38 endian \
39 env-7076 \
40 fnmatch \
41 memset_s \
42 printf-9511 \
43 psignal-5097 \
44 quick_exit_order \
45 quick_exit_status \
46 set_constraint_handler_s \
47 strcoll-strxfrm-6907 \
48 timespec_get \
49 wcsncasecmp \
50 wcsncasecmp-7344 \
51 wcsncasecmp-7350
52
53 SCRIPTS = \
54 quick_exit \
55 psignal
56
57 CPPFLAGS += -D_REENTRANT
58
59 PROGS32 = $(PROGS:%=%.32)
60 PROGS64 = \
61 $(PROGS:%=%.64) \
62 printf-6961.64
63
64 aligned_alloc.32 := LDLIBS += -lproc
65 aligned_alloc.64 := LDLIBS64 += -lproc
66
67 memset_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
68 memset_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
69 set_constraint_handler_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
70 set_constraint_handler_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1
71
72 ROOTOPTDIR = $(ROOT)/opt/libc-tests/tests
73 ROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \
74 $(PROGS64:%=$(ROOTOPTDIR)/%) \
75 $(SCRIPTS:%=$(ROOTOPTDIR)/%)
76
77 include $(SRC)/cmd/Makefile.cmd
78
79 all := TARGET = all
80 install := TARGET = install
81 clean := TARGET = clean
82 clobber := TARGET = clobber
83 lint := TARGET = lint
84
85 .KEEP_STATE:
86
87 install: $(SUBDIRS) $(ROOTOPTPROGS)
88
89 all: $(SUBDIRS) $(PROGS32) $(PROGS64)
90
91 clean lint: $(SUBDIRS)
92
93 $(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTDIR)
94
95 $(ROOTOPTDIR):
96 $(INS.dir)
97
98 $(ROOTOPTDIR)/%: %
99 $(INS.file)
100
101 $(ROOTOPTDIR)/%: %.ksh
102 $(INS.rename)
103
104 %.64: %.c
105 $(LINK64.c) -o $@ $< $(LDLIBS64)
106 $(POST_PROCESS)
107
108 %.32: %.c
109 $(LINK.c) -o $@ $< $(LDLIBS)
110 $(POST_PROCESS)
111
112 clobber: $(SUBDIRS)
113 $(RM) $(PROGS32) $(PROGS64)
114
115 $(SUBDIRS): FRC
116 @cd $@; pwd; $(MAKE) $(TARGET)
117
118 FRC: