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 18SUBDIRS = \ 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 33PROGS = \ 34 aligned_alloc \ 35 c11_threads \ 36 c11_tss \ 37 call_once \ 38 endian \ 39 env-7076 \ 40 fnmatch \ 41 memset_s \ 42 posix_memalign \ 43 printf-9511 \ 44 psignal-5097 \ 45 quick_exit_order \ 46 quick_exit_status \ 47 set_constraint_handler_s \ 48 strcoll-strxfrm-6907 \ 49 timespec_get \ 50 wcsncasecmp \ 51 wcsncasecmp-7344 \ 52 wcsncasecmp-7350 53 54SCRIPTS = \ 55 quick_exit \ 56 psignal 57 58CPPFLAGS += -D_REENTRANT 59 60# needs work 61SMOFF += all_func_returns,snprintf_overflow,unreachable 62 63PROGS32 = $(PROGS:%=%.32) 64PROGS64 = \ 65 $(PROGS:%=%.64) \ 66 printf-6961.64 67 68aligned_alloc.32 := LDLIBS += -lproc 69aligned_alloc.64 := LDLIBS64 += -lproc 70posix_memalign.32 := LDLIBS += -lproc 71posix_memalign.64 := LDLIBS64 += -lproc 72 73memset_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 74memset_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 75set_constraint_handler_s.32 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 76set_constraint_handler_s.64 := CPPFLAGS += -D__STDC_WANT_LIB_EXT1__=1 77 78ROOTOPTDIR = $(ROOT)/opt/libc-tests/tests 79ROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \ 80 $(PROGS64:%=$(ROOTOPTDIR)/%) \ 81 $(SCRIPTS:%=$(ROOTOPTDIR)/%) 82 83include $(SRC)/cmd/Makefile.cmd 84 85all := TARGET = all 86install := TARGET = install 87clean := TARGET = clean 88clobber := TARGET = clobber 89lint := TARGET = lint 90 91.KEEP_STATE: 92 93install: $(SUBDIRS) $(ROOTOPTPROGS) 94 95all: $(SUBDIRS) $(PROGS32) $(PROGS64) 96 97clean 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 118clobber: $(SUBDIRS) 119 $(RM) $(PROGS32) $(PROGS64) 120 121$(SUBDIRS): FRC 122 @cd $@; pwd; $(MAKE) $(TARGET) 123 124FRC: 125