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.
14dfc11533SChris Williamson#
15dfc11533SChris Williamson
16dfc11533SChris Williamsoninclude $(SRC)/cmd/Makefile.cmd
17dfc11533SChris Williamson
18dfc11533SChris WilliamsonROOTOPTPKG = $(ROOT)/opt/zfs-tests
19dfc11533SChris WilliamsonTESTDIR = $(ROOTOPTPKG)/tests/functional/channel_program/lua_core
20dfc11533SChris Williamson
21dfc11533SChris WilliamsonKSHFILES :sh= ls *.ksh
22dfc11533SChris WilliamsonKSHPROGS = $(KSHFILES:%.ksh=%)
23dfc11533SChris WilliamsonSRCS :sh= ls *.c
24dfc11533SChris WilliamsonCPROGS = $(SRCS:%.c=%.exe)
25dfc11533SChris WilliamsonPROGS = $(KSHPROGS) $(CPROGS)
26dfc11533SChris WilliamsonFILES :sh= ls *.zcp *.out *.err
27dfc11533SChris WilliamsonLDLIBS =	$(LDLIBS.cmd)
28dfc11533SChris WilliamsonLDLIBS += -lzfs_core -lnvpair
29*bd0ce624SYuri PankovCSTD = $(CSTD_GNU99)
30dfc11533SChris Williamson
31dfc11533SChris WilliamsonINSTPROGS = $(PROGS:%=$(TESTDIR)/%)
32dfc11533SChris WilliamsonINSTFILES = $(FILES:%=$(TESTDIR)/%)
33dfc11533SChris Williamson
34dfc11533SChris WilliamsonOBJS = $(SRCS:%.c=%.o)
35dfc11533SChris Williamson
36dfc11533SChris Williamson$(INSTPROGS) := FILEMODE = 0555
37dfc11533SChris Williamson$(INSTFILES) := FILEMODE = 0444
38dfc11533SChris Williamson
39dfc11533SChris Williamsonall lint: $(CPROGS)
40dfc11533SChris Williamson	echo SRCS: $(SRCS)
41dfc11533SChris Williamson	echo PROGS: $(PROGS)
42dfc11533SChris Williamson
43dfc11533SChris Williamsoninstall: $(INSTPROGS) $(INSTFILES)
44dfc11533SChris Williamson
45dfc11533SChris Williamson$(INSTPROGS): $(TESTDIR)
46dfc11533SChris Williamson$(INSTFILES): $(TESTDIR)
47dfc11533SChris Williamson
48dfc11533SChris Williamson$(TESTDIR):
49dfc11533SChris Williamson	$(INS.dir)
50dfc11533SChris Williamson
51dfc11533SChris Williamson$(TESTDIR)/%: %.ksh
52dfc11533SChris Williamson	$(INS.rename)
53dfc11533SChris Williamson
54dfc11533SChris Williamson$(TESTDIR)/%: %
55dfc11533SChris Williamson	$(INS.file)
56dfc11533SChris Williamson
57dfc11533SChris Williamson%.o: ../%.c
58dfc11533SChris Williamson	$(COMPILE.c) $<
59dfc11533SChris Williamson
60dfc11533SChris Williamson%.exe: %.o
61dfc11533SChris Williamson	$(LINK.c) $< -o $@ $(LDLIBS)
62dfc11533SChris Williamson	$(POST_PROCESS)
63dfc11533SChris Williamson
64dfc11533SChris Williamsonclobber: clean
65dfc11533SChris Williamson	-$(RM) $(PROGS)
66dfc11533SChris Williamson
67dfc11533SChris Williamsonclean:
68dfc11533SChris Williamson	-$(RM) $(OBJS)
69