1dfc11533SChris Williamson#
2dfc11533SChris Williamson# This file and its contents are supplied under the terms of the
3dfc11533SChris Williamson# Common Development and Distribution License ("CDDL"), version 1.0.
4dfc11533SChris Williamson# You may only use this file in accordance with the terms of version
5dfc11533SChris Williamson# 1.0 of the CDDL.
6dfc11533SChris Williamson#
7dfc11533SChris Williamson# A full copy of the text of the CDDL should have accompanied this
8dfc11533SChris Williamson# source.  A copy of the CDDL is also available via the Internet at
9dfc11533SChris Williamson# http://www.illumos.org/license/CDDL.
10dfc11533SChris Williamson#
11dfc11533SChris Williamson
12dfc11533SChris Williamson#
13dfc11533SChris Williamson# Copyright (c) 2016 by Delphix. All rights reserved.
14*d8f839f9SJason King# Copyright 2020 Joyent, Inc.
15dfc11533SChris Williamson#
16dfc11533SChris Williamson
17dfc11533SChris Williamsoninclude $(SRC)/Makefile.master
18*d8f839f9SJason Kinginclude $(SRC)/cmd/Makefile.cmd
19*d8f839f9SJason Kinginclude $(SRC)/cmd/Makefile.ctf
20dfc11533SChris Williamson
21dfc11533SChris WilliamsonROOTOPTPKG = $(ROOT)/opt/zfs-tests
22dfc11533SChris WilliamsonTESTDIR = $(ROOTOPTPKG)/tests/functional/channel_program/synctask_core
23dfc11533SChris Williamson
24dfc11533SChris WilliamsonKSHFILES :sh= ls *.ksh
25*d8f839f9SJason KingKSHPROGS = $(KSHFILES:.ksh=)
26*d8f839f9SJason King
27*d8f839f9SJason KingSRCS :sh= ls *.c
28*d8f839f9SJason KingCPROGS = $(SRCS:%.c=%.exe)
29*d8f839f9SJason KingLDLIBS = $(LDLIBS.cmd)
30*d8f839f9SJason KingLDLIBS += -lzfs_core -lnvpair
31*d8f839f9SJason KingCSTD = $(CSTD_GNU99)
32*d8f839f9SJason KingOBJS = $(SRCS:%.c=%.o)
33*d8f839f9SJason King
34*d8f839f9SJason KingPROGS = $(KSHPROGS) $(CPROGS)
35dfc11533SChris WilliamsonFILES :sh= ls *.zcp *.out *.err 2>/dev/null; true
36dfc11533SChris Williamson
37dfc11533SChris WilliamsonINSTPROGS = $(PROGS:%=$(TESTDIR)/%)
38dfc11533SChris WilliamsonINSTFILES = $(FILES:%=$(TESTDIR)/%)
39dfc11533SChris Williamson
40dfc11533SChris Williamson$(INSTPROGS) := FILEMODE = 0555
41dfc11533SChris Williamson$(INSTFILES) := FILEMODE = 0444
42dfc11533SChris Williamson
43*d8f839f9SJason Kingall: $(CPROGS)
44*d8f839f9SJason King
45*d8f839f9SJason Kingclean clobber:
46dfc11533SChris Williamson
47dfc11533SChris Williamsoninstall: $(INSTPROGS) $(INSTFILES)
48dfc11533SChris Williamson
49dfc11533SChris Williamson$(INSTPROGS): $(TESTDIR)
50dfc11533SChris Williamson$(INSTFILES): $(TESTDIR)
51dfc11533SChris Williamson
52dfc11533SChris Williamson$(TESTDIR):
53dfc11533SChris Williamson	$(INS.dir)
54dfc11533SChris Williamson
55dfc11533SChris Williamson$(TESTDIR)/%: %.ksh
56dfc11533SChris Williamson	$(INS.rename)
57dfc11533SChris Williamson
58dfc11533SChris Williamson$(TESTDIR)/%: %
59dfc11533SChris Williamson	$(INS.file)
60*d8f839f9SJason King
61*d8f839f9SJason King%.o: ../%.c
62*d8f839f9SJason King	$(COMPILE.c) $<
63*d8f839f9SJason King
64*d8f839f9SJason King%.exe: %.o
65*d8f839f9SJason King	$(LINK.c) $< -o $@ $(LDLIBS)
66*d8f839f9SJason King	$(POST_PROCESS)
67*d8f839f9SJason King
68*d8f839f9SJason Kingclobber: clean
69*d8f839f9SJason King	-$(RM) $(PROGS)
70*d8f839f9SJason King
71*d8f839f9SJason Kingclean:
72*d8f839f9SJason King	-$(RM) $(OBJS)
73