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: