1d583b39bSJohn Wren Kennedy#
2d583b39bSJohn Wren Kennedy# This file and its contents are supplied under the terms of the
3d583b39bSJohn Wren Kennedy# Common Development and Distribution License ("CDDL"), version 1.0.
4d583b39bSJohn Wren Kennedy# You may only use this file in accordance with the terms of version
5d583b39bSJohn Wren Kennedy# 1.0 of the CDDL.
6d583b39bSJohn Wren Kennedy#
7d583b39bSJohn Wren Kennedy# A full copy of the text of the CDDL should have accompanied this
8d583b39bSJohn Wren Kennedy# source.  A copy of the CDDL is also available via the Internet at
9d583b39bSJohn Wren Kennedy# http://www.illumos.org/license/CDDL.
10d583b39bSJohn Wren Kennedy#
11d583b39bSJohn Wren Kennedy
12d583b39bSJohn Wren Kennedy#
13fe4627efSSebastien Roy# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
1481c3d085SJerry Jelinek# Copyright 2020 Joyent, Inc.
15d583b39bSJohn Wren Kennedy#
16d583b39bSJohn Wren Kennedy
17eb00b1c8SRobert MustacchiSUBDIRS_i386 = i386 imc
18a0955b86SJohn Levon
19508a0e8cSRob JohnstonSUBDIRS =       \
20508a0e8cSRob Johnston		ddi_ufm \
21508a0e8cSRob Johnston		file-locking \
22*3ce53722SRobert Mustacchi		ksensor \
23c5591576SRob Johnston		libtopo \
24508a0e8cSRob Johnston		pf_key \
25508a0e8cSRob Johnston		poll \
26508a0e8cSRob Johnston		sdevfs \
27508a0e8cSRob Johnston		secflags \
28508a0e8cSRob Johnston		sigqueue \
29508a0e8cSRob Johnston		sockfs \
30508a0e8cSRob Johnston		spoof-ras \
31508a0e8cSRob Johnston		stress \
32440a8a36SPatrick Mooney		timer \
33a61ed2ceSHans Rosenfeld		uccid \
34508a0e8cSRob Johnston		$(SUBDIRS_$(MACH))
35d583b39bSJohn Wren Kennedy
3669c811abSRobert MustacchiPROGS = \
3781c3d085SJerry Jelinek	odirectory \
3881c3d085SJerry Jelinek	writev
3969c811abSRobert Mustacchi
4069c811abSRobert MustacchiCPPFLAGS += -D_REENTRANT
4169c811abSRobert MustacchiPROGS32 = $(PROGS:%=%.32)
4269c811abSRobert MustacchiPROGS64 = $(PROGS:%=%.64)
4369c811abSRobert Mustacchi
4469c811abSRobert MustacchiROOTOPTDIR = $(ROOT)/opt/os-tests/tests
4569c811abSRobert MustacchiROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) \
4669c811abSRobert Mustacchi	$(PROGS64:%=$(ROOTOPTDIR)/%) \
4769c811abSRobert Mustacchi	$(SCRIPTS:%=$(ROOTOPTDIR)/%)
4869c811abSRobert Mustacchi
4969c811abSRobert Mustacchiodirectory.32 :=	LDLIBS += -lsocket
5069c811abSRobert Mustacchiodirectory.64 :=	LDLIBS64 += -lsocket
5169c811abSRobert Mustacchi
5281c3d085SJerry Jelinekwritev.32 :=		CPPFLAGS += -D_FILE_OFFSET_BITS=64
5381c3d085SJerry Jelinekwritev.32 :=		CSTD = $(CSTD_GNU99)
5481c3d085SJerry Jelinekwritev.64 :=		CSTD = $(CSTD_GNU99)
5581c3d085SJerry Jelinek
5669c811abSRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd
5769c811abSRobert Mustacchi
5869c811abSRobert Mustacchiall     :=      TARGET = all
5969c811abSRobert Mustacchiinstall :=      TARGET = install
6069c811abSRobert Mustacchiclean   :=      TARGET = clean
6169c811abSRobert Mustacchiclobber :=      TARGET = clobber
6269c811abSRobert Mustacchi
6369c811abSRobert Mustacchi.KEEP_STATE:
6469c811abSRobert Mustacchi
6569c811abSRobert Mustacchiinstall: $(SUBDIRS) $(ROOTOPTPROGS)
6669c811abSRobert Mustacchi
6769c811abSRobert Mustacchiall: $(SUBDIRS) $(PROGS32) $(PROGS64)
6869c811abSRobert Mustacchi
6969c811abSRobert Mustacchiclean: $(SUBDIRS)
7069c811abSRobert Mustacchi
7169c811abSRobert Mustacchi$(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTDIR)
7269c811abSRobert Mustacchi
7369c811abSRobert Mustacchi$(ROOTOPTDIR):
7469c811abSRobert Mustacchi	$(INS.dir)
7569c811abSRobert Mustacchi
7669c811abSRobert Mustacchi$(ROOTOPTDIR)/%: %
7769c811abSRobert Mustacchi	$(INS.file)
7869c811abSRobert Mustacchi
7969c811abSRobert Mustacchi$(ROOTOPTDIR)/%: %.ksh
8069c811abSRobert Mustacchi	$(INS.rename)
8169c811abSRobert Mustacchi
8269c811abSRobert Mustacchi%.64: %.c
8369c811abSRobert Mustacchi	$(LINK64.c) -o $@ $< $(LDLIBS64)
8469c811abSRobert Mustacchi	$(POST_PROCESS)
8569c811abSRobert Mustacchi
8669c811abSRobert Mustacchi%.32: %.c
8769c811abSRobert Mustacchi	$(LINK.c) -o $@ $< $(LDLIBS)
8869c811abSRobert Mustacchi	$(POST_PROCESS)
8969c811abSRobert Mustacchi
9069c811abSRobert Mustacchiclobber: $(SUBDIRS)
9169c811abSRobert Mustacchi	$(RM) $(PROGS32) $(PROGS64)
9269c811abSRobert Mustacchi
9369c811abSRobert Mustacchi$(SUBDIRS): FRC
9469c811abSRobert Mustacchi	@cd $@; pwd; $(MAKE) $(TARGET)
9569c811abSRobert Mustacchi
9669c811abSRobert MustacchiFRC:
97