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 (c) 2018, 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 # needs work 60 SMOFF += all_func_returns,snprintf_overflow 61 62 PROGS32 = $(PROGS:%=%.32) 63 PROGS64 = \ 64 $(PROGS:%=%.64) \ 65 printf-6961.64 66 67 aligned_alloc.32 := LDLIBS += -lproc 68 aligned_alloc.64 := LDLIBS64 += -lproc 69 70 memset_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 71 memset_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 72 set_constraint_handler_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 73 set_constraint_handler_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 74 75 ROOTOPTDIR = $(ROOT)/opt/libc-tests/tests 76 ROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \ 77 $(PROGS64:%=$(ROOTOPTDIR)/%) \ 78 $(SCRIPTS:%=$(ROOTOPTDIR)/%) 79 80 include $(SRC)/cmd/Makefile.cmd 81 82 all := TARGET = all 83 install := TARGET = install 84 clean := TARGET = clean 85 clobber := TARGET = clobber 86 lint := TARGET = lint 87 88 .KEEP_STATE: 89 90 install: $(SUBDIRS) $(ROOTOPTPROGS) 91 92 all: $(SUBDIRS) $(PROGS32) $(PROGS64) 93 94 clean lint: $(SUBDIRS) 95 96 $(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTDIR) 97 98 $(ROOTOPTDIR): 99 $(INS.dir) 100 101 $(ROOTOPTDIR)/%: % 102 $(INS.file) 103 104 $(ROOTOPTDIR)/%: %.ksh 105 $(INS.rename) 106 107 %.64: %.c 108 $(LINK64.c) -o $@ $< $(LDLIBS64) 109 $(POST_PROCESS) 110 111 %.32: %.c 112 $(LINK.c) -o $@ $< $(LDLIBS) 113 $(POST_PROCESS) 114 115 clobber: $(SUBDIRS) 116 $(RM) $(PROGS32) $(PROGS64) 117 118 $(SUBDIRS): FRC 119 @cd $@; pwd; $(MAKE) $(TARGET) 120 121 FRC: