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: