1ac2f5fbeSJohn Levon#
2ac2f5fbeSJohn Levon# This file and its contents are supplied under the terms of the
3ac2f5fbeSJohn Levon# Common Development and Distribution License ("CDDL"), version 1.0.
4ac2f5fbeSJohn Levon# You may only use this file in accordance with the terms of version
5ac2f5fbeSJohn Levon# 1.0 of the CDDL.
6ac2f5fbeSJohn Levon#
7ac2f5fbeSJohn Levon# A full copy of the text of the CDDL should have accompanied this
8ac2f5fbeSJohn Levon# source.  A copy of the CDDL is also available via the Internet at
9ac2f5fbeSJohn Levon# http://www.illumos.org/license/CDDL.
10ac2f5fbeSJohn Levon#
11ac2f5fbeSJohn Levon
12ac2f5fbeSJohn Levon#
13ac2f5fbeSJohn Levon# Copyright 2020 Joyent, Inc.
14f32691c9SRobert Mustacchi# Copyright 2021 Oxide Computer Company
15ac2f5fbeSJohn Levon#
16ac2f5fbeSJohn Levon
17ac2f5fbeSJohn Levoninclude $(SRC)/cmd/Makefile.cmd
18ac2f5fbeSJohn Levoninclude $(SRC)/test/Makefile.com
19ac2f5fbeSJohn Levon
20ac2f5fbeSJohn LevonROOTOPTPKG = $(ROOT)/opt/util-tests
21ac2f5fbeSJohn LevonTESTDIR = $(ROOTOPTPKG)/tests/mdb
22ac2f5fbeSJohn Levon
23f32691c9SRobert MustacchiSUBDIRS = progs
24ac2f5fbeSJohn LevonPROG = mdbtest
25ac2f5fbeSJohn Levon
26ac2f5fbeSJohn LevonROOTPROG = $(PROG:%=$(TESTDIR)/%)
27ac2f5fbeSJohn Levon
28ac2f5fbeSJohn LevonMAKEDIRS = \
29ac2f5fbeSJohn Levon	exit-e \
30ac2f5fbeSJohn Levon	format \
31ac2f5fbeSJohn Levon	options \
32f32691c9SRobert Mustacchi	numbers \
33ac2f5fbeSJohn Levon	typedef
34ac2f5fbeSJohn Levon
35ac2f5fbeSJohn LevonFILES = \
36ac2f5fbeSJohn Levon	exit-e/err.cmdbadopt.ksh \
37ac2f5fbeSJohn Levon	exit-e/err.enocmd.ksh \
38ac2f5fbeSJohn Levon	exit-e/err.nowrite.ksh \
39ac2f5fbeSJohn Levon	exit-e/err.unmapped.ksh \
40ac2f5fbeSJohn Levon	exit-e/tst.output.ksh \
41ac2f5fbeSJohn Levon	exit-e/tst.output.ksh.out \
42ac2f5fbeSJohn Levon	exit-e/tst.simple.ksh \
43ac2f5fbeSJohn Levon	format/tst.format-cap-E.mdb \
44ac2f5fbeSJohn Levon	format/tst.format-cap-E.mdb.out \
45ac2f5fbeSJohn Levon	format/tst.format-cap-G.mdb \
46ac2f5fbeSJohn Levon	format/tst.format-cap-G.mdb.out \
47ac2f5fbeSJohn Levon	format/tst.format-cap-J.mdb \
48ac2f5fbeSJohn Levon	format/tst.format-cap-J.mdb.out \
49ac2f5fbeSJohn Levon	format/tst.format-cap-P.mdb \
50ac2f5fbeSJohn Levon	format/tst.format-cap-P.mdb.out \
51ac2f5fbeSJohn Levon	format/tst.format-cap-R.mdb \
52ac2f5fbeSJohn Levon	format/tst.format-cap-R.mdb.out \
53ac2f5fbeSJohn Levon	format/tst.format-e.mdb \
54ac2f5fbeSJohn Levon	format/tst.format-e.mdb.out \
55ac2f5fbeSJohn Levon	format/tst.format-g.mdb \
56ac2f5fbeSJohn Levon	format/tst.format-g.mdb.out \
57ac2f5fbeSJohn Levon	format/tst.format-j.mdb \
58ac2f5fbeSJohn Levon	format/tst.format-j.mdb.out \
59ac2f5fbeSJohn Levon	format/tst.format-p.mdb \
60ac2f5fbeSJohn Levon	format/tst.format-p.mdb.out \
61f32691c9SRobert Mustacchi	numbers/tst.badnums.ksh \
62f32691c9SRobert Mustacchi	numbers/tst.base10.mdb \
63f32691c9SRobert Mustacchi	numbers/tst.base10.mdb.out \
647a58f538SRobert Mustacchi	numbers/tst.bitfields.ksh \
657a58f538SRobert Mustacchi	numbers/tst.bitfields.ksh.out \
66f32691c9SRobert Mustacchi	numbers/tst.binary.mdb \
67f32691c9SRobert Mustacchi	numbers/tst.binary.mdb.out \
68f32691c9SRobert Mustacchi	numbers/tst.hex.mdb \
69f32691c9SRobert Mustacchi	numbers/tst.hex.mdb.out \
70f32691c9SRobert Mustacchi	numbers/tst.octal.mdb \
71f32691c9SRobert Mustacchi	numbers/tst.octal.mdb.out \
72f32691c9SRobert Mustacchi	numbers/tst.prefsym.ksh \
73ac2f5fbeSJohn Levon	options/tst.autowrap.mdb \
74ac2f5fbeSJohn Levon	options/tst.autowrap.mdb.out \
75ac2f5fbeSJohn Levon	typedef/err.badid-leadnum.ksh \
76ac2f5fbeSJohn Levon	typedef/err.badid-leadschar.ksh \
77ac2f5fbeSJohn Levon	typedef/err.badmodel.ksh \
78ac2f5fbeSJohn Levon	typedef/err.badstruct-extrabraces.ksh \
79ac2f5fbeSJohn Levon	typedef/err.badstruct-neglenarr.ksh \
80ac2f5fbeSJohn Levon	typedef/err.badstruct-noarrayclose.ksh \
81ac2f5fbeSJohn Levon	typedef/err.badstruct-noarraylen.ksh \
82ac2f5fbeSJohn Levon	typedef/err.badstruct-noarrayopen.ksh \
83ac2f5fbeSJohn Levon	typedef/err.badstruct-nobraces.ksh \
84ac2f5fbeSJohn Levon	typedef/err.badstruct-noclosebrace.ksh \
85ac2f5fbeSJohn Levon	typedef/err.badstruct-nomembers.ksh \
86ac2f5fbeSJohn Levon	typedef/err.badstruct-nomemname.ksh \
87ac2f5fbeSJohn Levon	typedef/err.badstruct-nomemsemi.ksh \
88ac2f5fbeSJohn Levon	typedef/err.badstruct-noopenbrace.ksh \
89ac2f5fbeSJohn Levon	typedef/err.badstruct-noquotes.ksh \
90ac2f5fbeSJohn Levon	typedef/err.badstruct-repmemname.ksh \
91ac2f5fbeSJohn Levon	typedef/err.badstruct-vlaonly.ksh \
92ac2f5fbeSJohn Levon	typedef/err.badstruct-zerolenarr.ksh \
93ac2f5fbeSJohn Levon	typedef/err.badunion-hasvla.ksh \
94ac2f5fbeSJohn Levon	typedef/err.extraargs.ksh \
95ac2f5fbeSJohn Levon	typedef/err.noargs.ksh \
96ac2f5fbeSJohn Levon	typedef/err.nokeyword.ksh \
97ac2f5fbeSJohn Levon	typedef/err.nomodel.ksh \
98ac2f5fbeSJohn Levon	typedef/err.noname.ksh \
99ac2f5fbeSJohn Levon	typedef/err.typeexists.ksh \
100ac2f5fbeSJohn Levon	typedef/tst.anonstruct.mdb \
101ac2f5fbeSJohn Levon	typedef/tst.anonstruct.mdb.out \
102ac2f5fbeSJohn Levon	typedef/tst.anonunion.mdb \
103ac2f5fbeSJohn Levon	typedef/tst.anonunion.mdb.out \
104ac2f5fbeSJohn Levon	typedef/tst.cleanupstruct.ksh \
105ac2f5fbeSJohn Levon	typedef/tst.deftypes32.mdb \
106ac2f5fbeSJohn Levon	typedef/tst.deftypes32.mdb.out \
107ac2f5fbeSJohn Levon	typedef/tst.deftypes64.mdb \
108ac2f5fbeSJohn Levon	typedef/tst.deftypes64.mdb.out \
109ac2f5fbeSJohn Levon	typedef/tst.dellist.mdb \
110ac2f5fbeSJohn Levon	typedef/tst.emptylist.mdb \
111ac2f5fbeSJohn Levon	typedef/tst.libctype.ksh \
112ac2f5fbeSJohn Levon	typedef/tst.libctype.ksh.out \
113ac2f5fbeSJohn Levon	typedef/tst.models.ksh \
114*46f52c84SRobert Mustacchi	typedef/tst.radix.mdb \
115*46f52c84SRobert Mustacchi	typedef/tst.radix.mdb.out \
116ac2f5fbeSJohn Levon	typedef/tst.struct.mdb \
117ac2f5fbeSJohn Levon	typedef/tst.struct.mdb.out \
118ac2f5fbeSJohn Levon	typedef/tst.structselfref.mdb \
119ac2f5fbeSJohn Levon	typedef/tst.structselfref.mdb.out \
120ac2f5fbeSJohn Levon	typedef/tst.structvla.mdb \
121ac2f5fbeSJohn Levon	typedef/tst.structvla.mdb.out \
122ac2f5fbeSJohn Levon	typedef/tst.union.mdb \
123ac2f5fbeSJohn Levon	typedef/tst.union.mdb.out \
124ac2f5fbeSJohn Levon
125ac2f5fbeSJohn LevonROOTFILES = $(FILES:%=$(TESTDIR)/%)
126ac2f5fbeSJohn LevonROOTMAKEDIRS = $(MAKEDIRS:%=$(TESTDIR)/%)
127ac2f5fbeSJohn Levon
128ac2f5fbeSJohn LevonFILEMODE = 0444
129ac2f5fbeSJohn Levon
130ac2f5fbeSJohn Levon$(TESTDIR)/mdbtest := FILEMODE = 0555
131ac2f5fbeSJohn Levon
132ac2f5fbeSJohn Levon
133f32691c9SRobert Mustacchiall     :=      TARGET = all
134f32691c9SRobert Mustacchiinstall :=      TARGET = install
135f32691c9SRobert Mustacchiclean   :=      TARGET = clean
136f32691c9SRobert Mustacchiclobber :=      TARGET = clobber
137ac2f5fbeSJohn Levon
138f32691c9SRobert Mustacchiall: $(SUBDIRS)
139f32691c9SRobert Mustacchi
140f32691c9SRobert Mustacchiinstall: all $(ROOTFILES) $(ROOTPROG) $(SUBDIRS)
141f32691c9SRobert Mustacchi
142f32691c9SRobert Mustacchiclean clobber: $(SUBDIRS)
143ac2f5fbeSJohn Levon
144ac2f5fbeSJohn Levon$(ROOTFILES): $(TESTDIR) $(ROOTMAKEDIRS) $(FILES)
145ac2f5fbeSJohn Levon
146ac2f5fbeSJohn Levon$(TESTDIR) $(ROOTMAKEDIRS):
147ac2f5fbeSJohn Levon	$(INS.dir)
148ac2f5fbeSJohn Levon
149ac2f5fbeSJohn Levon$(TESTDIR)/%: %
150ac2f5fbeSJohn Levon	$(INS.file)
151f32691c9SRobert Mustacchi
152f32691c9SRobert Mustacchi$(SUBDIRS): FRC
153f32691c9SRobert Mustacchi	cd $@; pwd; $(MAKE) $(TARGET)
154