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, 2016 by Delphix. All rights reserved.
  14 # Copyright 2020 Joyent, Inc.
  15 #
  16 
  17 SUBDIRS_i386 = i386
  18 
  19 SUBDIRS =       \
  20                 ddi_ufm \
  21                 file-locking \
  22                 pf_key \
  23                 poll \
  24                 sdevfs \
  25                 secflags \
  26                 sigqueue \
  27                 sockfs \
  28                 spoof-ras \
  29                 stress \
  30                 $(SUBDIRS_$(MACH))
  31 
  32 PROGS = \
  33         odirectory \
  34         writev
  35 
  36 CPPFLAGS += -D_REENTRANT
  37 PROGS32 = $(PROGS:%=%.32)
  38 PROGS64 = $(PROGS:%=%.64)
  39 
  40 ROOTOPTDIR = $(ROOT)/opt/os-tests/tests
  41 ROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \
  42         $(PROGS64:%=$(ROOTOPTDIR)/%) \
  43         $(SCRIPTS:%=$(ROOTOPTDIR)/%)
  44 
  45 odirectory.32 :=        LDLIBS += -lsocket
  46 odirectory.64 :=        LDLIBS64 += -lsocket
  47 
  48 writev.32 :=            CPPFLAGS += -D_FILE_OFFSET_BITS=64
  49 writev.32 :=            CSTD = $(CSTD_GNU99)
  50 writev.64 :=            CSTD = $(CSTD_GNU99)
  51 
  52 include $(SRC)/cmd/Makefile.cmd
  53 
  54 all     :=      TARGET = all
  55 install :=      TARGET = install
  56 clean   :=      TARGET = clean
  57 clobber :=      TARGET = clobber
  58 
  59 .KEEP_STATE:
  60 
  61 install: $(SUBDIRS) $(ROOTOPTPROGS)
  62 
  63 all: $(SUBDIRS) $(PROGS32) $(PROGS64)
  64 
  65 clean: $(SUBDIRS)
  66 
  67 $(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTDIR)
  68 
  69 $(ROOTOPTDIR):
  70         $(INS.dir)
  71 
  72 $(ROOTOPTDIR)/%: %
  73         $(INS.file)
  74 
  75 $(ROOTOPTDIR)/%: %.ksh
  76         $(INS.rename)
  77 
  78 %.64: %.c
  79         $(LINK64.c) -o $@ $< $(LDLIBS64)
  80         $(POST_PROCESS)
  81 
  82 %.32: %.c
  83         $(LINK.c) -o $@ $< $(LDLIBS)
  84         $(POST_PROCESS)
  85 
  86 clobber: $(SUBDIRS)
  87         $(RM) $(PROGS32) $(PROGS64)
  88 
  89 $(SUBDIRS): FRC
  90         @cd $@; pwd; $(MAKE) $(TARGET)
  91 
  92 FRC: