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