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. 14*8b184c19SRobert Mustacchi# Copyright 2025 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 \ 33*8b184c19SRobert Mustacchi sou \ 34ac2f5fbeSJohn Levon typedef 35ac2f5fbeSJohn Levon 36ac2f5fbeSJohn LevonFILES = \ 37ac2f5fbeSJohn Levon exit-e/err.cmdbadopt.ksh \ 38ac2f5fbeSJohn Levon exit-e/err.enocmd.ksh \ 39ac2f5fbeSJohn Levon exit-e/err.nowrite.ksh \ 40ac2f5fbeSJohn Levon exit-e/err.unmapped.ksh \ 41ac2f5fbeSJohn Levon exit-e/tst.output.ksh \ 42ac2f5fbeSJohn Levon exit-e/tst.output.ksh.out \ 43ac2f5fbeSJohn Levon exit-e/tst.simple.ksh \ 44ac2f5fbeSJohn Levon format/tst.format-cap-E.mdb \ 45ac2f5fbeSJohn Levon format/tst.format-cap-E.mdb.out \ 46ac2f5fbeSJohn Levon format/tst.format-cap-G.mdb \ 47ac2f5fbeSJohn Levon format/tst.format-cap-G.mdb.out \ 48ac2f5fbeSJohn Levon format/tst.format-cap-J.mdb \ 49ac2f5fbeSJohn Levon format/tst.format-cap-J.mdb.out \ 50ac2f5fbeSJohn Levon format/tst.format-cap-P.mdb \ 51ac2f5fbeSJohn Levon format/tst.format-cap-P.mdb.out \ 52ac2f5fbeSJohn Levon format/tst.format-cap-R.mdb \ 53ac2f5fbeSJohn Levon format/tst.format-cap-R.mdb.out \ 54ac2f5fbeSJohn Levon format/tst.format-e.mdb \ 55ac2f5fbeSJohn Levon format/tst.format-e.mdb.out \ 56ac2f5fbeSJohn Levon format/tst.format-g.mdb \ 57ac2f5fbeSJohn Levon format/tst.format-g.mdb.out \ 58ac2f5fbeSJohn Levon format/tst.format-j.mdb \ 59ac2f5fbeSJohn Levon format/tst.format-j.mdb.out \ 60ac2f5fbeSJohn Levon format/tst.format-p.mdb \ 61ac2f5fbeSJohn Levon format/tst.format-p.mdb.out \ 62f32691c9SRobert Mustacchi numbers/tst.badnums.ksh \ 63f32691c9SRobert Mustacchi numbers/tst.base10.mdb \ 64f32691c9SRobert Mustacchi numbers/tst.base10.mdb.out \ 657a58f538SRobert Mustacchi numbers/tst.bitfields.ksh \ 667a58f538SRobert Mustacchi numbers/tst.bitfields.ksh.out \ 67f32691c9SRobert Mustacchi numbers/tst.binary.mdb \ 68f32691c9SRobert Mustacchi numbers/tst.binary.mdb.out \ 69f32691c9SRobert Mustacchi numbers/tst.hex.mdb \ 70f32691c9SRobert Mustacchi numbers/tst.hex.mdb.out \ 71f32691c9SRobert Mustacchi numbers/tst.octal.mdb \ 72f32691c9SRobert Mustacchi numbers/tst.octal.mdb.out \ 73f32691c9SRobert Mustacchi numbers/tst.prefsym.ksh \ 74ac2f5fbeSJohn Levon options/tst.autowrap.mdb \ 75ac2f5fbeSJohn Levon options/tst.autowrap.mdb.out \ 76*8b184c19SRobert Mustacchi sou/tst.anon.ksh \ 77*8b184c19SRobert Mustacchi sou/tst.anon.ksh.out \ 78ac2f5fbeSJohn Levon typedef/err.badid-leadnum.ksh \ 79ac2f5fbeSJohn Levon typedef/err.badid-leadschar.ksh \ 80ac2f5fbeSJohn Levon typedef/err.badmodel.ksh \ 81ac2f5fbeSJohn Levon typedef/err.badstruct-extrabraces.ksh \ 82ac2f5fbeSJohn Levon typedef/err.badstruct-neglenarr.ksh \ 83ac2f5fbeSJohn Levon typedef/err.badstruct-noarrayclose.ksh \ 84ac2f5fbeSJohn Levon typedef/err.badstruct-noarraylen.ksh \ 85ac2f5fbeSJohn Levon typedef/err.badstruct-noarrayopen.ksh \ 86ac2f5fbeSJohn Levon typedef/err.badstruct-nobraces.ksh \ 87ac2f5fbeSJohn Levon typedef/err.badstruct-noclosebrace.ksh \ 88ac2f5fbeSJohn Levon typedef/err.badstruct-nomembers.ksh \ 89ac2f5fbeSJohn Levon typedef/err.badstruct-nomemname.ksh \ 90ac2f5fbeSJohn Levon typedef/err.badstruct-nomemsemi.ksh \ 91ac2f5fbeSJohn Levon typedef/err.badstruct-noopenbrace.ksh \ 92ac2f5fbeSJohn Levon typedef/err.badstruct-noquotes.ksh \ 93ac2f5fbeSJohn Levon typedef/err.badstruct-repmemname.ksh \ 94ac2f5fbeSJohn Levon typedef/err.badstruct-vlaonly.ksh \ 95ac2f5fbeSJohn Levon typedef/err.badstruct-zerolenarr.ksh \ 96ac2f5fbeSJohn Levon typedef/err.badunion-hasvla.ksh \ 97ac2f5fbeSJohn Levon typedef/err.extraargs.ksh \ 98ac2f5fbeSJohn Levon typedef/err.noargs.ksh \ 99ac2f5fbeSJohn Levon typedef/err.nokeyword.ksh \ 100ac2f5fbeSJohn Levon typedef/err.nomodel.ksh \ 101ac2f5fbeSJohn Levon typedef/err.noname.ksh \ 102ac2f5fbeSJohn Levon typedef/err.typeexists.ksh \ 103ac2f5fbeSJohn Levon typedef/tst.anonstruct.mdb \ 104ac2f5fbeSJohn Levon typedef/tst.anonstruct.mdb.out \ 105ac2f5fbeSJohn Levon typedef/tst.anonunion.mdb \ 106ac2f5fbeSJohn Levon typedef/tst.anonunion.mdb.out \ 107ac2f5fbeSJohn Levon typedef/tst.cleanupstruct.ksh \ 108ac2f5fbeSJohn Levon typedef/tst.deftypes32.mdb \ 109ac2f5fbeSJohn Levon typedef/tst.deftypes32.mdb.out \ 110ac2f5fbeSJohn Levon typedef/tst.deftypes64.mdb \ 111ac2f5fbeSJohn Levon typedef/tst.deftypes64.mdb.out \ 112ac2f5fbeSJohn Levon typedef/tst.dellist.mdb \ 113ac2f5fbeSJohn Levon typedef/tst.emptylist.mdb \ 114ac2f5fbeSJohn Levon typedef/tst.libctype.ksh \ 115ac2f5fbeSJohn Levon typedef/tst.libctype.ksh.out \ 116ac2f5fbeSJohn Levon typedef/tst.models.ksh \ 11746f52c84SRobert Mustacchi typedef/tst.radix.mdb \ 11846f52c84SRobert Mustacchi typedef/tst.radix.mdb.out \ 119ac2f5fbeSJohn Levon typedef/tst.struct.mdb \ 120ac2f5fbeSJohn Levon typedef/tst.struct.mdb.out \ 121ac2f5fbeSJohn Levon typedef/tst.structselfref.mdb \ 122ac2f5fbeSJohn Levon typedef/tst.structselfref.mdb.out \ 123ac2f5fbeSJohn Levon typedef/tst.structvla.mdb \ 124ac2f5fbeSJohn Levon typedef/tst.structvla.mdb.out \ 125ac2f5fbeSJohn Levon typedef/tst.union.mdb \ 126ac2f5fbeSJohn Levon typedef/tst.union.mdb.out \ 127ac2f5fbeSJohn Levon 128ac2f5fbeSJohn LevonROOTFILES = $(FILES:%=$(TESTDIR)/%) 129ac2f5fbeSJohn LevonROOTMAKEDIRS = $(MAKEDIRS:%=$(TESTDIR)/%) 130ac2f5fbeSJohn Levon 131ac2f5fbeSJohn LevonFILEMODE = 0444 132ac2f5fbeSJohn Levon 133ac2f5fbeSJohn Levon$(TESTDIR)/mdbtest := FILEMODE = 0555 134ac2f5fbeSJohn Levon 135ac2f5fbeSJohn Levon 136f32691c9SRobert Mustacchiall := TARGET = all 137f32691c9SRobert Mustacchiinstall := TARGET = install 138f32691c9SRobert Mustacchiclean := TARGET = clean 139f32691c9SRobert Mustacchiclobber := TARGET = clobber 140ac2f5fbeSJohn Levon 141f32691c9SRobert Mustacchiall: $(SUBDIRS) 142f32691c9SRobert Mustacchi 143f32691c9SRobert Mustacchiinstall: all $(ROOTFILES) $(ROOTPROG) $(SUBDIRS) 144f32691c9SRobert Mustacchi 145f32691c9SRobert Mustacchiclean clobber: $(SUBDIRS) 146ac2f5fbeSJohn Levon 147ac2f5fbeSJohn Levon$(ROOTFILES): $(TESTDIR) $(ROOTMAKEDIRS) $(FILES) 148ac2f5fbeSJohn Levon 149ac2f5fbeSJohn Levon$(TESTDIR) $(ROOTMAKEDIRS): 150ac2f5fbeSJohn Levon $(INS.dir) 151ac2f5fbeSJohn Levon 152ac2f5fbeSJohn Levon$(TESTDIR)/%: % 153ac2f5fbeSJohn Levon $(INS.file) 154f32691c9SRobert Mustacchi 155f32691c9SRobert Mustacchi$(SUBDIRS): FRC 156f32691c9SRobert Mustacchi cd $@; pwd; $(MAKE) $(TARGET) 157