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 2019 Joyent, Inc. 16 # 17 18 SUBDIRS = \ 19 catopen \ 20 fpround \ 21 i18n \ 22 newlocale \ 23 nl_langinfo \ 24 priv_gettext \ 25 random \ 26 regex \ 27 select \ 28 stdio \ 29 strerror \ 30 symbols \ 31 threads \ 32 wcsrtombs \ 33 wctype 34 35 PROGS = \ 36 aligned_alloc \ 37 c11_threads \ 38 c11_tss \ 39 call_once \ 40 endian \ 41 env-7076 \ 42 fnmatch \ 43 memset_s \ 44 posix_memalign \ 45 printf-9511 \ 46 psignal-5097 \ 47 quick_exit_order \ 48 quick_exit_status \ 49 set_constraint_handler_s \ 50 strcoll-strxfrm-6907 \ 51 timespec_get \ 52 wcsncasecmp \ 53 wcsncasecmp-7344 \ 54 wcsncasecmp-7350 \ 55 uchar 56 57 SCRIPTS = \ 58 quick_exit \ 59 psignal 60 61 CPPFLAGS += -D_REENTRANT 62 63 PROGS32 = $(PROGS:%=%.32) 64 PROGS64 = \ 65 $(PROGS:%=%.64) \ 66 printf-6961.64 67 68 aligned_alloc.32 := LDLIBS += -lproc 69 aligned_alloc.64 := LDLIBS64 += -lproc 70 posix_memalign.32 := LDLIBS += -lproc 71 posix_memalign.64 := LDLIBS64 += -lproc 72 73 memset_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 74 memset_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 75 set_constraint_handler_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 76 set_constraint_handler_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 77 78 ROOTOPTDIR = $(ROOT)/opt/libc-tests/tests 79 ROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \ 80 $(PROGS64:%=$(ROOTOPTDIR)/%) \ 81 $(SCRIPTS:%=$(ROOTOPTDIR)/%) 82 83 include $(SRC)/cmd/Makefile.cmd 84 85 all := TARGET = all 86 install := TARGET = install 87 clean := TARGET = clean 88 clobber := TARGET = clobber 89 lint := TARGET = lint 90 91 .KEEP_STATE: 92 93 install: $(SUBDIRS) $(ROOTOPTPROGS) 94 95 all: $(SUBDIRS) $(PROGS32) $(PROGS64) 96 97 clean lint: $(SUBDIRS) 98 99 $(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTDIR) 100 101 $(ROOTOPTDIR): 102 $(INS.dir) 103 104 $(ROOTOPTDIR)/%: % 105 $(INS.file) 106 107 $(ROOTOPTDIR)/%: %.ksh 108 $(INS.rename) 109 110 %.64: %.c 111 $(LINK64.c) -o $@ $< $(LDLIBS64) 112 $(POST_PROCESS) 113 114 %.32: %.c 115 $(LINK.c) -o $@ $< $(LDLIBS) 116 $(POST_PROCESS) 117 118 clobber: $(SUBDIRS) 119 $(RM) $(PROGS32) $(PROGS64) 120 121 $(SUBDIRS): FRC 122 @cd $@; pwd; $(MAKE) $(TARGET) 123 124 FRC: