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